저는 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. 쉬운 방법으로 접근하면서 단지 다른 위치에 카메라를 넣어