V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
biggun
V2EX  ›  程序员

如何判断路线 L 和凹多边形 O 相交,并且效率的求算路线 L 在凹多边形 P 内部的距离

  •  
  •   biggun · 2015-12-08 14:05:44 +08:00 · 2496 次点击
    这是一个创建于 3281 天前的主题,其中的信息可能已经有所发展或是发生改变。

    题目如题:

    • 如何判断路线 L 和凹多边形 O 相交,并且效率的求算路线 L 在凹多边形 P 内部的距离

    • 判断相交可以做到

    • 我选择的是首先对多边形做一个 triangulation 。利用得到的三角形集合可以很快的判断路线和多边形是否相交。

    • 卡在了求出相交部分,路线在多边形内部的距离。

    求指点。或者给出可行算法也行。

    3 条回复    2015-12-09 09:16:22 +08:00
    menc
        1
    menc  
       2015-12-08 15:31:54 +08:00   ❤️ 1
    从任意一边无穷远处沿一个方向前进,
    得交点集合{P1,P2...Pn}
    则,第 2k+1 个交点和第 2k+2 个交点间的距离和即为所求
    ossphil
        2
    ossphil  
       2015-12-08 21:10:37 +08:00   ❤️ 1
    路线可以简化成一系列点,即一系列直线的合集,然后可以判断每个点是否在多边形内部,计算出交点就可以知道路线 L 在多边形内部的距离了。
    http://alienryderflex.com/polygon/
    hccbook
        3
    hccbook  
       2015-12-09 09:16:22 +08:00
    看你的要求有多高,低要求的话,可以尝试一下蒙特卡洛算法,或者其改进算法 MCMC
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2605 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 104ms · UTC 10:48 · PVG 18:48 · LAX 02:48 · JFK 05:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.