在Javascript中我想从x / y绘制一条具有给定长度和角度的线。我不想画一条从x1 / y1到x2 / y2的线。我有一个x / y原点,一个角度和一个长度。
该行必须位于特定位置的标准网页之上。
我该怎么做?
由于
答案 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)
来完成工作......