интеpесная задачка + pазмышления

From
Dmitriy Shevnin (2:5056/16.40)
To
Graf Alex
Date
2002-11-11T20:54:59Z
Area
RU.ALGORITHMS
Буду краток:

08 ноября 2002 01:25, Graf Alex писал All:

GA> Беpем тpеyгольник. Делим каждyю стоpонy pовно пополам и пеpедвигаем
GA> точкy (сеpединy стоpоны) в пpоизвольнyю стоpонy на пpоизвольное
GA>     *            *
GA>    / \          / \
GA>   /   \    =>  *---*
GA>  /     \      / \ / \
GA> *-------*    *---*---*
GA> В общем y кого какие мысли на этот счет?

Задачка примитивная, если ее реализовать через рекурсию. И собственно каких-то структур данных вводить не требуется.
вот тебе кусок примерчика не пасе:
------------------------[ линия отреза ]-------------------------
procedure tri(x,y,dx,dy:integer);{вывод треугольника}
  begin
    y:=300-y;
    x:=x+100;
    dy:=-dy;
    moveto(x,y);
    linerel(dx,dy);
    linerel(dx,-dy);
    linerel(-2*dx,0);
  end;
procedure triangle(i,x,y,dx,dy:integer);
  begin
    if i<=0 then exit;
    dec(i);
    tri(x+dx div 2,y+dy div 2,dx div 2,-dy div 2);
    triangle(i,x,y,dx div 2,dy div 2);
    triangle(i,x+dx,y,dx div 2,dy div 2);
    triangle(i,x+dx div 2,y+dy div 2,dx div 2,dy div 2);
  end;
begin
  ... {нужен стандартный графический режим 640х480}
  tri(10,10,200,200);
  triangle(5,10,10,200,200);
  ...
end.
------------------------[ линия отреза ]-------------------------

GA> ЗЫ Я этy задачкy вспомнил потомy как мне мyчает вопpос: А что бyдет
GA> если задачy пpедставлять не в плоскости, а в пpостpанстве. Гpyбо

если тебе нужно будет получить только картинку по начальным условиям, то особых проблем я не вижу, другое дело, если тебе нужно все это вращать, бесконечно приближать и все такое, то это на порядок сложнее.

Жду ваших отзывов и предложений!

... Мой любимый зоопарк
--- @>->---- _diamond@kirov.virtualave.net_ *={======-
 * Origin: (c) Dim Studio (2:5056/16.40)