24小时热门版块排行榜    

查看: 1204  |  回复: 13

199821756

铁虫 (初入文坛)

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

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

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的回帖
普通回帖

yangjunjuan

铜虫 (初入文坛)

【答案】应助回帖

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

jsky1988

新虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
算角度。。顺时针一个角逆时针一个角

[ 发自小木虫客户端 ]
6楼2014-04-27 11:37:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dameng

银虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
搞不懂楼主要问什么东西,就像4楼说的,通过坐标直接算出来不就行了。
如果不知道坐标,你怎么确定当前所在点是哪个,目标点是哪个,又怎么知道哪个点和哪个点距离多近
研究方向:数据库。主要面向图数据管理、图数据挖掘、社会网络等。目前正在关注动态图算法。
7楼2014-04-27 12:53:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

199821756

铁虫 (初入文坛)

引用回帖:
3楼: Originally posted by libralibra at 2014-04-24 23:06:41
圆心连'你所在的点'作为vec1,角度记为0
圆心连'目标点'作为vec2
从vec1->vec2按照顺时针计算平面旋转角度a,
if a<=180: 输出顺时针近
else: 输出逆时针近

你好  还有个小逻辑想问问,  就是过0处理,  我控制电机做定位运动。您回答的问题解决了我的方向问题,还有就是 所在点和目标点的距离问题,可否也指点小弟一下。1~16384 同样假设为距离。 实时的位置由另一个板子提供可不考虑。
8楼2014-04-27 21:15:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

199821756

铁虫 (初入文坛)

引用回帖:
7楼: Originally posted by dameng at 2014-04-27 12:53:46
搞不懂楼主要问什么东西,就像4楼说的,通过坐标直接算出来不就行了。
如果不知道坐标,你怎么确定当前所在点是哪个,目标点是哪个,又怎么知道哪个点和哪个点距离多近

1楼和2楼  看懂了我的意思。其实意思很简单,你是不是想复杂了。
9楼2014-04-27 21:16:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jerkwin

专家顾问 (正式写手)

引用回帖:
2楼: Originally posted by jerkwin at 2014-04-24 22:43:22
确定圆心, 计算两个点之间的圆心角, 根据圆心角和180度的关系确定旋转方向

不明白"过0处理"什么意思.
10楼2014-04-27 21:50:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 199821756 的主题更新
信息提示
请填处理意见