在foreach循环中获取下一组点,这样我就可以找到多边形';s长度

本文关键字:就可以 多边形 长度 获取 循环 foreach 一组 | 更新日期: 2023-09-27 18:01:07

我使用list来存储许多多边形,使用point class来存储多边形的点。我可以单独得到每个点,我需要计算多边形的长度。。所以我也需要下一点。如何获得

 foreach (Point point in and[reqi])
 {             
     int x1 = point.X;
     int y1 = point.Y;
     MessageBox.Show(x1.ToString());
     MessageBox.Show(y1.ToString());
 }

如何在这一部分中获得类点中的下一个点来计算多边形的长度?

在foreach循环中获取下一组点,这样我就可以找到多边形';s长度

不要忘记最后一段:

// Normal loop on each point : compute distance to previous point
float polyLength=0 ;
for (int i=0;i<PolyPoints[i].Count;i++) 
{ 
  float deltaX = (PolyPoint[i].X-PolyPoint[i-1].X) ;
  float deltaY = (PolyPoint[i].Y-PolyPoint[i-1].Y) ;
  PolyLength  += (float)Math.Sqrt(deltaX*deltaX+deltaY*deltaY) ;
}
if (PolyPoint[PolyPoint.Count-1]!=PolyPoint[0])
{ // last point different from first point : compute distance from last point to first one
  float deltaX = (PolyPoint[PolyPoint.Count-1].X-PolyPoint[0].X) ;
  float deltaY = (PolyPoint[PolyPoint.Count-1].Y-PolyPoint[0].Y) ;
  PolyLength  += (float)Math.Sqrt(deltaX*deltaX+deltaY*deltaY) ;
}
相关文章: