PIZiadas گرافک

PIZiadas گرافک

میری دنیا اندر ہے.

پنراورتی Fractals: Sierpinski مثلث [جاوا]

triangulo_sierpinskiہم نامی ایک سب سے پہلے پروگرام دیکھا ہے “DrawWorld” ہم جاوا پروگرامنگ مبنی گرافکس متعارف. ایک بنیادی پنراورتی fractal پیدا کرنے کے لئے یہ بنیادی پروگرام تبدیل چلو: El Sierpinski مثلث.

(ملاحظہ کریں اور ایک پنراورتی fractal پیدا)

یہ جن کے اطراف اس کی midpoint کی طرف سے تقسیم کیا گیا ہے ایک مثلث سے تکراری طور پر بنایا گیا ہے کہ ایک fractal ہے. ان نئے پوائنٹس کے ساتھ, اور پچھلے, نئے ترکون گزشتہ کے لئے اسی طرح تعمیر کر رہے ہیں.

ہم نے ایک مثلث اے بی سی سے شروع اور اس کے اطراف کے midpoints ملتی ہے تو (MNP), تکرار کی اگلی سطح پر تین مثلث کے نیچے تعمیر کریں گے: APN, NMC PBM.

El triángulo de Sierpinski tiene una Hausdorff-Besicovitch کے fractal طول و عرض coincidente con su dimensión fractal de homotecia igual a: 1,58496… (W)

ان نئے ترکون میں سے ہر تین میں تقسیم کر رہے ہیں تو, ہم تکراری طور پر ایک نئے اعداد و شمار ہو رہی کریں گے. ہم ایک متغیر کا استعمال کرتے ہوئے کنٹرول کر سکتے ہیں تکرار کی ایک نئی سطح پر پڑے گا (nivel_de_recursividad) ہمارے پروگرام کی.

ہم نے ایک تقریب میں وضاحت کی گئی ہے “paintRecursivo” (میں طریقہ کار کی طرف سے کہا جاتا ہے “پینٹ”) جس نقطہ ہم مثلث بیس پر, اور تکرار. تقریب مثلث کی vertices کا حساب لگاتا ہے, اعداد و شمار پینٹ اور خود تین بار بلاتا ہے, subtriangles میں سے ہر ایک کے لئے ایک.

تقریب میں ہر کال میں تکرار کی قیمت کم کر دیتا ہے, یہ ہے جب صفر فارغ تکرار لے تا کہ.

درآمد java.applet.Applet;
درآمد java.awt.Graphics;
/**
* @ مصنف ہوزے جوآن Aliaga
*/
عوامی کلاس MainApp توسیع اپلیٹ {
 دوگنا xp1 = 300;
 دوگنا yp1 = 300;
 دوگنا xp2 = 10;
 دوگنا yp2 = 300;
 دوگنا sin60 = Math.sin(3.14/3.);
 INT nivel_de_recursividad = 6;

 عوامی MainApp() { }

 عوامی جامد خالی اہم(سلک[] args) { }

 عوامی صفر پینٹ(گرافکس G){
   paintRecursivo(G,nivel_de_recursividad,xp1، yp1، xp2، yp2);
 }

 ذاتی صفر paintRecursivo(گرافکس G, INT میں, دوگنا 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((INT)xp12,(INT)yp12,(INT)xp22,(INT)yp22);
   g.drawLine((INT)xp22,(INT)yp22,(INT)xp32,(INT)yp32);
   g.drawLine((INT)xp32,(INT)yp32,(INT)xp12,(INT)yp12);
  }
  ورنہ{
   paintRecursivo(G,I-1، xp12، yp12، dx1، dy1);
   paintRecursivo(G,I-1، dx1، dy1، xp22، yp22);
   paintRecursivo(G,I-1، dx3، dy3، dx2، dy2);
  }

 }
}
JAVA

کورس جاوا