Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Графика, звук, видео
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Элена
13 / 9 / 0
Регистрация: 30.10.2010
Сообщений: 124
1

3D вращения

01.04.2012, 17:10. Просмотров 1632. Ответов 2
Метки нет (Все метки)

Уважаемые специалисты в области компьютерной графики. Прошу помочь устранить ошибку в коде.
Есть у меня такое задание: В декартовой системе координат организовать вращение трехмерной фигуры вокруг оси X, Y, и Z. Для расчета координат вращения использовать матричный метод.
У меня фигура вращается не вокруг оси координат, а рядом с ней, вокруг самой себя. Возможно ли такое исправить согласно заданию?
0
Вложения
Тип файла: rar Вращение параллелепипеда.rar (222.1 Кб, 152 просмотров)
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2012, 17:10
Ответы с готовыми решениями:

Анимация вращения
Здравствуйте. Мне нужно срочно написать игру "Бутылочка". Пытался сделать анимацию вращения бутылки...

Имитация анимационной сцены с телами вращения
Разработать программу, имитирующую анимационную сцену с телами вращения. Вид проецирования:...

Сделать анимацию вращения Земли вокруг Солнца одновременно с анимацией вращения Луны вокруг Земли
помогите сделать анимацию вращения земли вокруг солнца одновременно с анимацией вращения луны...

Тело вращения
День добрый. Имееться форма, в которую передается массив точек в 2Д системе. Я его заношу в массив....

Анимация вращения
Здравствуйте! Есть объект - прямоугольник: <Canvas> <Rectangle Width="100" Height="100"...

2
aaleksander
111 / 85 / 21
Регистрация: 06.06.2011
Сообщений: 398
Записей в блоге: 1
Завершенные тесты: 1
02.04.2012, 10:32 2
Лучший ответ Сообщение было отмечено Элена как решение

Решение

1. У тебя кнопки Х и У перепутаны ;-)
2. Если хочешь, чтобы вращалось вокруг оси с учетом смещения, надо сначало делать перенос, а потом вращать, у тебя наоборот.
3. И чтобы этот код заработал окончательно правильно, надо задать координаты фигуры (переменная figure) относительно центра вращения САМОЙ фигуры. Сейчас она у тебя, как я понял, задана относительно центра координат.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure TForm1.Button1Click(Sender: TObject);
begin
  combineTransform(Tr2, RotX, M);    //ïåðåГ*îñ Г*Г* ïîâîðîò ГЇГ® X
  combineTransform(M, Tr1, M);      // Г*Г*õîäèì Г¬Г*òðèöó 3D ïðåîáðГ*çîâГ*Г*ГЁГї
  ris();
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  combineTransform(Tr2, RotY, M);    //ïåðåГ*îñ Г*Г* ïîâîðîò ГЇГ® Y
  combineTransform(M, Tr1, M);      // Г*Г*õîäèì Г¬Г*òðèöó 3D ïðåîáðГ*çîâГ*Г*ГЁГї
  ris();
end;
 
procedure TForm1.Button3Click(Sender: TObject);
begin
  combineTransform(Tr2, RotZ, M);    //ïåðåГ*îñ Г*Г* ïîâîðîò ГЇГ® Z
  combineTransform(M, Tr1, M);      // Г*Г*õîäèì Г¬Г*òðèöó 3D ïðåîáðГ*çîâГ*Г*ГЁГї
  ris();
end;
1
Элена
13 / 9 / 0
Регистрация: 30.10.2010
Сообщений: 124
02.04.2012, 14:10  [ТС] 3
Уау! Спасибо! Работает! Буду разбираться с вращение вокруг осей.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2012, 14:10

Поверхности вращения
У меня два вопроса. Помогите, пожалуйста. 1. Как называется поверхность, которая задана...

Повторение вращения
https://jsfiddle.net/aLntdf9w/1/ При наведении элементы вращаются, и доводят вращение до конца. Но...

Тело вращения
Как для фигуры, изображенной на рисунке построить тело вращения вокруг оси Ох?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru