automated snapshot

This commit is contained in:
sumi
2025-12-16 17:53:10 -06:00
parent 5ad740b15f
commit 4b5f9d3c85

16
main.go
View File

@@ -58,9 +58,9 @@ func main() {
w := rl.GetRenderWidth() w := rl.GetRenderWidth()
h := rl.GetRenderHeight() h := rl.GetRenderHeight()
angles := make([]float32, 1000) angles := make([]float32, 2000)
noise := opensimplex.NewNormalized(0) noise := opensimplex.NewNormalized(0)
r := 0.75 r := 2.0
dtheta := 360.0/float64(len(angles)) dtheta := 360.0/float64(len(angles))
for i := range len(angles) { for i := range len(angles) {
rad := float64(i) * dtheta * math.Pi / 180.0 rad := float64(i) * dtheta * math.Pi / 180.0
@@ -70,12 +70,12 @@ func main() {
} }
sketches := []Sketch{ sketches := []Sketch{
&SierpinskiArrow{},
&Worm{ &Worm{
position: rl.Vector2 { X: 50, Y: 50 }, position: rl.Vector2 { X: 50, Y: 50 },
angles: angles, angles: angles,
angleIndex: 0, angleIndex: 0,
stepSize: 2, stepSize: 1,
renderPct: 0.1,
}, },
} }
@@ -141,8 +141,6 @@ func main() {
rl.EndMode2D() rl.EndMode2D()
rl.DrawLine(10, 10, int32(w-10), int32(h-10), rl.Black)
// HUD // HUD
rl.DrawText("Mouse right button drag to move, mouse wheel to zoom", 10, 10, 20, rl.Black) rl.DrawText("Mouse right button drag to move, mouse wheel to zoom", 10, 10, 20, rl.Black)
rl.EndDrawing() rl.EndDrawing()
@@ -189,12 +187,14 @@ type Worm struct {
angles []float32 angles []float32
angleIndex int angleIndex int
stepSize int stepSize int
renderPct float32
} }
func (w *Worm) Draw(ctx *RenderCtx) { func (w *Worm) Draw(ctx *RenderCtx) {
rl.PushMatrix() rl.PushMatrix()
rl.Translatef(w.position.X, w.position.Y, 0) rl.Translatef(w.position.X, w.position.Y, 0)
lastAngle := float32(0.0) lastAngle := float32(0.0)
stepCount := 0
for i := range w.angles { for i := range w.angles {
ii := (i + w.angleIndex) % len(w.angles) ii := (i + w.angleIndex) % len(w.angles)
angle := w.angles[ii] angle := w.angles[ii]
@@ -202,6 +202,10 @@ func (w *Worm) Draw(ctx *RenderCtx) {
rl.DrawLine(0, 0, int32(w.stepSize), 0, rl.Black) rl.DrawLine(0, 0, int32(w.stepSize), 0, rl.Black)
rl.Translatef(float32(w.stepSize), 0, 0) rl.Translatef(float32(w.stepSize), 0, 0)
lastAngle = angle lastAngle = angle
stepCount++
if stepCount > int(float32(len(w.angles))*w.renderPct) {
break
}
} }
rl.PopMatrix() rl.PopMatrix()
w.angleIndex = (w.angleIndex + 1) % len(w.angles) w.angleIndex = (w.angleIndex + 1) % len(w.angles)