를 VTK (파이썬)에 고르게 분포 영역을 만들고 싶어, 내가 VTK에 고르게 분포 영역난 당신이 제목에서 볼 수 있듯이
먼저 (파이썬)를 만들고 싶어, 나는이다이 링크 "Evenly distributing n points on a sphere"을 보았다 메서드를 사용하여 고르게 분포 된 구체를 만듭니다. 이 링크를 통해 균등하게 분포 된 구의 x, y, z 좌표를 얻었다.
둘째, 실제로 해결해야 할 문제가 아닙니다. 문제는 I은 X, Y, 균일하게 분포 된 구형의 Z 좌표가있는 경우에도, I는 오류가 발생하지 않는다 .. VTK (파이썬)에서
import numpy as np
import mpl_toolkits.mplot3d
import matplotlib.pyplot as plt
import vtk
from scipy.spatial import Delaunay
num_pts = 1000
indices = np.arange(0, num_pts, dtype=float) + 0.5
phi = np.arccos(1 - 2*indices/num_pts)
theta = np.pi * (1 + 5**0.5) * indices
x, y, z = np.cos(theta) * np.sin(phi), np.sin(theta) * np.sin(phi), np.cos(phi);
# x,y,z is coordination of evenly distributed shpere
# I will try to make poly data use this x,y,z
points = vtk.vtkPoints()
for i in range(len(x)):
array_point = np.array([x[i], y[i], z[i]])
points.InsertNextPoint(x[i],y[i],z[i])
# tri = Delaunay(points) (Do I have to use this function??)
poly = vtk.vtkPolyData()
poly.SetPoints(points)
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputData(poly)
actor = vtk.vtkActor()
actor.SetMapper(mapper)
ren = vtk.vtkRenderer()
ren.AddActor(actor)
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(ren)
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
renWin.Render()
iren.Start()
코드 polydata을하지만 polydata 수 없다 내 vtk 창에서 일어나지 않았다 이 문제를 해결하려면 어떻게해야합니까?
- 태영.
PolyData를 작성하는 코드를 최소한 제공 할 수 있습니까? 귀하의 숙제이며, 귀하가 어디에 갇혀 있는지 우리에게 말하면 우리는 당신을 도울 수 있습니다. 그러나 우리에게 완전한 해결책을 기대하는 것은 공정하지 않습니다. –
죄송합니다. 질문을하는 것은 이번이 처음입니다. 내 질문에 더 자세히 설명해 드리겠습니다. –