42, - 0.17, - 1.3) direction (0,0,1) vertical (0,1,0) fov (50); color (1,1,0,3) position (1, 1, - 3); color (1,1,0,1) position (3, - 1, - 1); (1,1,1,0.05);:=scale (sqrt (1/2) );:=translate (1,0,0) rotate (- 135) f0;:=rotate (- 45) f0; F=(f1 + f2) F;//Dimension of boundary=1.5236270862f1 * F; (2 , 1,0); f2 * F; (0,1,0);
Сніжинка Коха:
position (0,0, - 2.3745022657807842) direction (0,0,1) vertical (0,1,0) fov (50); color (1,1,1,2) position ( 1, 1, - 3) shadows (0); color (1,1,1,4) position (3, - 1, - 1) shadows (0); (1,1,1, .05); (0 , 1,1,0);=1/sqrt (3);:=translate (1/2, s/2,0) * rotate (- 150);:=translate (1,0,0) * rotate (150);:=translate (- 1/2, 1/s/2,0) * rotate (- 30);:=translate (- 1/2, - 1/s/2, 0) * rotate (90);:=translate (1,0,0) * rotate (- 150); Curve=(f1 + f2) scale (s) Curve; Snowflake=(f3 + f4 + f5) scale (1/s) Curve; color (0,1,1);
//build (1 + s * rotate (30)) * Snowflake; S=s * rotate (30) * (Snowflake + S); color (0,1,0);
Треунольнік Серпінського:
//Sierpinsky's triangleposition (0,0.24, - 1.6) direction (0,0,1) vertical (0,1,0) fov (50); color (2,2,0) position (1,1, - 3); color (4,4,0) position (3, - 1, - 1); (1,1,1,0.05); (0,1,1,0.3);=sqrt (2)/3;=sqrt (6)/3;:=translate (0,2 * a, 0) scale (0.5) translate (0, - 2 * a, 0);:=translate (b, -a , 0) scale (0.5) translate (-b, a, 0);:=translate (-b, -a, 0) scale (0.5) translate (b, a, 0); F=(f1 + f2 + f3 ) F;
Губка Менгера:
position (- 1.6, - 1.6, - 1.6) direction (1,1,1) vertical (0,1,0) fov (50); color (0,1,1, .35 ) direction (1, 1,1); (1,1,1, .05); (0,1,1,0.0); (1,1,1,0);:=translate; Sponge=scale (1/3) * ((- 2, - 2, - 2) + T (0, - 2, - 2) + T (2, - 2, - 2) + (- 2, 0, - 2) + T ( 2, 0, - 2) + (- 2, 2, - 2) + T (0, 2, - 2) + T (2, 2, - 2) + (- 2, - 2, 0) + T ( 2, - 2, 0) + (- 2, 2, 0) + T (2, 2, 0) + (- 2, - 2, 2) + T (0, - 2, 2) + T (2,- 2, 2) + (- 2, 0, 2) + T (2, 0, 2) + (- 2, 2, 2) + T (0, 2, 2) + T (2, 2, 2)
) * Sponge;
ДОДАТОК 10
Побудова L-фрактала можливо за алгоритмом побудови безлічі Жюліа, це безліч породжує свій фрактал виходячи з відомих початкових значень. Для опису безлічі потрібно задати значення C, комплексного числа (у формі a + (b * i)). Початкове значення Z також відповідає комплексному числу. Дійсна частина даного числа відповідає координаті x, а уявна координаті y. Щоб намалювати фрактал, потрібно послідовно застосувати рівняння z '=? Z (1-z) для кожного із значень Z з ряду (0, ..., n).
Для даної задачі? візьмемо рівне 0.85 + 0.6i, щоб відображення фрактала було більш щільним.
# include lt; conio.h gt;
# include lt; graphics.h gt;
# include lt; math.h gt;
# include lt; complex.h gt; main () {gd=DETECT, gm; mx, my; l, z; it=35, max=100; k; ( amp; gd, amp ; gm, );// Підключення графіки=getmaxx ()/2;// Масштаб
my=getmaxy ()/2; (int x=-mx; x lt;=mx; x ++) {// визначення комплексних? і z
for (int y=-my; y lt;=my; y ++) {= complex (x * 0.01, y * 0.01);=complex (0.85, 0.6) ;;=0; ( (k lt; it) amp; amp; (abs (z) lt; max)) {// реалізація формули=l * z * (1-z); ++;
} (k lt; it) putpixel (mx + x, my + y, k% 16);// Промальовування
}
} (); () ;;
}