summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorBrandon C. Irizarry <brandon.irizarry@gmail.com>2026-03-07 16:19:49 -0500
committerBrandon C. Irizarry <brandon.irizarry@gmail.com>2026-03-07 16:19:49 -0500
commit82dbad9313b67f29b3279392f2737abd7bee47dc (patch)
tree1c977d6c48bd9332b13e74bfed44fa017fe300e2 /main.go
parent337bdc6d3485007ef151daf37fb43e5dab85722b (diff)
feat: try renaming the file
Diffstat (limited to 'main.go')
-rw-r--r--main.go61
1 files changed, 0 insertions, 61 deletions
diff --git a/main.go b/main.go
deleted file mode 100644
index 1d1ad70..0000000
--- a/main.go
+++ /dev/null
@@ -1,61 +0,0 @@
-package lissajous
-
-import (
- "image"
- "image/color"
- "image/gif"
- "io"
- "math"
- "math/rand/v2"
-)
-
-var palette = []color.Color{
- color.Black,
- color.RGBA{0x00, 0xff, 0x00, 0xff},
- color.RGBA{0xff, 0x00, 0x00, 0xff},
- color.RGBA{0x00, 0x00, 0xff, 0xff},
-}
-
-const (
- backgroundIndex = iota
- foregroundIndex
-)
-
-func Lissajous(out io.Writer) {
- const (
- cycles = 5
- res = 0.001
- size = 100
- nframes = 64
- delay = 8
- )
-
- // Note that this generates the exact same random number per
- // run of the program.
- freq := rand.Float64() * 3.0
- anim := gif.GIF{LoopCount: nframes}
-
- for i := range nframes {
- img := newImage(size, cycles, float64(i)/10, res, freq)
-
- anim.Delay = append(anim.Delay, delay)
- anim.Image = append(anim.Image, img)
- }
-
- gif.EncodeAll(out, &anim)
-}
-
-func newImage(size, cycles int, phase, res, freq float64) *image.Paletted {
- rect := image.Rect(0, 0, 2*size+1, 2*size+1)
- img := image.NewPaletted(rect, palette)
-
- randIndex := 1 + uint8(rand.IntN(len(palette)-1))
-
- for t := 0.0; t < float64(cycles)*2*math.Pi; t += res {
- x := math.Sin(t)
- y := math.Sin(t*freq + phase)
- img.SetColorIndex(size+int(x*float64(size)+0.5), size+int(y*float64(size)+0.5), randIndex)
- }
-
- return img
-}