2016-11-02 76 views
1

我有3D結構的DICOM文件,爲了在我的結構中做一些更改,我使用ImageJ將3D結構轉換爲stl文件,然後使用vtkreadstl將其存儲在vtkpolydata中,使用抽取算法我可以通過刪除一些頂點和三角形來減少我的結構,現在我想通過添加額外的頂點來完成相反的操作,我可以使用哪種算法來實現? 謝謝在3D結構中添加新頂點

回答

0

抽取的對立面可以是曲面細分或細分。曲面細分只是根據您決定使用的算法添加更多幾何圖形,而細分點則使曲面更加平滑。

你想使用哪一個取決於你的目標是什麼與添加額外的頂點。

看着VTK,我看到有一個vtkTessellatorFiltervtkSimpleCellTessellator,你可能會發現如果你想tesselate你的模型有幫助。否則,如果您的目標是通過添加其他幾何圖形來獲得更平滑的曲面,那麼會有相當多的不同細分算法。貌似VTK有: vtkLinearSubdivisionFiltervtkButterflySubdivisionFiltervtkLoopSubdivisionFiltervtkDataSetSurfaceFilter

+0

我想這個代碼,但我有0個三角形輸出,我無法找到一個例子如何使用Tessellator的:'vtkTessellatorFilter特斯拉=新vtkTessellatorFilter (); tesla.SetInputData(input); tesla.Update();'我的輸入是一個** vtkpolydata ** –

+0

@Ouznour你的目標是添加更多的幾何體?只是爲了使表面更光滑?或者你想要做一些像在表面添加更多紋理的東西嗎?細分是爲了使表面更加平滑,並具有鑲嵌功能,目標是實現您自己的算法,這意味着您必須知道爲什麼要添加更多的幾何圖形,並且您必須知道如何實現一種算法給你想要的表面 – iedoc

+0

我的目標不僅僅是爲表面添加更多的幾何體,而且還在我的3D結構內部,vtkTessellatorFilter的文檔對我來說不是很明確 –