package main
import (
"math/rand"
"os"
"time"
)
const PointNum = 100
func main() {
// Initialization
timestamp := time.Now().UnixNano()
rand.Seed(timestamp)
delone := DeloneDCached{}
// Superstructure
firstTriangle := delone.AddTriangle(Triangle { [3]Point {
{0, 0},
{100, 0},
{0, 100},
}}, nil, nil, nil)
delone.IncStep()
secondTriangle := delone.AddTriangle(Triangle { [3]Point {
{100, 100},
{100, 0},
{0, 100},
}}, nil, nil, nil)
firstTriangle.UpdateAdjacency(secondTriangle)
delone.IncStep()
// Cache
delone.InitCache(Point{100, 100}, 4, 4, 0, 16)
// Adding points
for i := 0; i < PointNum; i += 1 {
p := randPoint()
delone.AppendPoint(p)
delone.CheckDelone()
}
delone.Finish()
// Output
f, err := os.Create("./resrc/output.svg")
if err != nil {
panic(err)
}
defer f.Close()
delone.ToSVG(f, false, false)
}
func randCoor() float64 {
return float64(rand.Int() % 100)
}
func randPoint() Point {
return Point{randCoor(), randCoor()}
}