2017-01-26 1 views
-1

BenDi가 this library을 발견하여 점 집합에서 보로 니 에지를 생성했습니다. 다음 코드를 사용하면 보로 노이 셀의 가장자리를 계산할 수 있습니다.보로 노 에지에서 폴리곤 가져 오기

using System; 
using System.Collections.Generic; 
using BenTools.Mathematics; 
namespace Voronoi 
{ 
    class MainClass 
    { 
     public static void Main(string[] args) 
     { 
      Vector[] V = new Vector[4]; 
      V[0] = new Vector(1.3, 2.8); 
      V[1] = new Vector(0.5, 2.8); 
      V[2] = new Vector(2, 1.8); 
      V[3] = new Vector(1, 3); 

      List<Vector> VoronoiSource = new List<Vector>(); 
      VoronoiSource.AddRange(V); 

      VoronoiGraph Graph = Fortune.ComputeVoronoiGraph(VoronoiSource); 
      Console.WriteLine("Graph has {0} edges", Graph.Edges.Count); 

      foreach (var Edge in Graph.Edges) 
      { 
       Console.WriteLine("Edge: {0}", Edge.DirectionVector); 
      } 
     } 
    } 
} 

출력 :

Graph has 5 edges 
Edge: (-0,5547;-0,8321) 
Edge: (0,8192;0,5735) 
Edge: (0;1) 
Edge: (0,5547;0,8321) 
Edge: (-0,3714;0,9285) 

어떻게이 가장자리에서 다각형으로 보로 노이 셀을 계산할 수있다?

답변

1

각 가장자리의 중간 점과 각 사이트까지의 거리를 선택한 다음 결과를 정렬하고 첫 번째와 두 번째를 선택하여 (동일 할 때) 다각형에 저장하십시오. 국경을 위해 당연히 단지 1 개의 가장자리가있다.