Войти
ПрограммированиеФорумГрафика

Как перевести 3 мерные координаты в пиксели на экране?

Страницы: 1 2 3 Следующая »
#0
23:12, 19 окт. 2009

Задача такова, надо построить 3-мерное изображение в турбо паскале(!!!мазохист, не так ли?!!!) раскажите, как переводить координаты? world, view, projection? а как они строятся?


#1
23:20, 19 окт. 2009

Ты хочешь, чтобы в одном посте тебе изложили весь курс аналитической геометрии?

#2
23:21, 19 окт. 2009

нет, мне требуется объяснение(ссылка?) по построению всеголишь 3 матриц. Или если есть более разумный способ, что бы ткнули носом в него

#3
23:24, 19 окт. 2009

TormozzZ
> world, view, projection
да, именно в такой последовательности трансформируешь 4-х мерный вектор (x, y, z, 1), потом полученный результат делишь на его w. Получишь оконные координаты в пределах [-1, 1]. Рстается только сделать 0.5+0.5*(x, y, z) и умножить на размеры экрана

правка: ищи glLookat source, glPerspective source

#4
23:27, 19 окт. 2009

можно немного подробнее?

#5
23:29, 19 окт. 2009

именно построение матрицы? её содержимое

#6
23:34, 19 окт. 2009

Projection matrix: http://tinyurl.com/yzxbf29
View matrix: http://tinyurl.com/yzvkkuw

А вообще google for it or GTFO.

#7
23:41, 19 окт. 2009

Вот здесь посмотри: http://algolist.manual.ru/graphics/3dfaq/articles/25.php

#8
23:43, 19 окт. 2009

TormozzZ
> нет, мне требуется объяснение(ссылка?) по построению всеголишь 3 матриц. Или
> если есть более разумный способ, что бы ткнули носом в него
Это примерно то же самое, что утверждать, что из всей таблицы умножения тебе понадобится только 5х6=30.
Про векторы и матрицы нужно знать ВСЕ, иначе при первой же ошибке ты не сможешь понять откуда она возникает и снова будешь задавать здесь глупые вопросы.

#9
23:47, 19 окт. 2009

не подскажете, что за функция
yScale = cot(fovY/2)

#10
23:49, 19 окт. 2009

andriano
а что мне требуется? правильно построить матрицы, правильно на них умножить, правильно использовать полученные координаты. не так ли? может есть статья по переводу 2д в 3д? гугл мне ничего не дал

#11
23:49, 19 окт. 2009

ctg, очевидно же.

#12
23:49, 19 окт. 2009

Во-во, andriano был прав.

Это котангенс. cot(x) возвращает угол, котангенс которого равен x. Котангенс - косинус деленный на синус, синус...

#13
23:50, 19 окт. 2009

alexcg
> ctg, очевидно же.
вообще супер очевидно - cot это ctg :)))

#14
23:52, 19 окт. 2009

TormozzZ
> может есть статья по переводу 2д в 3д? гугл мне ничего не дал
не верю

Страницы: 1 2 3 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.