3d 逼近平滑多边形网格的最佳曲线类型是什么
我有一个由顶点和三角形组成的3D网格。我知道顶点的位置和平滑法线,以及三角形的平面法线。 我想计算通过2个给定顶点的曲线段,只使用它们的位置和法线 现在,我使用的是a,但它需要4个点来绘制1个曲线段,如图中简单网格的切片视图所示: 为了绘制B和C之间的黄色曲线段,对应于红色边的估计曲率,我必须使用顶点A、B、C和D的位置 其他青色线段使用相同的方法绘制3d 逼近平滑多边形网格的最佳曲线类型是什么,3d,polygon,mesh,curve,smoothing,3d,Polygon,Mesh,Curve,Smoothing,我有一个由顶点和三角形组成的3D网格。我知道顶点的位置和平滑法线,以及三角形的平面法线。 我想计算通过2个给定顶点的曲线段,只使用它们的位置和法线 现在,我使用的是a,但它需要4个点来绘制1个曲线段,如图中简单网格的切片视图所示: 为了绘制B和C之间的黄色曲线段,对应于红色边的估计曲率,我必须使用顶点A、B、C和D的位置 其他青色线段使用相同的方法绘制 我希望仅使用线段顶点中的数据计算每个曲线线段。这里只使用B和C的位置和法线作为输入数据来计算黄色曲线段。。。在计算所有线段的曲线时,仍然保持均
编辑: 使用Fang建议的Hermite样条得出的结果:
这对我来说太完美了。再次感谢:)如果您只想在两个端点和两个端点法向量之间插值,可以使用三次Hermite曲线。由两个端点和两个端点一阶导数定义。因为顶点没有一阶导数,所以可以从顶点法线推断它们 给定顶点B和C以及顶点法线Nb和Nc
Sb = m*(A + C - 2*B)/2,
Sc = m*(B + D - 2*C)/2.
m是一个常数(通常<1.0),用于调整一阶导数的大小
这样,对于线段BC和线段AB,顶点B的一阶导数将相同,这将确保曲线段BC和曲线段AB平滑连接。不清楚每个顶点处的平滑法线将如何影响曲线形状。你想让曲线在顶点的切线垂直于法线吗?在这种情况下,我不在乎切线是否垂直于法线。在我的照片中,它们不是,结果很好。。。但这条曲线并不是由我想关注的数据生成的。我在这里尝试。假设我对任何解决方案都很满意,只要它只涉及2个点的位置和法线作为生成曲线段的起点。如果你坚持顶点B和C之间的曲线段只能从顶点B和C的位置和法线来构造,那么,曲线段很可能不会与其相邻段平滑连接。是的,这也是我的猜测。但我不确定是否真的需要这种连续性,所以我将首先尝试从这个起点得到的任何曲线。非常感谢,我将尝试以下:)