我必须根据 dxf 文件中的数据在 qt 中实现样条线绘图。有关样条线的数据始终仅包含控制点的坐标。
A QPainterPath 函数 cubicTo() 使用当前点、终点(该点属于样条线)和 2 个控制点。当我想使用多个三次贝塞尔样条线通过 5 个或更多控制点构建样条线时,我不知道它们之间的拟合点(属于样条线)的坐标以使用 cubicTo()。另外,如果我在计算原始样条线上缺失的拟合点后组合多个三次样条线,我也不确定样条线的图像是否正确。
我可以使用什么算法在qt中通过超过4个控制点构建样条线,仅包含控制点信息,而不包含拟合点信息?
例如,解析我的 dxf 后,我得到标记为红色的控制点坐标: 一开始,我以为这些控制点是贝塞尔曲线的控制点。 我什至尝试过计算它们,但在这种情况下,贝塞尔曲线的控制点数量超过 6 个。我正在使用这个问题中的算法。 因此,我了解如何计算控制点,了解拟合点,但如何使用从 dxf 获得的点反向执行此操作。 如果您尝试使用来自图像样条线问题的计算算法,您将获得超过 6 个控制点,因此这是表征它的其他方式。
这是一张图片,显示了从该算法获得的数据与我拥有的数据之间的差异: 我需要什么数学来解决这个问题以及如何获得这些点的数学描述? 感谢您的帮助。