public static SphereMeshData GenerateSphere(float density, float planetRadius) { List <Vector3> points = GeneratePoints(density, planetRadius); //triangulate the projection of the points DelaunayCalculator delaunayCalculator = new DelaunayCalculator(); DelaunayTriangulation triangulation = new DelaunayTriangulation(); delaunayCalculator.CalculateTriangulation(StereographicProjection(points), ref triangulation); return(GenerateMesh(triangulation, points, planetRadius)); }
public FibonacciPoints3D(int numPoints, float radius) { Points3D = new List <Vector3>(); Points2D = new List <Vector2>(); PointsM = new List <Vector3>(); PointsU = new List <Vector3>(); Triangles = new int[Points3D.Count * 3]; Dc = new DelaunayCalculator(); Dt = null; Update_Points(numPoints, radius); }
public FibonacciPoints3D() { Points3D = new List <Vector3>(); Points2D = new List <Vector2>(); PointsM = new List <Vector3>(); PointsU = new List <Vector3>(); Triangles = new int[Points3D.Count * 3]; Vertices = new Vector3[Points3D.Count]; Dc = new DelaunayCalculator(); Dt = null; Update_Points(50, 0.5f); }
public static DelaunayTriangulation GetDelaunayIndexes(List <float[]> points) { var delaunay = new DelaunayCalculator(); return(delaunay.CalculateTriangulation(points)); }