画布,绘制线段

时间:2012-10-30 08:44:45

标签: javascript html5 canvas drawing line

我的三角函数不仅仅是弱,因此我不知道如何绘制比全行起点和终点更短的线段。

http://jsfiddle.net/psycketom/TUyJb/

我试过的是,从起点减去目标点的一小部分,但是它导致错误的线。

/* 
 * this is an excerpt from fiddle, that shows
 * the actual calculation functions I have implemented
 */
var target = {
    x : width / 2 + 60,
    y : 20
};

var start = {
    x : width / 2,
    y : height
};

var current = {
    x : 0,
    y : 0
};

var growth = 0.5;

current.x = start.x - (target.x * growth);
current.y = start.y - (target.y * growth);

我敢打赌,我必须使用sin / cos或三角测量分支中的其他东西才能使其正确。但是,由于我的三角学甚至没有生锈,但总的来说很弱,我被卡住了。

如何绘制正确的目标线?

2 个答案:

答案 0 :(得分:2)

如果我理解正确,那么这应该会给你你想要的东西:

current.x = start.x + (target.x - start.x) * growth;
current.y = start.y + (target.y - start.y) * growth;

答案 1 :(得分:0)

该方程是线性插值,与线性缓动相同。取开始和结束的增量(最小值和最大值),将其乘以沿增量的距离的百分比(法线),然后将其加回到起始值。不可思议的必要算法:)