LINUX.ORG.RU
ФорумTalks

[фракталы][черепашья графика] помогите разобраться


0

2

Задали задание: нарисовать фрактал салфетка Серпинського. Ф-лы:

aksiom = FXF--FF--FF
F -> FF
X -> --FXF++FXF++FXF--
alfa=60
Для тех кто не знает: «F» - передвинутся вперед, «+» - повернуть вправо на кут alfa,, "-" - повернуть влево на кут alfa. Но я не совсем разобрался, что значит «X». Если я правильно понял, если бы Х не было, рисовать можно было так:
//F= F-F++F-F
//aksiom: F
double hag;
double alfa;
void draw(double x0,double y0,int iter,double hag)
{
if (iter!=0)
 {
  //пройти вперед на расстояние hag, x1,y1 - новые координаты
  draw(x1,y1,iter-1,hag/2.)
  //повернуть на угол -60, пройти вперед, x2,y2 - координаты.
  ....
 }
else//aksiom
 {
  //пройти вперед на расстояние hag, x1,y1 - координаты точки
  линия(x0,y0,x1,y1);
 }
Вопрос: как будет выглядеть алгоритм с параметром X?

★★★★

В гугол загляни. ага. Там этих салфеток... как туалетной бумаги в ленте.

vada ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.