![]() |
|
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]()
|
|
| PRF |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 13.10.2007 Репутация: нет Всего: нет |
Здравствуйте, конечно вопрос наверно не по теме, но к графике он относиться и надо это тоже знать, а я вот не знаю!))
Вопрос: Есть точки (или точка, разницы нет) в трехмерном пространстве(в частности перспективной проекции), как эти точки привести к экранным координатам.? заранее спасибо. |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 1 Всего: 160 |
В OpenGL это делается с помощью gluProject. Я сейчас как раз ковыряю OpenGL + Qt. Вот в старых сорцах своих нашёл:
Передаём точку в пространстве - получаем точку в оконной системе координат. Необходимо знать матрицы модельно-вилового и проекционного преобразований. Что-то на ум не приходит где бы про это почитать. Может Френсис Хилл, OpenGL. Программирование компьютерной графики... -------------------- |
|||
|
||||
| PRF |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 13.10.2007 Репутация: нет Всего: нет |
не надо мне opengl и directx , этими средствами я и так знаю как сделать, есть какие то формулы для этого дела..
Добавлено через 2 минуты и 47 секунд Ну. матрицы я как бы сделал для перспективного преобразования.. точки в перспективной проекции я получил, а теперь их надо преобразовать в экранные.. так как ну может не совпадать. ... есть какие то простые формулы.. типо соотношение ширины и высоты экрана, но я точно не знаю |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 5 Всего: 459 |
Просто убрать z координату и проверить на попадание точки в прямоугольник экрана. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]()
|
| Вы можете найти полезным что... | |
|
|
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |