Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有多少线穿过障碍物_C#_Visual Studio_Visual Studio 2010_Algorithm_Drawing - Fatal编程技术网

C# 有多少线穿过障碍物

C# 有多少线穿过障碍物,c#,visual-studio,visual-studio-2010,algorithm,drawing,C#,Visual Studio,Visual Studio 2010,Algorithm,Drawing,我有个问题要解决。请看图片: 红色填充椭圆是一个障碍 黑点是“道路”的起点和终点 蓝线,是从一点到另一点的最短路径 我用鼠标画障碍物(鼠标点击创建椭圆),然后放上起点和终点的绳子,然后用拉线从一点到另一点画线。这里的问题是,我如何检查或计数,线的多少像素,穿过障碍物 在画线之前,我想把每个像素颜色都放在一个2D数组中,然后在数字上进行检查,计算从一点到另一点的最短路径,并检查它在该数组中会遇到多少255(障碍数字)?正如你们所看到的,我可以用这种方式制造障碍物,所以这条线会穿过中间,只是它

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

  • 红色填充椭圆是一个障碍
  • 黑点是“道路”的起点和终点
  • 蓝线,是从一点到另一点的最短路径
我用鼠标画障碍物(鼠标点击创建椭圆),然后放上起点和终点的绳子,然后用拉线从一点到另一点画线。这里的问题是,我如何检查或计数,线的多少像素,穿过障碍物

在画线之前,我想把每个像素颜色都放在一个2D数组中,然后在数字上进行检查,计算从一点到另一点的最短路径,并检查它在该数组中会遇到多少255(障碍数字)?正如你们所看到的,我可以用这种方式制造障碍物,所以这条线会穿过中间,只是它的一部分,甚至是它的旁边。我只是不知道怎么做。我需要它,这样我就能给每一条“路”打分。通过障碍物的次数越多,速度越慢

有什么想法吗?有算法吗

  • 使用和的方程,找到直线与椭圆轮廓的交点(可能有2个、1个或没有交点)。你可以找到一个有效的例子
  • 如果确实有两个交点,请使用计算它们之间的距离
  • 使用和的方程,找到直线与椭圆轮廓的交点(可能有2个、1个或没有交点)。你可以找到一个有效的例子
  • 如果确实有两个交点,请使用计算它们之间的距离