package main import math rand os time const PointNum 100 func main Ini

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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()}
}