Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Получение матрицы для дерева Пифагора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Есть вопрос по сетевому программированию http://www.cyberforum.ru/cpp-beginners/thread1296.html
Пишу прогу для поиска файлов в сети по заданной маске. Можно ли использовать процедуры FindFirstFile, FindNextFile в асинхронном режиме? Или какими другими их можно заменить?
C++ Как узнать, что делается с файлами? Как узнать какие файлы сейчас использует операционная система Windows, в частности: читает, пишет, используются, перемещается, копируется, удаляется. Путь тотального анализа диска не подойдет. ... http://www.cyberforum.ru/cpp-beginners/thread1291.html
Надо сделать несколько курсоров мыши на экране C++
Подскажите, возможно ли реализовать такую задачу: Нужно сделать одновременно несколько курсоров мыши на экране. Расположены они к примеру на определённом расстоянии друг от друга и при движении...
Помогите с преобразованием строк C++
Помогите плиз. м.б. кто-нибудь знает функцию для преобразования AnsiString в char*
C++ Доделать программу http://www.cyberforum.ru/cpp-beginners/thread1184.html
Помогите плиз, доделать прогу. Ввести массив нецелых чисел. Те из них, которые положительны, копировать в другой массив. Затем отсортировать оба массива: один по возрастанию, другой по убыванию....
C++ Ошибки в программе Уважаемые, помогите найти ошибки в программе (задачка из института): Ниже приведен алгоритм «атомарной» функции, которая меняет местами верхние значения в двух стеках. Если один из стеков пуст, то... подробнее

Показать сообщение отдельно
Subzik
0 / 0 / 0
Регистрация: 16.02.2007
Сообщений: 4

Получение матрицы для дерева Пифагора - C++

16.02.2007, 05:03. Просмотров 2092. Ответов 7
Метки (Все метки)

Дерево Пифагора – такая вещь, когда все начинается с квадрата, который на одной из сторон имеет равнобедренный прямоугольный треугольник. Катеты этих треугольников равны и являются сторонами новых квадратов. И так фигурка разрастается.

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 вбить в функцию построения. Как все это скомпоновать ума не хватает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru