如何以幂形式给出曲线计算控制点?假设我有p(t)=(x(t),y(t))和4个控制点。
x(t) = 2t
y(t) = (t^3)+3(t^2)
答案 0 :(得分:0)
这是纯粹的数学问题(除非你去#3 )...我推测你需要4个控制点用于2D中的单立方Bezier曲线。
代数方法
尝试将您的List<Company> vendors =
descriptions.stream()
.map(Description::getCompany)
.distinct()
.collect (Collectors.toList());
多项式与Bezier多项式形式匹配,并提取系数/控制点。这并不总是可行,但最精确的是......在最后我看到#2 中的链接我的插值多项式与Bezier匹配,所以我得到了控制点之间的转换公式。
<强>插值强>
找到曲线上的极值点(尽可能保持精度),如果没有找到或没有足够的极值,则沿着曲线使用相同的分散点。曲线上需要4个控制点。现在只需将这4个点转换为曲线,例如:how to convert interpolation cubic polynmial to cubic Bezier
可以使用曲线拟合
使用approximation search或任何其他最小化曲线距离...通过拟合贝塞尔控制点但是x(t),y(t)
参数来搜索哪个是慢而非精确而没有其他约束。
我确信这个问题还有很多(可能是混合的)方法。