首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有最小cos/sin的圆上点的坐标

具有最小cos/sin的圆上点的坐标
EN

Stack Overflow用户
提问于 2017-05-05 03:56:41
回答 1查看 70关注 0票数 0

当前在点U= (ux,uy)的车辆正沿着半径为R的圆以速度s和方向d(即与圆相切,与X轴成d角)逆时针移动。它会在时间t的什么位置V= (vx,vy)?未指定圆的圆心。在我看来,在时间t之后,它会沿着圆周移动st,或st/R的角度。但是我在尝试从这些信息中计算V时迷失了方向。我可以首先基于(ux,uy),R和d找到圆的中心C,然后找到向量CV的点,也就是V,但这是一大堆余弦和正弦。我受到CPU的限制,所以可能一个正弦/cos/tan是可以接受的,或者一个或两个平方根/平方根是可以接受的。

EN

回答 1

Stack Overflow用户

发布于 2017-05-09 22:28:01

这需要一个图表,但可惜我缺乏这方面的技能。

我假设半径、速度和时间间隔是这样的,即在可用时间内,车辆不会绕圆半圈以上。

设V是车辆到达U后的t秒处的点,设圆的中心(不需要坐标)为0,则从U到V的弧长为

代码语言:javascript
复制
A = s*t

所以在O处的角度是

代码语言:javascript
复制
a = A/R radians. 

从U到V的方向将与U和V中间点处的圆的切线方向相同,即

代码语言:javascript
复制
e = d + a/2

从U到V的距离是从U到V的弦的长度。弦的中点是两个全等直角三角形的顶点,其斜边的长度为R,O处的角度为a/2。因此弦的长度为

代码语言:javascript
复制
C = 2*R*sin( a/2)

最后

代码语言:javascript
复制
V = U + C*(cos(e), sin(e))

您可能还需要V处切线的方向。这是d+a。

请注意,如果将方向d存储为单位向量而不是角度,则可以保存一些sin & cos调用,因为弦的方向是d旋转通过a/2的方向,V处的方向是d旋转通过a的方向。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43791776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档