c++ - 三次贝塞尔曲线是否完全包含在其控制点的边界框内?

标签 c++ math geometry

可能是非常简单的问题(我只是想确保我是对的)。标题不是 100% 正确,但以下是我需要的:

我想计算三次贝塞尔曲线的边界框(矩形)。我知道包含曲线控制点的矩形不是字面上的边界框,它很可能更大,但我想确保它不能更小,也就是说,它始终包含曲线。

我有多个连续的三次贝塞尔曲线定义的样条曲线,我想要它的边界框,或者最接近它的东西(我不喜欢复杂的公式来计算它,但如果有一些不-编码方式过于复杂,我很乐意知道)。

澄清:“包含曲线控制点的矩形”是指这样计算的矩形:我将控制点的最小 X 坐标和最小 Y 坐标作为矩形的左上角,将控制点的最大 X 坐标和最大 Y 坐标作为矩形的右下角。 (Y 轴从上到下)。然后我想确保曲线肯定位于这个矩形内。

希望你明白我的意思:)

最佳答案

wikipedia :

Bézier curves are widely used in computer graphics to model smooth curves. As the curve is completely contained in the convex hull of its control points,

是的。

关于c++ - 三次贝塞尔曲线是否完全包含在其控制点的边界框内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8859796/

相关文章:

math - 找出圆周上像素坐标的算法

mysql - 基于其他列的 SUM(DISTINCT)

math - 给定法线向量,在 3D 空间中的 2D 磁盘上生成随机点

geometry - 如何用一条线切割一个简单的多边形

c++ - 结构内的函数原型(prototype) - Intellisense 找不到

c++ - 什么是 undefined reference /未解析的外部符号错误以及如何修复它?

javascript - 尝试计算在 svg 和 javascript 中创建的饼图切片的 Angular

algorithm - 给定顶点和中心点向上或向下缩放三角形

c++ - 如何在 CLion 中修复对 `GetAcceptExSockaddrs' (Boost.Asio) 的 undefined reference

c++11继承模板构造函数