PIZiadas גרף

PIZiadas גרף

העולם שלי הוא פנימה.

פרקטלים רקורסיבית: Curva דה קוך [JAVA]

curva-de-koch-triangulo-completo-150ראינו תכנית ראשונה שנקראה “DrawWorld” מציג לנו את גרפיקת תכנות מונחה JAVA. מודול תכנות זה עזר לנו לראות ראשון פרקטל רקורסיבית: המשולש Sierpisnki.

בואו לשנות את התכנית בסיסית זו כדי ליצור פרקטל רקורסיבית בסיסי חדש: La Curva דה Kuch.

(לראות כפרקטל רקורסיבית נוצר)

זה פרקטל כי הוא בנוי באופן רקורסיבי מקו ישר. הצדדים שלה מתחלקים לשלושה חלקים שווים והקטע המרכזי הוא שונה על ידי יצירת שתי שווה 60 מעלות לאמור לעיל, וכל.

La Curva דה קוך, הידוע גם בפתית שלג הוא פרקטל שניתן להשיג על ידי נהלים שונים כידועים IFS o פונקציות מערכות איטרטיבית (דטרמיניסטי ב), מערכות מבוססות כללים, וכו '.

El אלגוריתם רקורסיבית יש הכח גם מייצג תפיסה קשורה באופן הדוק עם פרקטלים: אין סוף. המהות של רקורסיה מאפשרת לתאר בצורה פשוטה מאוד של העקום עצמו. יקום שמכיל עוד וזה בתורו להעתיק את הדפוס בקנה מידה קטן יותר (כך contractive) ברצף שחוזר על עצמו עד אין קץ.

עקומת קוך שייכת לקבוצה של פרקטל העצמי דומה[1], להיות שיטת קבלת הדטרמיניסטית.

curva-de-koch-0

יוזם

curva-de-koch-1

איטרציה ראשונה

ממד Fractal

La ממד של אובייקט הוא מושג טופולוגי שמציב או מסווג אובייקטים מדד חניה. הרעיון האינטואיטיבי של חללים עם כל ממדים מתנגש עם ממדי פרקטל שנקרא, לוקח ערכים בפועל.

La זונת פיאנו הוא מסוגל למלא את המטוס מעוגל. לאחר כך שני ממדים?, אחד פלאות.

הממד של פרקטל מזוהה עם החספוס, הפיצול, מזה, כך שמתנה גדולה יותר מחוספס או משונן. בכל מקרה המאפיין אותו נותן מידע על מורכבותו.

יש עקומת קוך יחס s = 1/3, עם n = 4, לכן הממד שלה הוא פרקטל:

D = ln4/ln3 ~ 1.269

אם כל אחד מהתחומים החדשים הללו מתחלקים שוב באופן רקורסיבי עקומת הוך מתקבלת

curva-de-koch-2

הפרמטרים Curva קוך n = 2

.

curva de koch para n=3

סעיף Curva דה קוך n = 3

curva de koch para n=4

סעיף Curva דה קוך n = 4

אם אנו משתמשים בשלושה קווים, במקום יוזם, צורת פתית שלג קלאסית משולש שווה צלעות מופיעה, שם שידוע לתצורה זו של פרקטל.

curva-de-koch-triangulo

Curva דה קוך : פתית שלג

אלגוריתם מחולל

הגדיר פונקציה “paintRecursivo” (זה נקרא מהשיטה “לצבוע”) אני ביליתי את הנקודות של הקו או קווים משולש, ורקורסיה. הפונקציה מחשבת את הקודקודים של הקטעים החדשים, ציור הדמות וקורא לעצמו שוב הפחתת רקורסיה.

כך, כל ערך רקורסיה קריאה לפונקציה מצטמצם, כך שכאשר הוא אפס רקורסיה מסיימת ביצוע.

יבוא 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() { }

 ציבורי סטטי חלל ראשי(חוט[] ארגומנטים) { }

 חלל ציבורי לצבוע(גרפיקה גרם){
   paintRecursivo(סול,nivel_de_recursividad,XP1, yp1, XP2, yp2);
 }

 חלל פרטי paintRecursivo(גרפיקה גרם, int אני, כפול xp12, כפול yp12, כפול xp22, כפול yp22 ) {
 כפול DX =(xp22-xp12)/3.;
 כפול שני =(yp22-yp12)/3.;
 כפול xx = xp12  3 * dx/2.-dy * sin60;
 כפול yy = yp12  3 * dy / 2.   DX * sin60;
 אם(אני<= 0){
      g.drawLine((int)xp12,(int)yp12,(int)xp22,(int)yp22);
 }
 אחר{
     paintRecursivo(סול,i-1, xp12, yp12, xp12   DX,yp12   dy);
     paintRecursivo(סול,i-1, xp12   DX,yp12   dy,xx,YY);
     paintRecursivo(סול,i-1, xx,YY,xp22-DX,yp22-dy);
     paintRecursivo(סול,i-1, xp22-DX,yp22-dy,xp22, yp22);
 }
} }
JAVA

JAVA Curso