3D Graphics: программное обеспечение для визуализации 3D векторов? - PullRequest
10 голосов
/ 04 сентября 2010

Я пытаюсь научить себя трехмерной графике, но у меня возникают проблемы с визуализацией задействованных трехмерных векторов.

Есть ли какое-нибудь хорошее программное обеспечение, которое я могу использовать для визуализации трехмерных векторов?

Например, сейчас я изучаю преобразования камеры, и было бы неплохо, если бы я мог легко нарисовать правильные / вверх / выглядящие / глазные векторы.

Я пробовал Grapher.app и gnuplot, но очень сложно вводить точки в Grapher.app, и gnuplot, похоже, не может заблокировать соотношение сторон.

Ответы [ 2 ]

9 голосов
/ 06 сентября 2010

Visual Python - это супер простая библиотека для 3D-визуализации.

Например, для отображения сферы и стрелки:

import time, math, visual

ball = visual.sphere(pos=(0,2,0), radius=1, color=visual.color.red)
vect = visual.arrow(pos=(2,0,0), axis=(2 ,2,-2))

visual.scene.forward = (.1, -.3, -1)  # controls the camera view angle

alt text

В этом окне теперь также есть вся обычная интерактивность мыши, например, масштабирование и поворот камеры (то есть угол обзора).

VPython также легко анимируется.Например, следующий будет вращать стрелку:

da = 2*math.pi/100
for timestep in range(100):
    angle = timestep*da
    vect.axis = (2+2*math.sin(angle), 2*math.cos(angle), -2)
    time.sleep(.1)
2 голосов
/ 04 сентября 2010

Я не знаю, будет ли это проще, чем Grapher.app или gnuplot, но вы могли бы написать свою собственную программу 3D-графики, которая просто отображает векторы.

Вот пример в OpenGL , который рисует векторы осей X, Y и Z.

Обновление: Вот Java-апплет , специально предназначенный для того, чтобы помочь вам визуализировать векторы в преобразованиях камеры.Обратите внимание на инструкции по установке: вам необходимо установить Java 3D.

Описание. Апплет «Параметры камеры перспективы» предназначен для ознакомления учащихся с различными параметрами, связанными с синтетической проекционной камерой.Пользователи могут настроить любой из следующих параметров: ширина поля зрения, высота поля зрения, расстояние вблизи плоскости отсечения, расстояние дальней плоскости отсечения, вектор вверх и вектор взгляда.Область просмотра визуализируется в окне, что позволяет ученикам понять, как параметры соотносятся с формой области просмотра.

В одном и том же сайте много компонентов, например, оси , что вы можете использовать для настройки простого апплета, показывающего только нужные вам векторы.

...