【发布时间】:2017-03-30 13:02:13
【问题描述】:
我有一个点列表说
a、b、c 和 d
我想加入喜欢
a - b - c - d。
现在我只是一次取两个点并在它们之间画一条线。但结果是尖角。所以我想用曲线把它们连接起来,这样角落就变得光滑了。我读过关于贝塞尔曲线来绘制曲线,但这需要额外的控制点来绘制曲线。我也不知道如何使用曲线连续连接多个点。有什么方法可以做到这一点,或者我可以做些什么或努力使这成为可能?
我同时使用 opengl 和 SVG 来输出结果。
【问题讨论】:
-
OpenGL 只知道点、线和三角形。句号。绘制曲线(贝塞尔曲线、圆弧、样条曲线或其他)必须由您完成。镶嵌是一个很好的帮助。
-
我也许应该改进 Ripi2 的答案,指出您现在可以找到的 有用 OpenGL 实现仅支持点、直线和三角形(无论如何也仅支持光栅化)。老旧的 OpenGL-1.1 实际上有一个叫做“评估器”的东西,它允许通过评估 Bézier 曲线,指定补丁坐标而不是模型空间坐标来提交
glBegin/glEnd块中的顶点。然而,这只是一个便利功能,会使用平面/直线基元对补丁进行细分。