5
A
回答
17
這裏是其基於z軸值的點顏色的示例。
import vtk
from numpy import random
class VtkPointCloud:
def __init__(self, zMin=-10.0, zMax=10.0, maxNumPoints=1e6):
self.maxNumPoints = maxNumPoints
self.vtkPolyData = vtk.vtkPolyData()
self.clearPoints()
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputData(self.vtkPolyData)
mapper.SetColorModeToDefault()
mapper.SetScalarRange(zMin, zMax)
mapper.SetScalarVisibility(1)
self.vtkActor = vtk.vtkActor()
self.vtkActor.SetMapper(mapper)
def addPoint(self, point):
if self.vtkPoints.GetNumberOfPoints() < self.maxNumPoints:
pointId = self.vtkPoints.InsertNextPoint(point[:])
self.vtkDepth.InsertNextValue(point[2])
self.vtkCells.InsertNextCell(1)
self.vtkCells.InsertCellPoint(pointId)
else:
r = random.randint(0, self.maxNumPoints)
self.vtkPoints.SetPoint(r, point[:])
self.vtkCells.Modified()
self.vtkPoints.Modified()
self.vtkDepth.Modified()
def clearPoints(self):
self.vtkPoints = vtk.vtkPoints()
self.vtkCells = vtk.vtkCellArray()
self.vtkDepth = vtk.vtkDoubleArray()
self.vtkDepth.SetName('DepthArray')
self.vtkPolyData.SetPoints(self.vtkPoints)
self.vtkPolyData.SetVerts(self.vtkCells)
self.vtkPolyData.GetPointData().SetScalars(self.vtkDepth)
self.vtkPolyData.GetPointData().SetActiveScalars('DepthArray')
pointCloud = VtkPointCloud()
for k in xrange(1000):
point = 20*(random.rand(3)-0.5)
pointCloud.addPoint(point)
pointCloud.addPoint([0,0,0])
pointCloud.addPoint([0,0,0])
pointCloud.addPoint([0,0,0])
pointCloud.addPoint([0,0,0])
# Renderer
renderer = vtk.vtkRenderer()
renderer.AddActor(pointCloud.vtkActor)
renderer.SetBackground(.2, .3, .4)
renderer.ResetCamera()
# Render Window
renderWindow = vtk.vtkRenderWindow()
renderWindow.AddRenderer(renderer)
# Interactor
renderWindowInteractor = vtk.vtkRenderWindowInteractor()
renderWindowInteractor.SetRenderWindow(renderWindow)
# Begin Interaction
renderWindow.Render()
renderWindowInteractor.Start()
相關問題
- 1. 如何從點雲中獲取顏色信息並顯示它?
- 2. 如何在StaticText(wxpython)中以不同顏色顯示文本?
- 3. 如何在jtextPane中以不同的顏色顯示文本
- 4. 如何顯示具有不同顏色以不同的顏色(機器人)
- 5. 使用VTK中的高度值顏色大點雲
- 6. JPanel如何顯示顏色數組中的不同顏色?
- 7. Q3DScatter - >如何用不同顏色的點添加點雲
- 8. 爲什麼顯示的顏色不是VTK中的預期顏色?
- 9. 使用$ _GET [「顏色」],以顯示不同的顏色
- 10. 顏色點雲 - Matlab
- 11. 使用opengl以不同顏色突出顯示點
- 12. 以不同顏色顯示R熱圖離羣點
- 13. 使用VTK繪製不同顏色的點
- 14. 如何在ggplot2中顯示顏色條以指示不同的類別?
- 15. DICOM到VTK中的點雲
- 16. 如何使標籤以不同顏色的字母顯示FormattedString?
- 17. 如何使用JS從外部點擊以不同顏色顯示Geomap
- 18. 如何在不同顏色的html中顯示進度條
- 19. 如何讓NaN在Matlab中用imagsc顯示不同的顏色?
- 20. 如何在jquery中顯示不同顏色的按鈕
- 21. 如何在MATLAB GUI中顯示點雲?
- 22. tableview在不同的ios版本中顯示不同的顏色
- 23. 在三維散點圖上顯示不同顏色的類別
- 24. 使ImageView以不同顏色顯示圖像的黑色部分
- 25. AutoCompleteTextView中的顏色如何在AutoCompleteTextView中顯示顏色
- 26. 如何在日曆中突出顯示不同顏色的不同天數asp.net
- 27. 如何在不同顏色的多級分析中顯示不同的級別
- 28. 個別顏色的點雲
- 29. 如何繪製不同顏色的點?
- 30. 如何顯示不同顏色的WPF ListView中的字符串?
目前穩定API(6.2.0)的需要:'mapper.SetInputData(self.vtkPolyData)' – gmas80
任何知道如何設置一個由三個值指定的顏色R,G,B? –
@TurboWhale這個例子http://www.vtk.org/Wiki/VTK/Examples/Python/TriangleColoredPoints應該有所幫助。你應該用'3'組件創建'vtkUnsignedCharArray'並使用'InsertNextTuple3'來添加你需要的顏色。此外,你只需像上面例子中的SetScalars一樣,根據你的顏色數組的名稱改變SetActiveScalars(或者根本不需要調用SetActiveScalars)。 – Charlie