24小时热门版块排行榜    

查看: 1207  |  回复: 13
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

199821756

铁虫 (初入文坛)

[求助] 大虾们过来给我个算法指示吧!牛的都来看看C/C++已有6人参与

一个圆,分为16384个点,,知道你所在的点 和目标点,,你如何通过算法逻辑判断 到底是顺时针过去近,还是逆时针近。当然一样距离2算顺时针近。
说下你认为最简单合理的方法 谢谢了!我脑袋都想炸了!!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yangjunjuan

铜虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
可否知道目标点沿顺时针方向的等差目标前一点(s1)和目标点的后一点(s2)呢,如果知道的话可以计算当前点(o)与目标点的前一点与后一点的距离,并进行比较,若o与s1的距离大于o与s2的距离则采用逆时针方向,否则采用顺时针方向
5楼2014-04-27 11:13:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 14 个回答

jerkwin

专家顾问 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
199821756: 金币+5, 有帮助, 你好 还有个小逻辑想问问, 就是过0处理, 我控制电机做定位运动。您回答的问题解决了我的方向问题,还有就是 所在点和目标点的距离问题,可否也指点小弟一下。1~16384 同样假设为距离。 实时的位置由另一个板子提供可不考虑。 2014-04-27 21:15:44
确定圆心, 计算两个点之间的圆心角, 根据圆心角和180度的关系确定旋转方向
2楼2014-04-24 22:43:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

感谢参与,应助指数 +1
圆心连'你所在的点'作为vec1,角度记为0
圆心连'目标点'作为vec2
从vec1->vec2按照顺时针计算平面旋转角度a,
if a<=180: 输出顺时针近
else: 输出逆时针近
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
3楼2014-04-24 23:06:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rbs

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
已知是以什么数据形式给出的?如果已知是点的(x,y)坐标的话,
那么知道圆心的坐标,当前的坐标,目标的坐标,
以圆心为基点,对另外两个点做一个叉积,叉积为正逆时针,叉积为负顺时针,叉积为0说明两点为形成一条直径
4楼2014-04-25 10:18:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见