将线条的绘制限制为 45 度角

发布于 2024-08-19 19:56:04 字数 128 浏览 4 评论 0原文

我有起点 (x1,y1) 以及所需的线长度和角度。

如果角度是方向,0 度是 W,90 度是 N,180 度是 E,270 度是 S。如果需要,我可以修改它。

如何使用起点、长度和角度来确定终点(x2,y2)?

I have the start point (x1,y1) and the desired length and angle of the line.

If the angles were directions, 0 degrees is W, 90 is N, 180 is E and 270 is S. I can modify this if needed.

How can I use the start point, length and angle to determine the end point(x2, y2)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

靑春怀旧 2024-08-26 19:56:04

x2 = x1 + 长度cos(角度)
y2 = y1 + 长度sin(角度)

在这种情况下,角度逆时针增加,0 指向正 x。 x 轴向右增加,y 轴向上增加。

x2 = x1 + lengthcos(angle)
y2 = y1 + length
sin(angle)

In this case angle is counter-clockwise increasing with 0 pointing towards positive x. The x axis is increasing to the right, and the y axis up.

少钕鈤記 2024-08-26 19:56:04

对于屏幕:

对于 W = 0、N = 90、E = 180、S = 270:

x2 = x1 - length * cos(angle)
y2 = y1 - length * sin(angle)

对于 E = 0、N = 90、W = 180、S = 270:

x2 = x1 + length * cos(angle)
y2 = y1 - length * sin(angle)

请注意,您需要确保 cos 的实现有效以度而不是弧度为单位,否则你会得到奇怪角度的线。

For a screen:

For W = 0, N = 90, E = 180, S = 270:

x2 = x1 - length * cos(angle)
y2 = y1 - length * sin(angle)

For E = 0, N = 90, W = 180, S = 270:

x2 = x1 + length * cos(angle)
y2 = y1 - length * sin(angle)

Note that you need to make sure your implementation of cos works in degrees not radians otherwise you will get lines at strange angles.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文