Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> opengl. по 2-м координатам узнать 3-ю 
:(
    Опции темы
GolIy
Дата 26.8.2010, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



привет.
opengl 3d. строю различные объекты с помощью функции glVertex3d. Для задания объекта я задаю координаты вершин, и объект строится связывая все заданные вершины. Вопрос такой - есть ли возможность узнать z-координату объекта зная x,y ? т.е. координаты вершин то я знаю, я же их задал для посторения, но мне нужно теперь узнать z координату например в центре, если смотреть сверху. Понятно что объекты могут быть разные, и одна часть может сверху налаживатся другой, тем самым для одних x, y может быть несколько z. но я строю объекты такие что у мя всегда для одних x,y будет только одна z координата. вот только как её узнать..
PM MAIL   Вверх
Rickert
Дата 26.8.2010, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Не понял сути проблемы. У вас есть список x,y,z координат вершин: в чём проблема пройти по ним и найти необходимую?


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Amp
Дата 27.8.2010, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 886
Регистрация: 17.2.2009

Репутация: 2
Всего: 17



Цитата(Rickert @  26.8.2010,  18:53 Найти цитируемый пост)
Не понял сути проблемы. У вас есть список x,y,z координат вершин: в чём проблема пройти по ним и найти необходимую? 

Ему нужно узнать z координату любой точки полигона, построенного по заданным вершинами.

Вариант в лоб - связка gluUnProject и glReadPixels с параметром GL_DEPTH_COMPONENT.
Другой вариант - строить пересечение прямой, проходящей через {x, y}, с плоскостями (или еще чем-то, что может быть описано формулами) из которых состоит геометрия. Способ относительно прост, когда геометрия примитивна и ее мало. В противном случае выбрать подходящие под данные нужды фреймворки или физ. движки.
PM MAIL   Вверх
HackOn
  Дата 27.8.2010, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 13.9.2009
Где: Aqtau

Репутация: нет
Всего: нет



Пересчитывать z координату по несколько раз в секунду не есть хорошо для производительности. 
Если Вам нужно часто узнавать z координату объекта, и вы ей никак не оперируете, то лучше просто "запомнить" ее или записывать в массив. Но для более-менее больших проектов, это, конечно же, не вариант.
У меня был случай, в программе я смотрел на 3D карту сверху, но чуть под наклоном. Искажение было невелико и я вообще не использовал Z координату, только x и y. Например, при выборе объектов. Работало.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0547 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.