إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

رسم دائرة برمجيا

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • رسم دائرة برمجيا

    بسم الله الرحمن الرحيم
    السلام عليكم ورحمة الله وبركاته

    بدون مقدمات ... تريد رسم دائرة رياضيا مستغلا فيها معلوماتك
    الرياضية لنحاول معا
    ======================================
    افتح صفحة جديدة ... في هذا الكود تم افتراض قطر يساوي 8 cm
    والمكان المخصص للرسم هو منتصف الصفحة
    بمعنى المتغيرات المهمة في الكود فقط في هذا السطر
    كود PHP:
    xyrad v.Height/2v.Width/28*(100/6.3
    حيث x و y متعلقان بإحداثيات مكان رسم الدائرة
    القيمة rad المتوافقة مع 8*(100/6.3)
    رقم 8 فقط المعني بالتغيير و هو القطر الذي نريد
    من خلاله رسم الدائرة
    و ما كتب بعدها مقارنة يدوية بين مقاسات صفحة الاوتوبلاي
    و المسطرة --------
    بعد التطبيق بمكنك التأكد من المقاسات يدويا
    على صفحة الاوتوبلاي بمسطرة عادية أي الرسم واقعي
    ========================================

    الكـــــو د

    كود PHP:
    Window.GetSize(Application.GetWndHandle());
    tblLabelProps = {};
    tblLabelProps.Text ".";
    tblLabelProps.FontName "Arial";
    tblLabelProps.FontSize 20;
    tblLabelProps.FontWeight FW_BOLD;
    xyrad v.Height/2v.Width/28*(100/6.3)
    for 
    1360 do
    bel math.pi 180
    X
    rad math.cosbel ), +rad math.sinbel )
    tblLabelProps.X;
    tblLabelProps.Y;
    Page.CreateObject(OBJECT_LABEL"NewObject"..itblLabelProps);
    end 
    ================================================== =======

    كود مسح الدائرة المرسومــــة
    كود PHP:
    for 1,360 do
    Page.DeleteObject("NewObject"..i);
    end 
    المحاولة كالعادة لا تتطلب منك ردودا موفق

  • #2
    بسم الله الرحمن الرحيم
    ما شاء الله تبارك الرحمن
    ابدع وتميز وعطاء
    لاحدد له استاذي الفاضل
    ابوبلقيس

    بارك الله فيك وزادك علم على علم

    تم التطبيق والملف المفتوح في المرفقات

    من الواضح ان الكود يقوم برسم الدائر بوضع عدد من النقاط في مسافة ثابتة عن نقطة ثابتة هي مركز الصفحة
    موفق بإذن الله ... لك مني أجمل تحية .
    الملفات المرفقة

    تعليق


    • #3
      مرور طيب اخي ياسر بارك الله فيك على الملف المفتوح
      سعدت بوصول المعلومة لك شكرا

      تعليق


      • #4
        المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
        بسم الله الرحمن الرحيم
        السلام عليكم ورحمة الله وبركاته
        المحاولة كالعادة لا تتطلب منك ردودا موفق
        فكرة جميلة جدا و روعة ...........

        بناءا عليه يمكن اضافة خاصية تحديد القطر و لون خط الدائرة .............

        هذا مثال تطبيقي لكود الاستاذ مع اضافة خاصية اللون

        http://up.top4top.net/downloadf-top4...dcae1-rar.html


        فيه افكار اخرى تطبيقية لهذا الكود الرائع ..........ان شاء الله نعمل عليها

        تعليق


        • #5
          المشاركة الأصلية بواسطة ياسرهتهت مشاهدة المشاركة
          بسم الله الرحمن الرحيم
          ما شاء الله تبارك الرحمن
          ابدع وتميز وعطاء
          لاحدد له استاذي الفاضل
          ابوبلقيس

          بارك الله فيك وزادك علم على علم

          تم التطبيق والملف المفتوح في المرفقات

          من الواضح ان الكود يقوم برسم الدائر بوضع عدد من النقاط في مسافة ثابتة عن نقطة ثابتة هي مركز الصفحة
          موفق بإذن الله ... لك مني أجمل تحية .

          شكرا استاذ ياسر على الملف شكرا جزيلا

          تعليق


          • #6
            متوقع منك ملف مميز أخي المحترف لترسيخ ما نصل إليه .. بارك الله فيك
            شكرا جزيـــــلا
            جيد لو تكون الفكرة البسيطة إنطلاقة لأعمال مميزة لذلك قد
            تراودك أفكار مشابهة تعنى بالتطبيقات الهندسية و تزويد المتعلمين ببرمجيات تعليمية موفق

            تعليق


            • #7
              الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين

              مبدع دوما يا أستاذ

              جزاكم الله خيرا ونفع بكم

              تعليق


              • #8
                المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                متوقع منك ملف مميز أخي المحترف لترسيخ ما نصل إليه .. بارك الله فيك
                شكرا جزيـــــلا
                جيد لو تكون الفكرة البسيطة إنطلاقة لأعمال مميزة لذلك قد
                تراودك أفكار مشابهة تعنى بالتطبيقات الهندسية و تزويد المتعلمين ببرمجيات تعليمية موفق

                شكرا استاذ و منكم نتعلم

                هذه فكرة تحتاج الى تعديل

                -------------------- رسم مربع برمجيا -----------------

                ضع انبوت input1 خاص بطول ضلع المربع
                ------- يفضل ان تعطيه قيمة اكبر من 50 حتى يظهر -----

                ضع انبوت اخر input2 خاص بمواقع المربع في الصفحة
                --------- اجعلها 50 او اكثر حتى كون في منتصف الصفحة --------

                ضع في زر هذا الكود

                كود PHP:
                qtr String.ToNumber(Input.GetText("Input1")); ---------- طول الضلع
                -----------------------------------
                pos String.ToNumber(Input.GetText("Input2"));--------مكان المربع في الصفحة
                -----------------------------------
                for 
                1qtr+pos do ------------- مسح المربع السابق
                Page
                .DeleteObject("NewObject"..i);
                Page.DeleteObject("NewObjec"..i);
                Page.DeleteObject("NewObje"..i);
                Page.DeleteObject("NewObj"..i);
                end  
                -------------------------------------انشاء نقطة---------------------
                Window.GetSize(Application.GetWndHandle());
                tblLabelProps = {};
                tblLabelProps.Text ".";
                tblLabelProps.FontName "Arial";
                tblLabelProps.FontSize 20;
                tblLabelProps.FontWeight FW_BOLD;
                -----------
                الضلع العلوي-------
                for 
                posqtr+pos do
                i
                pos
                tblLabelProps
                .X;
                tblLabelProps.Y;
                Page.CreateObject(OBJECT_LABEL"NewObject"..itblLabelProps);
                end  
                ------------الضلع الايمن-------
                for 
                posqtr+pos do
                pos+qtr
                p
                tblLabelProps
                .X;
                tblLabelProps.Y;
                Page.CreateObject(OBJECT_LABEL"NewObjec"..ptblLabelProps);
                end  
                ----------الضلع السفلي---------
                for 
                qtr+pospos, -do
                t
                pos qtr
                tblLabelProps
                .X;
                tblLabelProps.Y;
                Page.CreateObject(OBJECT_LABEL"NewObje"..ttblLabelProps);
                end  
                -----------الضلع الايسر----------
                for 
                qtr+pospos, -do
                pos
                r
                tblLabelProps
                .X;
                tblLabelProps.Y;
                Page.CreateObject(OBJECT_LABEL"NewObj"..rtblLabelProps);
                end  
                ------------------------------ 

                بالتوفيق

                تعليق


                • #9
                  لرسم مثلث قائم برمجيا

                  دائما ضع 2 من الانبوت الاول لطول ضلع المثلث و الثاني لمكانه في الصفحة
                  في زر ارزع هذا الكود :

                  كود PHP:
                  String.ToNumber(Input.GetText("Input1")); ---------- Øæá ÇáÖáÚ
                  -----------------------------------
                  String.ToNumber(Input.GetText("Input2"));--------ãßÇä ÇáãÑÈÚ Ýí ÇáÕÝÍÉ

                  q+p
                  -----------------------------------
                  for 
                  1do ------------- ãÓÍ ÇáãÑÈÚ ÇáÓÇÈÞ
                  Page.DeleteObject("NewObject"..i);
                  Page.DeleteObject("NewObjec"..i);
                  Page.DeleteObject("NewObje"..i);
                  Page.DeleteObject("NewObj"..i);
                  end  
                  -------------------------------------ÇäÔÇÁ äÞØÉ---------------------
                  Window.GetSize(Application.GetWndHandle());
                  tblLabelProps = {};
                  tblLabelProps.Text ".";
                  tblLabelProps.FontName "Arial";
                  tblLabelProps.FontSize 20;
                  tblLabelProps.FontWeight FW_BOLD;
                  -------&
                  #199;áÖáÚ ÇáÇæá-------
                  for pdo
                  i
                  i
                  tblLabelProps
                  .X;
                  tblLabelProps.Y;
                  Page.CreateObject(OBJECT_LABEL"NewObject"..itblLabelProps);
                  end  
                  --------ÇáËÇäí-------
                  for s, -do
                  n
                  p
                  tblLabelProps
                  .X;
                  tblLabelProps.Y;
                  Page.CreateObject(OBJECT_LABEL"NewObjec"..ntblLabelProps);
                  end  
                  ---------ÇáËÇáË---------
                  for sp, -do
                  s
                  t
                  tblLabelProps
                  .X;
                  tblLabelProps.Y;
                  Page.CreateObject(OBJECT_LABEL"NewObje"..ttblLabelProps);
                  end  
                  ------------------------------ 
                  بالتوفيق ------

                  تعليق


                  • #10
                    بسم الله الرحمن الرحيم
                    عمل رائع اخي المحترف
                    بارك الله فيك

                    اريد خط مستقيم بين نقطتان معلومة الاحدثيات

                    موفق بإذن الله ... لك مني أجمل تحية .

                    تعليق


                    • #11
                      المشاركة الأصلية بواسطة ياسرهتهت مشاهدة المشاركة
                      بسم الله الرحمن الرحيم
                      عمل رائع اخي المحترف
                      بارك الله فيك

                      اريد خط مستقيم بين نقطتان معلومة الاحدثيات

                      موفق بإذن الله ... لك مني أجمل تحية .

                      اجابة على السريع ........... في كود المربع ..........
                      اختر فقط الضلع العلوي فهو يفي بالغرض باعتبار نقطة البداية هي الموقع و طول المستقيم هو الاحداثية الثانية .........
                      مدام لم يتغير احداثيات y فهو سهل

                      اذا اردته مائل خذ كود الضلع الاول من كود المثلث القائم ............

                      اذا اردت قوس فقط فخذ كود الدائرة و انقص عدد 360 الى 150 مثلا اي دائرة غير مكتملة

                      طبعا يمكن الدمج بينها من اجل كود مثلا الامواج في البحر ......
                      او نافذة بها مثلثات ..........
                      او لرسم منزل بسيط جدا بمدفئة ........
                      او سيارة بعجلات ..........الخ
                      ----------
                      من اجل التمرين : كود يرسم لنا هذا الشكل


                      تعليق


                      • #12
                        المشاركة الأصلية بواسطة ياسرهتهت مشاهدة المشاركة
                        بسم الله الرحمن الرحيم
                        اريد خط مستقيم بين نقطتان معلومة الاحدثيات
                        سأبحث لك من داخل الجهاز لدي ملفات متعلقة بهذا الشأن

                        برجاء ما المقصود باحداثبات معلومة هل تقصد نقطتين أو عنصرين على صفحة المشروع

                        أم الاحداثبات هي معطيات فقط

                        تعليق


                        • #13
                          المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                          سأبحث لك من داخل الجهاز لدي ملفات متعلقة بهذا الشأن

                          برجاء ما المقصود باحداثبات معلومة هل تقصد نقطتين أو عنصرين على صفحة المشروع

                          أم الاحداثبات هي معطيات فقط
                          --------------------------------------------------------------
                          اقصد عنصرين

                          تعليق


                          • #14
                            السلام عليكم ورحمة الله وبركاته
                            سأعدل لك على احدى الملفات

                            في global functions اكتب
                            كود PHP:
                            function DrawL2R(fX,fY,tX,tY
                            mX tX fX
                            mY tY fY;
                            if 
                            mY mX then base mY else base mX end 
                            lblDefault 
                            Label.GetProperties("lblGraph1")
                            wX=fXwY=fY
                            while wX tX do
                            wX wX + (mX base)
                            wY wY + (mY base)
                            Page.CreateObject(OBJECT_LABEL"lblGraph"..xlblDefault)
                            Label.SetPos("lblGraph"..xwXwY);
                            Label.SetVisible("lblGraph"..xtrue);
                            x=x+1;
                            end
                            end 
                            ==============================================
                            ضع في النجميعية عنصري Label كلا منهما مكتوب فيه نقطة
                            ==============================================

                            كود الرسم
                            كود PHP:
                            props Label.GetProperties("lblGraph1")
                            props.ColorNormal Math.HexColorToNumber("0000FF")
                            Label.SetProperties("lblGraph1"props)
                            belkiss Label.GetPos("Label1");
                            belkiss2 Label.GetPos("Label2");
                            DrawL2R(belkiss.X,belkiss.Y,belkiss2.X,belkiss2.Y
                            موفق

                            ملاحظة وضع كل عنصر على المحاور

                            لا يهم تواجد من حيث المكان فقط الانتباه لوضع الانبوت الأول

                            تعليق


                            • #15
                              طبعا الاكواد لن تعمل ........ لأنه ببساطة نسيت جملة لم أكتبها طبعا ليست كود بل جملة
                              -----------------------------------------
                              اكتشفها و موفق

                              تعليق

                              مواضيع تهمك

                              تقليص

                              المنتدى: القسم العام نشرت بواسطة: Reem2Rabeh الوقت: 04-23-2025 الساعة 04:27 PM
                              المنتدى: ضبط وتوكيد الجودة نشرت بواسطة: HeaD Master الوقت: 04-15-2025 الساعة 09:30 AM
                              المنتدى: التصنيع والانتاج نشرت بواسطة: HeaD Master الوقت: 04-11-2025 الساعة 01:08 PM
                              المنتدى: القسم العام نشرت بواسطة: نوال الخطيب الوقت: 03-19-2025 الساعة 03:07 AM
                              المنتدى: الكمبيوتر والإنترنت نشرت بواسطة: عوض السوداني الوقت: 03-18-2025 الساعة 07:22 AM
                              يعمل...
                              X