LLR104 2015-11-29 07:49 采纳率: 28.6%
浏览 2266

算法题,求某点是否在平行四边形内

算法题,已知某点的坐标和平行四边形的四个点,求点是否在平行四边形内,用算法如何实现?

  • 写回答

2条回答 默认 最新

  • ysuwood 2015-11-29 08:29
    关注

    平面上点在任意多边形内部的计算方法,就是从点所在位置做一个水平或者垂直的射线
    计算它和多边形的交点,奇数在内,偶数在外

    对于特殊的四边形或者需要精确知道点和多边形之间关系的,有其他的办法
    对于楼主的平行四边形的特例,可以使用仿射坐标分解的办法,这个方法在三维系统当中经常被用于碰撞检测里面射线和三角形相交的检测
    把点按照平行四边形的两个相邻边分解,得到仿射坐标(u,v)
    如果 0<=u<=1 并且 0<=v<= 1 则表示点在平行四边形内部,否则在外
    如果加上 u+v<=1 则可以盘点,点是否在相邻的两个边组成的三角形内, 这个就是常用的点在三角形内部的算法

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?