НГУ

Форумы НГУ
Текущее время: Вс сен 24, 2017 10:17 am

Часовой пояс: UTC + 7 часов




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: Пт фев 16, 2007 6:17 am 
Не в сети
Редкий гость

Зарегистрирован: Вт апр 18, 2006 11:49 pm
Сообщения: 5
Здорова всем! У меня тут задачка есть сложноватая для меня.
Не поможите ли сделать? Очень нужно до 17 числа.
Короче, надо нарисовать в Си ++ дерево Пифагора. Своего рода фрактал.
Самый простой способ, как считает наш учитель с помощью матрицы вращения.
Cos(a) sin(a) 0
T= -sin(a) cos(a) 0
-x0*(cos(a)-1)+ -x0*sin(a)- 1
y0*sin(a) -y0*(cos(a)-1)



x1 y1 1 x11 y11 1
x2 y2 1 * T = x22 y22 1
x3 y3 1 x33 y33 1
x4 y4 1 x44 y44 1

Тоесть, как я понял, идет перемножение двух матриц.
a[0][0]=cos(w);
a[0][1]=sin(w);
a[0][2]=0;
a[1][0]=-sin(w);
a[1][1]=cos(w);
a[1][2]=0;
a[2][0]=-x0*cos(w-1)+y0*sin(w);
a[2][1]=-x0*sin(w)-y0*(cos(w)-1);
a[2][2]=1;

b[0][0]=x1;
b[0][1]=y1;
b[0][2]=1;
b[1][0]=x2;
b[1][1]=y2;
b[1][2]=1;
b[2][0]=x3;
b[2][1]=y3;
b[2][2]=1;
b[3][0]=x4;
b[3][1]=y4;
b[3][2]=1;

c[0][0]=x11;
c[0][1]=y11;
c[0][2]=1;
c[1][0]=x22;
c[1][1]=y22;
c[1][2]=1;
c[2][0]=x33;
c[2][1]=y33;
c[2][2]=1;
c[3][0]=x44;
c[3][1]=y44;
c[3][2]=1;
Далее по идее идет формула: c[i][j]=c[i][j]+a[i][j]+b[p][j]
Только как ее со всем связать? Как высчитать эту матрицу? Как ее вбить в программу? Я не знаю.
По идее в дереве Пифагора идет рекурсия. Значит надо задать цикл. if(!N) return;
N вбить в функцию построения. Как все


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 7 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB