从给定角度和长度的x,y绘制一条直线

时间:2014-05-11 22:16:57

标签: javascript html5 canvas

在Javascript中我想从x / y绘制一条具有给定长度和角度的线。我不想画一条从x1 / y1到x2 / y2的线。我有一个x / y原点,一个角度和一个长度。

该行必须位于特定位置的标准网页之上。

我该怎么做?

由于

1 个答案:

答案 0 :(得分:16)

moveTo(x,y)定义了行的起点 lineTo(x,y)定义了行

的结束点

所以你想要这样的东西:

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
x1 = 30;
y1 = 40;
r =  50;
theta = 0.5;
ctx.moveTo(x1, y1);
ctx.lineTo(x1 + r * Math.cos(theta), y1 + r * Math.sin(theta));
ctx.stroke();

你必须确保theta是弧度,并且ctx被定义为你想要的任何画布上下文(在上面的代码中,这意味着你想要像

<canvas id="myCanvas" width="200" height="100"
style="border:1px solid #000000;">
</canvas>
你的HTML中的

如果theta为度,您可以使用Math.cos(Math.PI * theta / 180.0)Math.sin(Math.PI * theta / 180.0)代替Math.cos(theta)Math.sin(theta)来完成工作......