怎么通过鼠标任意两点绘制一个三阶Bezier(贝塞尔)曲线,并且如何判断Bezier曲线的轨迹?移动光标时判断光标是否在曲线上?以及是否在两个控制点上
如何通过鼠标任意两点绘制一个三阶Bezier(贝塞尔)曲线,并且怎么判断Bezier曲线的轨迹?移动光标时判断光标是否在曲线上??以及是否在两个控制点上?
现在做一个绘图程序,贝塞尔曲线遇到问题,我现在通过单击两点绘制一个Bezier曲线,但是不知道控制点和曲线的起始点是个什么关系?????而且我也要通过Bezier上的2个控制点和起始点任意更改曲线
还有一点,我要如何判断鼠标是否在这条Bezier曲线上???破(通过什么条件),怎么获取两个Bezier的控制点????
感觉这个三阶公式蛮难的,大家给个建议!!!
------解决思路----------------------
1) 至少要3点吧,两点只能直线了
2) 鼠标是否在曲线上,三次方程,可能直接硬解,找公式就行了
------解决思路----------------------
可以,比如a,b,c三个点,ab一段,bc一段,两段曲线要光滑,然后解出方程就可以了
现在做一个绘图程序,贝塞尔曲线遇到问题,我现在通过单击两点绘制一个Bezier曲线,但是不知道控制点和曲线的起始点是个什么关系?????而且我也要通过Bezier上的2个控制点和起始点任意更改曲线
还有一点,我要如何判断鼠标是否在这条Bezier曲线上???破(通过什么条件),怎么获取两个Bezier的控制点????
感觉这个三阶公式蛮难的,大家给个建议!!!
------解决思路----------------------
1) 至少要3点吧,两点只能直线了
2) 鼠标是否在曲线上,三次方程,可能直接硬解,找公式就行了
------解决思路----------------------
可以,比如a,b,c三个点,ab一段,bc一段,两段曲线要光滑,然后解出方程就可以了