用向量中的一组点绘制贝塞尔曲线

发布于 2024-10-15 08:15:25 字数 143 浏览 6 评论 0原文

我想知道用存储在向量内的一组点(大约 100 多个点)在 C++ 中绘制贝塞尔曲线的最佳且不太复杂的方法是什么 据我了解: -贝塞尔曲线由 4 个控制点组成,中间的点决定曲线的方向/切线

一种可能的方法是将这些点分解为不同的段,并从每个段确定控制点和切线?

I was wondering what would be the best and less complicated way of drawing a bezier curve in c++ with a set of points (roughly 100+ points) that are stored inside a vector
From my understanding:
-Bezier curves consist of 4 control points, the points in the middle dictate the direction/tangent of the curve

Would one possible method be to breakdown the points into different segments and from each segment determine the control points and tangents?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

阳光的暖冬 2024-10-22 08:15:25

它称为三次样条,如果您进行搜索,您可能会找到一些相关的 C++ 代码。我使用了 Numerical Recipes Online 中的免费 Fortran 代码,并将其移植到 C# 中,没有出现任何问题。

It is called a cubic spline and if you search you might find some C++ code for it. I used the free Fortran code from Numerical Recipes Online and ported it to C# with no problems.

寻找一个思念的角度 2024-10-22 08:15:25

一种可能的方法是
将点分解为不同的
段和每个段
确定控制点并
切线?

是的,基本上是将线段首尾相连,使得连接点两侧接近线段末端的斜率相等。这称为三次样条。您可以在此处找到此算法。

Would one possible method be to
breakdown the points into different
segments and from each segment
determine the control points and
tangents?

Yes, basically one connects the line segments end-to-end such that the slope approaching the end of the line segment is equal on both sides of the connection point. This is called a cubic spline. You can find algorithms for this here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文