شهدنا أول برنامج يسمى “DrawWorld” قدمنا برمجة جافا الرسومات الموجهة. دعونا تغيير هذا البرنامج الأساسية لتوليد كسورية العودية الأساسية: ال Sierpinski مثلث.
(شاهد وتوليد كسورية العودية)
بل هو كسورية التي يتم بناؤها بشكل متكرر من مثلث الذين مقسوما منتصفه الجانبين. مع هذه النقاط الجديدة, والسابقة, هي التي شيدت مثلثات جديدة على غرار السابقة.
إذا بدأنا من ABC مثلث والحصول على نقاط المنتصف من الجانبين (MNP), والمستوى التالي من العودية بناء مثلثات ثلاثة أدناه: APN, PBM المجلس الوطني للإعلام.
El triángulo de Sierpinski tiene una البعد كسورية من هاوسدورف-Besicovitch coincidente con su dimensión fractal de homotecia igual a: 1,58496… (ال)
إذا وتنقسم كل من هذه المثلثات الجديدة إلى ثلاثة, وسوف يكون الحصول على الرقم الجديد بشكل متكرر. سيكون لدينا مستوى جديد من العودية يمكننا التحكم باستخدام متغير (nivel_de_recursividad) من برنامجنا.
حددنا وظيفة “paintRecursivo” (دعوت من أسلوب “طلاء”) وعند هذه النقطة نحن قاعدة المثلث, والعودية. وظيفة يحسب رؤوس المثلث, يرسم الشكل وتطلق على نفسها ثلاث مرات, واحد لكل من subtriangles.
في كل استدعاء الدالة يقلل من قيمة العودية, بحيث عندما يكون الصفر التشطيبات تحمل العودية.
استيراد java.applet.Applet; استيراد java.awt.Graphics; /** * @ الكاتب خوسيه خوان ألياجا */ جمهور فئة MainApp يمتد الصغير { مضاعفة XP1 = 300; مضاعفة yp1 = 300; مضاعفة XP2 = 10; مضاعفة yp2 = 300; مضاعفة sin60 = الرياضيات. خطيئة(3.14/3.); الباحث nivel_de_recursividad = 6; جمهور MainApp() { } جمهور ساكن باطلة رئيسي(سلسلة[] وسائط) { } باطل العامة طلاء(الرسومات ز){ paintRecursivo(ز,nivel_de_recursividad,XP1، yp1، XP2، yp2); } الفراغ خاصة paintRecursivo(الرسومات ز, الباحث أنا, مضاعفة xp12, مضاعفة yp12, مضاعفة xp22, مضاعفة yp22 ) { مضاعفة DX =(xp22-xp12)/2.; مضاعفة اثنين =(yp22-yp12)/2.; مضاعفة XP32 xp12 DX = 2 * قيمة * sin60; مضاعفة yp32=yp12 dy 2*dx*sin60; مضاعفة DX1 =(xp22 xp12)/2.; مضاعفة DY1 =(yp22 yp12)/2.; مضاعفة DX2 =(XP32 xp22)/2.; مضاعفة DY2 =(yp32 yp22)/2.; مضاعفة DX3 =(xp12 XP32)/2.; مضاعفة Dy3 =(yp12 yp32)/2.; إذا(أنا<= 0){ g.drawLine((الباحث)xp12,(الباحث)yp12,(الباحث)xp22,(الباحث)yp22); g.drawLine((الباحث)xp22,(الباحث)yp22,(الباحث)XP32,(الباحث)yp32); g.drawLine((الباحث)XP32,(الباحث)yp32,(الباحث)xp12,(الباحث)yp12); } آخر{ paintRecursivo(ز,I-1، xp12، yp12، DX1، DY1); paintRecursivo(ز,I-1، DX1، DY1، xp22، yp22); paintRecursivo(ز,I-1، DX3، dy3، DX2، DY2); } } }
يجب أن يكون متصل لإضافة تعليق.