VTK 中的样条线看起来变形了
Spline in VTK looks distorted
我正在使用 python 2.7 的 vtk
包来创建一些我想导出到 .stl
的 3 维内容。部分几何形状是具有可调振幅的正弦波。这是我的问题:当我从点数据(基本上是每个最大值、最小值和转折点中的一个点)生成样条时,它看起来不统一!
这是样条曲线的样子:
你可以看到中间的振幅看起来还不错,而其余部分明显向中心扭曲
基本上我只希望中间部分看起来像一个完美的正弦,因为无论如何我都切掉了其余部分。
当我使用另一个程序 (Autodesk Inventor) 从相同的点数据手动创建样条时,它会创建一个统一的正弦波。有没有办法解决这个问题?
很抱歉没有提供任何代码,但我会告诉你我做的步骤:
- 将点添加到
vtkPoints
对象
- 使用
vtkPoints
作为输入创建 vtkParametricSpline
- 使用
vtkSplineFilter
获得更好的样条分辨率
- 使用
vtkTubeFilter
创建卷
- 用
vtkClipClosedSurface
剪掉不需要的东西
最后,用余弦函数参数化线是避免奇怪样条行为的唯一方法。我之前尝试过避免它,因为它看起来设计过度,但事实证明这是更好的方法。
新算法:
余弦函数 -> vtkPoints
-> vtkLineSource
-> vtkTubeFilter
我正在使用 python 2.7 的 vtk
包来创建一些我想导出到 .stl
的 3 维内容。部分几何形状是具有可调振幅的正弦波。这是我的问题:当我从点数据(基本上是每个最大值、最小值和转折点中的一个点)生成样条时,它看起来不统一!
这是样条曲线的样子:
你可以看到中间的振幅看起来还不错,而其余部分明显向中心扭曲
基本上我只希望中间部分看起来像一个完美的正弦,因为无论如何我都切掉了其余部分。
当我使用另一个程序 (Autodesk Inventor) 从相同的点数据手动创建样条时,它会创建一个统一的正弦波。有没有办法解决这个问题?
很抱歉没有提供任何代码,但我会告诉你我做的步骤:
- 将点添加到
vtkPoints
对象 - 使用
vtkPoints
作为输入创建vtkParametricSpline
- 使用
vtkSplineFilter
获得更好的样条分辨率 - 使用
vtkTubeFilter
创建卷 - 用
vtkClipClosedSurface
剪掉不需要的东西
最后,用余弦函数参数化线是避免奇怪样条行为的唯一方法。我之前尝试过避免它,因为它看起来设计过度,但事实证明这是更好的方法。
新算法:
余弦函数 -> vtkPoints
-> vtkLineSource
-> vtkTubeFilter