我有一个 Java 中的 CubicCurve,它由 4 个控制点定义。我可以绘制生成的形状,但是如何在该形状的给定分辨率下有效地接收每个点? 顺便说一句,PathIterator“仅”返回控制点,而不返回曲线本身的点。
最佳答案
二维参数三次曲线只是两个多项式
x(t)=ax0+ax1*t+ax2*t*t+ax3*t*t*t
y(t)=ay0+ay1*t+ay2*t*t+ay3*t*t*t
哪里t=<0.0,1.0>
所以你计算 a?0...a?3
来自控制点的系数,然后循环 t
按照您需要的小步骤获得所需的所有积分,例如 dt=1.0/(n-1)
哪里n
是点数。
系数取决于用于BEZIER/SPLINE 或插值的曲线,请参阅:
关于java - 如何获取曲线(形状)的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36593388/