Java2D API 支持的最复杂的形状是贝塞尔线段。假设我要绘制有理线段(每个控制点都有一个权重,整个渲染公式略有不同)。
如何做到这一点?
是否可以扩展渲染引擎以绘制更复杂的形状?
更新
实现自定义形状的常用方法是实现Shape
接口。PathIterator
此接口具有在PathIterator
迭代段类型时返回的关键方法。只有 5 种细分类型。其中最弯曲的SEG_CUBICTO
是标准贝塞尔曲线,有 4 个控制点(包括开始和结束各 2 个)。
如果我对贝塞尔曲线应用线性分数变换,每个控制点都会得到一个权重,作为其坐标的补充,贝塞尔曲线会变成 NURBS(不确定,未能学习确切的术语)。无论如何,曲线的公式与贝塞尔曲线不同。