2011-10-18 3 views
2

저는 Python으로 코딩 된 ODE (Open Dynamics Engine) 기반의 시뮬레이터를 만들고 있습니다. 시각화를 위해 저는 VTK를 선택했습니다.3D 장면에서 축 사용 및 설정 방법

시뮬레이션의 모든 개체에 대해 해당 소스 (예 : vtkCubeSource), 매퍼 및 액터를 만듭니다. 시뮬레이션을 실행하면 객체를 올바르게 표시하고 업데이트 할 수 있습니다.

기준점이 있고 각 축의 방향을 보여주기 위해 축을 추가하고 싶습니다. 기본적으로 X와 Z는 화면에 있고 Y는 바깥 쪽을 가리킨다는 것을 깨달았습니다. 내 프로그램에는 다른 관습이 있습니다.

나는 2 가지 방법으로 축을 표시 할 수있었습니다

:

1) Image

axes = vtk.vtkAxes() 
axesMapper = vtk.vtkPolyDataMapper() 
axesMapper.SetInputConnection(axes.GetOutputPort()) 
axesActor = vtk.vtkActor() 
axesActor.SetMapper(axesMapper) 
axesActor.GetProperty().SetLineWidth(4) 

2) Image (색상이 첫 번째 경우와 일치하지 않는)

axesActor = vtk.vtkAxesActor() 
axesActor.AxisLabelsOn() 
axesActor.SetShaftTypeToCylinder() 
axesActor.SetCylinderRadius(0.05) 

두 번째에서는 사용자가 축 표시 방법과 관련된 많은 매개 변수를 설정할 수 있습니다. 처음에는 선 너비 만 설정할 수 있었지만 그 밖의 것은 설정할 수 없었습니다.

그래서, 내 질문은 :

3D 장면에서 디스플레이 축을 정의하는 올바른 방법입니다
  • ? 나는 그것들을 고정 된 자세와 방향으로 만 원한다.
  • 디스플레이 및 일반적인 시각화를 위해 축 방향에 대해 다른 규칙을 어떻게 설정합니까? 당신이 표시 목적을 위해 객체의 변환 행렬과 혼란을하지 않으면 사용하여 축이 을 조정 2. 쉬운 방법으로 접근하면서 단지 다른 위치에 카메라를 넣어

답변

관련 문제