aci*_*dic 1 bezier canvas html5-canvas
我正在使用画布进行弹丸运动模拟,我需要绘制弹丸路径(轨迹)的线。我相信最好的方法是使用quadraticCurveTo()方法绘制贝塞尔曲线来完成此任务(因为可以用抛物线对抛射运动进行建模)。
我知道抛物线的起点和终点以及最大值,但我不确定如何计算贝塞尔曲线的控制点。
有更准确的方法来计算二次控制点,但这种近似方法的优点是计算速度非常快:
// calc a control point
var cpX = 2*anywhereOnCurveX -startX/2 -endX/2;
var cpY = 2*anywhereOnCurveY -startY/2 -endY/2;
Run Code Online (Sandbox Code Playgroud)
这是一个现场演示,它在给定起点、终点和曲线上的任何点(除起点/终点之外的任何点)的情况下计算近似控制点:
http://jsfiddle.net/m1erickson/6jNCM/