gpt4 book ai didi

postscript - 如何为 postscript curveto 运算符生成控制点?

转载 作者:行者123 更新时间:2023-12-04 05:43:17 28 4
gpt4 key购买 nike

我正在寻找一种方法将一堆连接线渲染为 postscript 中的一条漂亮的连续曲线。渲染曲线穿过我所有的点很重要。
curveto似乎是绘制曲线的唯一可用方法,但该功能需要贝塞尔控制点,而我没有。

那么,有没有办法计算我的点的控制点,所以curveto可以用吗?最好在附言中。

作为引用,我之前用过 GraphicsPath.addCurve(float[])在 .NET 中,它在渲染之前在内部转换为三次贝塞尔控制点。我在 postscript 中寻找类似的东西。

(我能够使用样条函数对点进行插值,然后使用大量单独的线对其进行渲染。看起来不错,但并不是一个很好的解决方案)

最佳答案

如果您使用样条函数对这些点进行插值,那么您就有了一些曲线段的三次方程。并且可以将它们转化为伯恩斯坦多项式基来找到相应贝塞尔曲线的控制点。

A*t^3+B*t^2+C*t+D = P0*(1-t)^3+P1*3*t*(1-t)^2+P2*3*t^2* (1-t)+P3*t^3

做一些代数 - 展开括号,将 t 的相同幂的系数相等,通过三次方程系数 A、B、C、D 表示 P(i)

 p0 = D
p1 = D + C/3
p2 = D + C * 2/3 + B/3
p3 = D + C + B + A

关于postscript - 如何为 postscript curveto 运算符生成控制点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10998993/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com