From 6b64903be70a1b2bdac1efe42276f1b8600adbd3 Mon Sep 17 00:00:00 2001 From: sumi Date: Thu, 18 Dec 2025 01:01:50 -0600 Subject: [PATCH] automated snapshot --- aphrodite | Bin 0 -> 34192 bytes aphrodite.jpeg | Bin 0 -> 10117 bytes field.go | 50 ++++++++++++++++++++++++++++++++++++++++++++++++- main.go | 26 +++++++++++++++++++------ utils.go | 6 ++++++ 5 files changed, 75 insertions(+), 7 deletions(-) create mode 100644 aphrodite create mode 100644 aphrodite.jpeg diff --git a/aphrodite b/aphrodite new file mode 100644 index 0000000000000000000000000000000000000000..85bbb13519776284cd868d3fdf0918236afbc883 GIT binary patch literal 34192 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 a@&A7Y2BrlN6JIbhFfc>e4j^k87#IK~b)D@1 literal 0 HcmV?d00001 diff --git a/aphrodite.jpeg b/aphrodite.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b779412a097ed69e5672520885a1e43cf9a1b015 GIT binary patch literal 10117 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 p.w { + return rl.Black + } + if y < 0 || y >= p.h { + return rl.Black + } + return p.colors[x + y * p.w] +} + +func NewImageField(path string) ImageField { + image := rl.LoadImage(path) + colors := rl.LoadImageColors(image) + pixels := ImagePixels { + w: int(image.Width), + h: int(image.Height), + colors: colors, + } + return ImageField { image: image, pixels: pixels } +} + +func (f *ImageField) Get(x, y float32) float32 { + // todo : blend colors + c := f.pixels.Get(int(x), int(y)) + return Brightness(c) +} diff --git a/main.go b/main.go index ddc626e..01803ef 100644 --- a/main.go +++ b/main.go @@ -13,8 +13,8 @@ import ( ) const ( - screenWidth = 1400 - screenHeight = 700 + screenWidth = 1200 + screenHeight = 900 displayScale = 2 snapshotsDir = "snapshots" ) @@ -49,20 +49,34 @@ func main() { Zoom: 1.0, } + /* field := ScaleField { - Scale: 10.0, + Scale: 50.0, Field: &SimplexNoiseField { Noise: opensimplex.NewNormalized32(0), }, } + */ + + imgf := NewImageField("aphrodite.jpeg") + imageField := + TranslateField { + x: float32(w) / 2.0, + y: float32(h) / 2.0, + //x: 5, y: 5, + Field: &ScaleField { + Scale: 4.5, + Field: &imgf, + }, + } rng := rand.New(rand.NewSource(0)) - contourSketch := NewContourSketch(rng, &field) + contourSketch := NewContourSketch(rng, &imageField) sketches := []Sketch { - //&FieldSketch { Field: &field }, + //&FieldSketch { Field: &imageField }, &contourSketch, } @@ -156,7 +170,7 @@ func NewContourSketch(rng *rand.Rand, field Field) ContourSketch { position: RandRadialVec(rng, 0, 500, 0, 360), field: field, stepSize: 0.5, - color: rl.NewColor(11, 35, 176, 200), + color: rl.NewColor(11, 35, 176, 170), } } diff --git a/utils.go b/utils.go index f5f70d4..6321248 100644 --- a/utils.go +++ b/utils.go @@ -21,4 +21,10 @@ func GrayCurve(v, k float32) rl.Color { return rl.Color{R: c, G: c, B: c, A: 255} } +func Brightness(c rl.Color) float32 { + r := float32(c.R) / 255 + g := float32(c.G) / 255 + b := float32(c.B) / 255 + return 0.2126*r + 0.7152*g + 0.0722*b +}