Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: projection and view matrix  (Прочитано 20554 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Mayor
Специалист

ru
Offline Offline

« : 27-07-2009 13:53 » 

projection and view matrix

где можно почитать про трансформацию 3д координат моделей в экранные координаты?

какую роль при этом играют projection and view matrix?


с view matrix разобрался, почитав msdn - оказалось очень просто, берутся координаты мира, берется матрица транслирующая систему координат в точку камеры, затем умножается на матрицу поворота вокруг осей и все координаты привязаные к основанию мира оказываются привязанными к основанию координат камеры ( те координаты камеры становятся = 0,0,0 вместо 100,100,100, предмета перед ней 99,101,100 и т.п. )

с projection ничего не понял, какой-то хитрый алгоритм перевода 3д вершин в 2д, ни как работает, ни куда что перемещает непонятно
« Последнее редактирование: 03-08-2009 15:11 от Sel » Записан

1n c0de we trust
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 28-07-2009 15:58 » 

матрица проекции задаёт способ проекции - угол обзора, расстояние от камеры до плоскости проекции, дальность "видения" камеры
Записан

Mayor
Специалист

ru
Offline Offline

« Ответ #2 : 01-08-2009 04:21 » 

матрица проекции задаёт способ проекции - угол обзора, расстояние от камеры до плоскости проекции, дальность "видения" камеры

матрица это просто массив 4*4 циферок, куда там писать углы обзора растояние до камеры и дальности видения?
и почему у тебя сложилось впечатление, что клипирование дальних планов осуществляется матрицей?

пока единственное как я научился использовать эти матрицы: если в обе из них заложить единички по диагонали, то можно из 3д перети в 2д ( ну там насоздавать всяких менюшек, рамок и тп )
Записан

1n c0de we trust
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 01-08-2009 04:51 » 

Это не у меня такое впечатление сложилось, это они для этого используются. Если бы ты применял на практике или книги читал, у тебя такое же впечатление было )))
Записан

Mayor
Специалист

ru
Offline Offline

« Ответ #4 : 02-08-2009 08:28 » 

или книги читал

какие например?
Записан

1n c0de we trust
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #5 : 02-08-2009 09:14 » 

например
Цитата
DirectX® 9 Graphics: The Definitive Guide to Direct3D®
Alan Thorn
Wordware Publishing, Inc.
Записан

zuze
Опытный

ru
Offline Offline
Пол: Мужской
Россия, Москва


« Ответ #6 : 02-08-2009 23:26 » 

Так как тут встал вопрос о матрицах вида и проекции у меня тоже возник вопрос.

Может кто-нибудь написать общий вид матриц вида и проекции?

В книгах и интернете, есть только общий вид матриц перемещения, поворота и масштабирования.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #7 : 03-08-2009 03:25 » 

я тоже не нашёл прям детальное содержание, а Торн пишет вот шо
Цитата
View Matrix

the view matrix exclusively controls where your camera
is situated in 3D space. This means when Direct3D presents a
scene to the window it does so from the vantage point of your camera.
This opens up all kinds of possibilities. For example, if you
animate your view matrix over time you can create a first-person
camera that moves around a 3D world.

A view matrix can be built manually, or you can use one of
Direct3D’s provided functions. Specifically, you can use
D3DXMatrixLookAtLH. This function builds a view matrix
according to three arguments: the position of your camera, the
point at which it’s looking, and which way is up.

Цитата
Projection Matrix

The projection matrix tells Direct3D how to project your 3D world,
as seen from your camera, onto the flat 2D surface of your application’s
window. In other words, it makes sure you get to see your 3D
world properly, with objects closer to the camera looking bigger
than objects farther away. Mathematically, it’s the most complicated
matrix to compute. Don’t worry if you don’t understand the mathematics
behind it; Direct3D provides a function to do all that hard
work for you. This function is called D3DXMatrixPerspective-
FovLH, and it builds a projection matrix according to some
arguments you provide. Its syntax and parameters follow.
Записан

Mayor
Специалист

ru
Offline Offline

« Ответ #8 : 03-08-2009 11:41 » 

Может кто-нибудь написать общий вид матриц вида и проекции?

матрица вида достаточно понятна описана в msdn directX, и если опустить возможность вращения кватернионами, то проще всего ее представить как матрицу транслирующую координаты так, что камера оказывается в точке 0.0.0, с последующим умножением  матрицей разворота координат на угол межу осью координат идущей в глубину и направлением камеры

а насчет проекции еще ничего понятного не нашел, каким-то шаманством переводит 3д координаты в 2д
Записан

1n c0de we trust
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines