Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2009, 22:51   #1
bum90
 
Регистрация: 21.04.2009
Сообщений: 7
По умолчанию вращение треугольника в С++

Друзья!всем привет!!!подскажите как вращать треугольник по часовой стрелке!!может кто сможет написать!!!спасибо!!!
bum90 вне форума Ответить с цитированием
Старый 27.04.2009, 23:10   #2
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

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

если считать что (x0,y0) - коордианты точки, вокруг которой вращается треугольник, а (x1,y1),(x2,y2),(x3,y3) - координаты вершин, то новые значения координат (после поворота). вычисляются так:
x1'=Rcos(a) + x0;
y1'=Rsin(a)+y0;
где a- угол поворота, R - расстояние от вершины до оси вращения. (находится как корень из суммы квадратов координат (чтонее не координат, а разности координат вершины и оси вращения)). т.е. R=sqrt((x1-x0)^2+(y1-y0)^2);
(^2 - так иногда возведение в степень обозначают (в данном случае в квадрат) в С++ нет такого знака (назание функции не помню).)

По аналогии находим новые коордианты для остальных вершин.

В случае с треугольником в трехмерном просторанстве чуть-чуть побольше считать придется.

P.S.
Я мог в формуле синус с косинусом перепутать.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 28.04.2009, 15:23   #3
bum90
 
Регистрация: 21.04.2009
Сообщений: 7
По умолчанию

Цитата:
Сообщение от ROD Посмотреть сообщение
все что нужно, это треугольник (точнее координаты его вершин), коордианты точки, вокруг которой он вращается и угол, на который его надо повернуть. (в двухмерном варинте все очень просто).

если считать что (x0,y0) - коордианты точки, вокруг которой вращается треугольник, а (x1,y1),(x2,y2),(x3,y3) - координаты вершин, то новые значения координат (после поворота). вычисляются так:
x1'=Rcos(a) + x0;
y1'=Rsin(a)+y0;
где a- угол поворота, R - расстояние от вершины до оси вращения. (находится как корень из суммы квадратов координат (чтонее не координат, а разности координат вершины и оси вращения)). т.е. R=sqrt((x1-x0)^2+(y1-y0)^2);
(^2 - так иногда возведение в степень обозначают (в данном случае в квадрат) в С++ нет такого знака (назание функции не помню).)

По аналогии находим новые коордианты для остальных вершин.

В случае с треугольником в трехмерном просторанстве чуть-чуть побольше считать придется.

P.S.
Я мог в формуле синус с косинусом перепутать.
большое спасибо!!!выругил!!!
bum90 вне форума Ответить с цитированием
Старый 28.04.2009, 15:28   #4
bum90
 
Регистрация: 21.04.2009
Сообщений: 7
По умолчанию

друзья!!!а кто нибудь мог,листинг выложить!!!этой проги!!!спасибо!!!если у кого есть!!
bum90 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вращение в DirectX Pedro Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 31.03.2009 21:37
Паскаль, вращение треугольника. Arizonec Помощь студентам 4 03.01.2009 18:52
Вращение элипса lacost Мультимедиа в Delphi 3 19.12.2008 13:41
Вращение изображения beginner JavaScript, Ajax 5 07.07.2008 23:44
Вращение креста Roberto Помощь студентам 5 03.05.2008 14:07