Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.02.2008, 19:15
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Восклицание Помогите с матрицей

Напишите пожалуйста примеры работы с матрицей, а то я вообще даже не знаю с чего начать, а это очень нужно более-менее узнать до завтра.
Вот что известно:
Код:
Ясно, что если нам потребуется (а нам потребуется :) ) проводить для каждой точки в пространстве параллельный перенос + поворот в пространстве, то придется сделать огромное количество преобразований. 
Можно построить матрицы преобразований, помножив точку - вектор на которую, мы получим результат — координаты искомой точки. 

матрица параллельного переноса: 
  [ 1  0  0  0 ]

  [ 0  1  0  0 ]

  [ 0  0  1  0 ]

  [ x  y  z  1 ]

матрица растяжения/сжатия: 
  [ z  0  0  0 ]

  [ 0  y  0  0 ]

  [ 0  0  x  0 ]

  [ 0  0  0  1 ]

матрица поворота вокруг оси x: 
  [ 1    0      0    0 ]

  [ 0  cos α  sin α  0 ]

  [ 0 -sin α  cos α  0 ]

  [ 0    0      0    1 ]

матрица поворота вокруг оси y: 
  [ cos α  0 -sin α  0 ]

  [   0    1    0    0 ]

  [ sin α  0  cos α  0 ]

  [   0    0    0    1 ]

матрица поворота вокруг оси z: 
  [ cos α  sin α  0  0 ]

  [-sin α  cos α  0  0 ]

  [   0      0    1  0 ]

  [   0      0    0  1 ]

Теперь, зачем нужны матрицы в 3D-програмировании, если можно все сделать с помощью векторов, и если, например, поворот точки с помощью векторов занимает меньше операций, чем используя матрицы.
Напишите пожалуйста примеры хоть с некоторыми из данных. Желательно, если можете на GLScene и как можно проще. Пожалуйста напишите пример как можно проще, очень нужно, срочно
__________________
Если Вы находите ошибки, исправить которые дело долгое и нудное, ничего не делайте - просто внесите их в список особенностей
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:13.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter