Project1

标题: 如何高效的判定射线相交呢? [打印本页]

作者: 无脑之人    时间: 2013-10-27 10:00
标题: 如何高效的判定射线相交呢?
两条射线 它的属性有起点和角度 怎么高效的判定他相交?
作者: 鑫の尘埃    时间: 2013-10-27 10:03
首先如此,然后这般即可
作者: 余烬之中    时间: 2013-10-27 10:10
方向相同?
是 返回假

  计算斜率和直线交点位置
  如果向量:起点->交点与射线方向不同
  返回假
  否则真
结束
【私以为射线的属性应该不是角度而是方向……
作者: Pantsu    时间: 2013-10-27 10:10
本帖最后由 Pantsu 于 2013-10-27 11:43 编辑

不平行就必然会相交,
如此一来就只看射线方向就行了
(我是小学生

参考一下这个?
http://zhidao.baidu.com/link?url ... _0r7vrIXiqnqMgCNRKK
作者: yagami    时间: 2013-10-27 12:21
我觉得 你可以先去阅读下box2d的源码 里面连斜矩形碰撞都有 关于效率问题 所有三角函数都用查表 精确度 一般1/360就足矣了  开平方的话 用QUAKE3里的快速平方根算法
作者: 晴兰    时间: 2013-10-27 14:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: orochi2k    时间: 2013-10-27 14:32
要高效,用汇编(重点错的大雾~\(≧▽≦)/~)
作者: 绿坝    时间: 2013-10-27 14:40
不平行即相交
作者: kvkv97    时间: 2014-11-10 21:15
本帖最后由 kvkv97 于 2014-11-10 21:24 编辑

怎么简单的你都不会啊,可以做这样的判断:
在平面内
如果  两条射线不平行
    那么有相交和不相交
    如果  一条射线起点和另外一条射线起点重合,那么相交
    结束
    如果   一条射线起点和另外一条射线起点不重合,那么判断射线方向
         如果,一条射线方向和另外一条射线方向相反,那么不相交
         结束
         如果,一条射线方向和另外一条射线方向相同,那么相交
         结束
     结束
结束
在空间内
如果  两条射线不平行在平面内
    执行情况1
结束
如果 两条射线不平行在平面内
   不相交
结束





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1