繁体   English   中英

多少线经过障碍物

[英]How much of line goes through obstacle

我有一个要解决的问题。 看图片: 图片

  • 红色填充的椭圆形是一个障碍。
  • 黑点是“道路”的起点和终点。
  • 蓝线是从一个点到另一个点的最短方法。

我使用鼠标绘制障碍物(鼠标单击会创建椭圆形),然后放入起点和终点的绳索,然后使用DrawLine从点到点绘制线。 这里的问题是,我如何检查或计数,行数像素,越过障碍?

我想过在画线之前将每种像素颜色放入2D阵列中,然后以某种方式在数字上进行检查,计算点到点的最短距离,并检查在该阵列中会遇到多少个255(障碍物数)? 如您所见,我可以通过这种方式创建障碍,因此线会穿过中间,仅一部分或什至旁边。 我根本不知道该怎么做。 我需要它,所以我可以为每条“道路”评分。 通过障碍越多,获得的速率就越少。

有任何想法吗? 有什么算法吗?

  1. 使用椭圆直线的方程,找到直线与椭圆轮廓的交点(可能有2个,1个或没有交点)。 您可以在这里找到一个可行的示例。
  2. 如果确实有2个相交点,则使用距离公式计算它们之间的距离。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM