diff options
-rw-r--r-- | draw/draw.go | 34 | ||||
-rw-r--r-- | main.go | 9 |
2 files changed, 37 insertions, 6 deletions
diff --git a/draw/draw.go b/draw/draw.go new file mode 100644 index 0000000..9ee1bd7 --- /dev/null +++ b/draw/draw.go @@ -0,0 +1,34 @@ +package draw + +import ( + "../structs" + "github.com/fogleman/gg" +) + +// initializePlot generates a new plot and returns the plot context +func initializePlot() *gg.Context { + + // Define the image size + const image_width = 8192 + const image_height = 8192 + + // Initialize the new context + dc := gg.NewContext(image_width, image_height) + + // Set the background black + dc.SetRGB(0, 0, 0) + dc.Clear() + + // Set the coordinate midpoint to the middle of the image + dc.Translate(image_width/2, image_height/2) + + return dc +} + +func Slice(slice []structs.Star, path string) { + dc := initializePlot() + dc.SetRGB(1, 1, 1) + dc.DrawCircle(0, 0, 100) + dc.Stroke() + dc.SavePNG(path) +} diff --git a/main.go b/main.go index b6c0aeb..454abe5 100644 --- a/main.go +++ b/main.go @@ -1,9 +1,9 @@ package main import ( + "./draw" "./forces" "./structs" - "fmt" ) func main() { @@ -14,9 +14,6 @@ func main() { {structs.Coord{X: 100, Y: 500}, structs.Force{0, 0}, 1000}, } - // Print the starsSlice - fmt.Println(starsSlice) - - // Calculate the forces acting inbetween all the stars in the starsSlice slice and star nr 0 in the starsSlice slice - fmt.Println(forces.CalcAllForces(starsSlice)) + forces.CalcAllForces(starsSlice) + draw.Slice(starsSlice, "out.png") } |