在现有网格上绘制贝塞尔曲线

时间:2016-11-18 19:41:47

标签: opengl geometry computational-geometry direct3d

我有一个3D网格,我想在其表面绘制3D贝塞尔线。最好的方法是什么?

假设我有所有必要的代码来绘制网格,在其表面上拾取点并根据这些点绘制贝塞尔曲线。

一种天真的方法是简单地选择一些点并绘制穿过它们的贝塞尔曲线,但是它可以与网格相交(在它上面)而不是在它的表面上。对此有什么简单的解决方案吗?

1 个答案:

答案 0 :(得分:0)

我想你想在网格三角形上放置一条曲线。在这种情况下,曲线不能是平滑的(导数不是连续的。)因为网格在三角形边缘上不平滑。

如果不是问题,那么简单的解决方案就是通过选择网格边缘上的曲线末端控制点,将每个三角形的曲线分成几部分。我不知道如何做到这一点,可能是通过在网格边缘上寻找离散化输入曲线的最近点。

贝塞尔曲线的一部分是贝塞尔曲线,因此在分割输入曲线后,可以使用现有的绘图代码。