返璞归真2:关于反求Bezier曲线控制点的求解公式! (1分)

  • 主题发起人 主题发起人 卷起千堆雪tyn
  • 开始时间 开始时间

卷起千堆雪tyn

Unregistered / Unconfirmed
GUEST, unregistred user!

这里的Q0---Q3是已知的4个控制点,
你绘制的Bezier曲线如果要经过这4个点,需要反求控制点;
这里的P0---P3就是反求出的点,以P0---P3为新的控制点
绘制出的Bezier曲线经过Q0---Q3点。

procedure UnControlBezierPoint(var Q0,Q1,Q2,Q3,P0,P1,P2,P3 :TPoint);
begin
P0 :=Q0;
P1.x :=(-5*Q0.x+18*Q1.x-9*Q2.x+2*Q3.x) div 6;
P1.y :=(-5*Q0.y+18*Q1.y-9*Q2.y+2*Q3.y) div 6;
P2.x :=(2*Q0.x-9*Q1.x+18*Q2.x-5*Q3.x) div 6;
p2.y :=(2*Q0.y-9*Q1.y+18*Q2.y-5*Q3.y) div 6;
P3 :=Q3;
end;
 
啊?这么简单?
 
厉害!
顺便解决一下我的那个判断点是否在BEZIER曲线上的问题好吗,我想了很久
 
反求贝塞尔曲线控制点是什么意思?
我没理解,请不吝赐教
 
楼上的zyg_zm兄弟,我明天给你答案;
晚安了。
 
请问,如果是大于4次的贝塞尔曲线呢?
 
如果是大于3次的Bezier曲线,同样可以实现!
看“计算机图形学”--清华大学出版社
里面有N次Bezier曲线的矢量方程,类似上面的,自己翻看了。
 
gz,并收藏
 
不错不错,收藏
 
高,实在是高!
 
多人接受答案了。
 
后退
顶部