Алгоритмы трехмерной графики
От: shulik  
Дата: 13.05.06 07:52
Оценка:
Доброго времени суток!
Замучил гугл, так ничего толкового и не нашел вот по какой теме:
Есть набор треугольников в координатах вершин. Есть камера, направление зрения и направление вверх.
Не могу никак найти нормально описанный алгоритм преобразования мировых координат в экранные.
Буду очень благодарен за любые ссылки и ответы — очень срочно нужно реализовать перспективное проецирование в задданых условиях с z-буфером...

Заранее спасибо за ответы
Re: Алгоритмы трехмерной графики
От: Nazik Россия  
Дата: 13.05.06 18:13
Оценка:
http://www.steps3d.narod.ru/

Смотри код движка, который называется типа "движок к книге".

Здравствуйте, shulik, Вы писали:

S>Доброго времени суток!

S>Замучил гугл, так ничего толкового и не нашел вот по какой теме:
S>Есть набор треугольников в координатах вершин. Есть камера, направление зрения и направление вверх.
S>Не могу никак найти нормально описанный алгоритм преобразования мировых координат в экранные.
S>Буду очень благодарен за любые ссылки и ответы — очень срочно нужно реализовать перспективное проецирование в задданых условиях с z-буфером...

S>Заранее спасибо за ответы
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Алгоритмы трехмерной графики
От: Didro Россия home~pages
Дата: 13.05.06 21:28
Оценка:
большинство материала(статей) к сожалению привязано к конкретной реализации:
преобразование мировых координат в экранные с помощью DirectX:
http://pmg.org.ru/rm/pick.htm

есть парочка книг по алгоритмам трёхмерной графики и компьютерной графики(если нужно — пишите — вышлю)
Re: Алгоритмы трехмерной графики
От: A.R. Россия  
Дата: 18.05.06 00:55
Оценка:
S>Замучил гугл, так ничего толкового и не нашел вот по какой теме:
S>Есть набор треугольников в координатах вершин. Есть камера, направление зрения и направление вверх.
S>Не могу никак найти нормально описанный алгоритм преобразования мировых координат в экранные.
S>Буду очень благодарен за любые ссылки и ответы — очень срочно нужно реализовать перспективное проецирование в задданых условиях с z-буфером... :(

Если без камеры, то:

мировые {x,y,z}

экранные относительно центра экрана

x = x/(z+object_z_distance);
y = y/(z+object_z_distance);

полностью экранные

x += screen_width/2;
y += screen_height/2;

Если с камерой, то координаты нужно сначала повернуть на матрицу камеры.
более подробно можно найти по camera transform, camera transformation, camera matrix

p.s.
во времена software 3d engines этого материриала были тонны

почитай demo.design 3D programming FAQ (www.enlight.ru)
— по-моему у Аксенова примеры кода прямо и используют камеру + Z-buffer.

Потом просто поищи 3D Faq,
сходи в groups.google.com почитай comp.graphics.algorithms Frequently Asked Questions,
поищи по словам 3d tutorial, zed 3d, perspective projection — тебе отвалятся тонны ссылок

p.p.s.
есть книг(и) Шикина и Борескова — там код аналогично использует zbuffer + transformations.
Re[2]: Алгоритмы трехмерной графики
От: shulik  
Дата: 18.05.06 12:42
Оценка:
Спасибо всем за ответы!
Ко всему прочему еще прочел FAQ на helloworld.ru — теперь вроде бы все прояснилось
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.