вопрос про реализацию 3D

tel7432545

В чем можно реализовать довольно сложные (много точек сетки) 3D слоистые геологические структуры почвы с возможностью покрутить/приблизить/разрезать/отобразить сетку
Предполагается испрользование Delphi (легко пишется интерфейс) и OpenGL (для 3D)
Насколько сложен объем работ и обоснован ли выбор.
В целях реализации в минимальные сроки (недели 2) не лучше ли использовать какой нибудь компонент (например, 3DRay, слышал, но ничего про него не знаю).

AlexV769

MATLab G.U.I.D.E.

SCIF32

не помню что из них что, но
grapher,
surpher
не катят?

tel7432545

не, прикладные программы не катят
Нужно сделать 3D гляделку, проще говоря, свою, отделавшись "малой кровью"

yolki

Сколько узлов/элементов в сцене?
Насколько нужна динамичность/цветность?
на узлах ~4000, ~10k элементов самый простой и тупой способ - прямое рисование с Z-буфером.
Небыстро, 60fps не получишь, но наглядную картинку - очень даже. покрутить/повертеть - нормально.
вот тупой рисовальщик на канвасе TImage, без всяких OpenGL:

Без извратов с освещённостью и т.п. - просто рисование треугольников.
можно крутить по всем направлениям, "подлететь к поверхности с низу" или "взглянуть с другой стороны" - без проблем.
эта сцена содержит 3800 узлов, 6400 элементов (треугольников). отрисовывает примерно на 10fps.

SCIF32

в принципе да.
но имхо с нуля писать такую прогу сложнее, чем при использовании opengl.
конечно, можно взять уже готовую и переделать (когда-то писали на 2-м --- 3-м курсе такие на практикуме по ЭВМ)

rosali

конечно, можно взять уже готовую и переделать
Не приведи господь! А то придется потом её еще кому то читать, и вдруг он не писал ничего такого на практикуме по ЭВМ.

Dasar

В каком виде данные подаются?
Функция? Точки? треугольники?

laki

У меня научник маньяк =) Разработал библиотеку, которая рисует, приближает, удаляет, крутит, сохраняет в ави, и таргу.
На вход простой формат подается, буквально двойной, тройной массив.
Например, вот что получается:

Все зависит от мощности видюхи, но вывод можно организовать и через n точек. Прога на огл
перспективы интеграция с фортраном и маткадом вроде.
Если интересно пиши в приват.

tel7432545

Это гляделка геологиеской (слоистой) структуры почвы, т.е. не поверхность, а объемное тело, составленное из кубиков (или почти кубиков, иногда они могут быть кривыми). Среднее число узлов 100*150*20, т.е довольно объемисто
Причем желательно в интерактивном режиме кроме возможности покрутить/приблизить
1. делать разрезы всего этого дела и
2. отображать заливку разных (их с десяток) величин (заданы в каждой точке) по Z-слоям.

DiDiPi

Делай OpenGL.
Все работа с камерой (приближения, удаления, поворты) - легко.
Если видюха мощная, обойдешься просто рисованием всех объектов из треугольников (очень желательно GL_TRIANGLE_STRIP, если не получится STRIP'ами представить все, то просто треугольниками, главное - не используй GL_QUADS, они медленнее).
Сначала просто выводи это, используя Z-buffer.
В OpenGL есть сплайны и сплайновые поверхности (может, для "кривых кубиков" это даже лучше подойдет, чем представление из треугольников).
С закраской там много возможностей (альфа-канал, различные режимы смешивания).
Освещение тебе нафиг не нужно.
Со сторонними компонентами (3DRay не знаю) осторожнее смотри, у них могут быть ограничения, которые ты вначале не заметишь.

tel7432545

кстати, вот примерные картинки, которые хотелось бы получить (они сделаны в Tecplot)



Оставить комментарий
Имя или ник:
Комментарий: