2013-01-10 5 views
2

에서 다각형의 영역 XAML/C#의 Windows 저장소 응용 프로그램 (WinRT)에서 Canvas에 그려진 Polygon 개체의 영역을 결정해야합니다. WinRT 라이브러리에서 Geometry.GetArea()를 제거한 것처럼 보입니다. 그래서 불행하게도이 라이브러리를 사용할 수 없습니다. 이 폴리곤은 불규칙한 모양을하고 동적 점 목록을 사용하기 때문에 정적 수식을 사용할 수 없습니다. WinRT에서이를 수행하기 위해 사용할 수있는 라이브러리 또는 타사 확장이 있습니까?WinRT XAML C#

답변

0

나는 이것을 알아낼 수 있었다. 이 메소드는 Polygon 객체를 사용하여 영역을 지정합니다.

double GetPolygonArea(Polygon poly) 
    { 
     List<Point> points = new List<Point>(); 
     foreach (Point p in poly.Points) 
     { 
      points.Add(p); 
     } 
     points.Add(poly.Points[0]); 
     double xTotal = 0; 
     for (int x = 0; x < points.Count - 1; x++) 
     { 
      xTotal += ((points[x].X) * (points[x + 1].Y)); 
     } 
     double yTotal = 0; 
     for (int y = 0; y < points.Count - 1; y++) 
     { 
      yTotal += ((points[y].Y) * (points[y + 1].X)); 
     } 
     return Math.Abs((xTotal - yTotal)/2); 
    } 
관련 문제