From e6decd968c66a398b3b571c8179e80c56c97385f Mon Sep 17 00:00:00 2001 From: Yongwei Xing Date: Fri, 26 Feb 2021 17:23:56 +0800 Subject: [PATCH] add some other colors --- color.go | 31 +++++++++++++++++++++---------- example/example.go | 10 +++++----- utils.go | 26 ++++---------------------- wave.go | 4 ++-- 4 files changed, 32 insertions(+), 39 deletions(-) diff --git a/color.go b/color.go index 6db9412..bc7c709 100644 --- a/color.go +++ b/color.go @@ -2,13 +2,24 @@ package generativeart import "image/color" -var MistyRose = color.RGBA{0xFF, 0xE4, 0xE1, 0xFF} -var DarkSalmon = color.RGBA{0xE9, 0x96, 0x7A, 0xFF} -var Tan = color.RGBA{0xD2, 0xB4, 0x8C, 0xFF} -var Bisque = color.RGBA{0xFF, 0xE4, 0xC4, 0xFF} -var Mintcream = color.RGBA{0xF5, 0xFF, 0xFA, 0xFF} -var Aquamarine = color.RGBA{0x7F, 0xFF, 0xD4, 0xFF} -var Azure = color.RGBA{0xF0, 0xFF, 0xFF, 0xFF} -var Lavender = color.RGBA{0xE6, 0xE6, 0xFA, 0xFF} -var Plum = color.RGBA{0xDD, 0xA0, 0xDD, 0xFF} -var AntiqueWhite = color.RGBA{0xFA, 0xEB, 0xD7, 0xFF} +var ( + MistyRose = color.RGBA{0xFF, 0xE4, 0xE1, 0xFF} + DarkSalmon = color.RGBA{0xE9, 0x96, 0x7A, 0xFF} + Tan = color.RGBA{0xD2, 0xB4, 0x8C, 0xFF} + Bisque = color.RGBA{0xFF, 0xE4, 0xC4, 0xFF} + Mintcream = color.RGBA{0xF5, 0xFF, 0xFA, 0xFF} + Aquamarine = color.RGBA{0x7F, 0xFF, 0xD4, 0xFF} + Azure = color.RGBA{0xF0, 0xFF, 0xFF, 0xFF} + Lavender = color.RGBA{0xE6, 0xE6, 0xFA, 0xFF} + Plum = color.RGBA{0xDD, 0xA0, 0xDD, 0xFF} + AntiqueWhite = color.RGBA{0xFA, 0xEB, 0xD7, 0xFF} + NavajoWhite = color.RGBA{0xFF, 0xDE, 0xAD, 0xFF} + Moccasin = color.RGBA{0xFF, 0xE4, 0xB5, 0xFF} + MediumAquamarine = color.RGBA{0x66, 0xCD, 0xAA, 0xFF} + PaleTurquoise = color.RGBA{0xAF, 0xEE, 0xEE, 0xFF} + LightPink = color.RGBA{0xFF, 0xB6, 0xC1, 0xFF} + Tomato = color.RGBA{0xFF, 0x63, 0x47, 0xFF} + Orange = color.RGBA{0xFF, 0xA5, 0x00, 0xFF} + Black = color.RGBA{0x00, 0x00, 0x00, 0xFF} + White = color.RGBA{0xFF, 0xFF, 0xFF, 0xFF} +) diff --git a/example/example.go b/example/example.go index 2425cda..5adaa95 100644 --- a/example/example.go +++ b/example/example.go @@ -6,14 +6,14 @@ import ( ) func formula1(x, y float64) (float64, float64) { - return -0.13*x*x - math.Sin(y*y) + math.Cos(x*y), - -0.96*y*y*y - math.Cos(x*x) + return 0.18*x*x - math.Sin(y*y), + 0.059*y*y*y - math.Cos(x*x) } func main() { - c := generativeart.NewCanva(800, 800, 4, 4) - c.FillBackgroud(generativeart.AntiqueWhite) + c := generativeart.NewCanva(1600, 1600, 4, 4) + c.FillBackgroud(generativeart.Tomato) g := generativeart.NewWave(formula1) - g.GenerativePolar(c, generativeart.DarkSalmon) + g.GenerativePolar(c, generativeart.Black) c.ToPng("g1.png") } diff --git a/utils.go b/utils.go index 24d275d..f26fa7e 100644 --- a/utils.go +++ b/utils.go @@ -5,17 +5,8 @@ import "math" func ConvertCartesianToPixel(x, y, xaixs, yaixs float64, h, w int) (int, int) { xr, yr := x/xaixs, y/yaixs var i, j int - if xr > 0 { - i = w/2 + int(float64(w)/2*xr) - } else { - i = w/2 + int(float64(w)/2*xr) - } - - if yr > 0 { - j = h/2 + int(float64(h)/2*yr) - } else { - j = h/2 + int(float64(h)/2*yr) - } + i = w/2 + int(float64(w)/2*xr) + j = h/2 + int(float64(h)/2*yr) return i, j } @@ -37,17 +28,8 @@ func ConvertPolarToPixel(r, theta, xaixs, yaixs float64, h, w int) (int, int) { xr, yr := x/xaixs, y/yaixs var i, j int - if xr > 0 { - i = w/2 + int(float64(w)/2*xr) - } else { - i = w/2 + int(float64(w)/2*xr) - } - - if yr > 0 { - j = h/2 + int(float64(h)/2*yr) - } else { - j = h/2 + int(float64(h)/2*yr) - } + i = w/2 + int(float64(w)/2*xr) + j = h/2 + int(float64(h)/2*yr) return i, j } diff --git a/wave.go b/wave.go index 7db3eae..038a75c 100644 --- a/wave.go +++ b/wave.go @@ -32,8 +32,8 @@ func (w *wave) GenerativePolar(c *canva, rgba color.RGBA) { // Generative draws the image in cartesian coordinate system. func (w *wave) Generative(c *canva, rgba color.RGBA) { - for x := -math.Pi; x <= math.Pi; x += 0.008 { - for y := -math.Pi; y <= math.Pi; y += 0.008 { + for x := -math.Pi; x <= math.Pi; x += 0.002 { + for y := -math.Pi; y <= math.Pi; y += 0.002 { xi, yi := w.fn(x, y) i, j := ConvertCartesianToPixel(xi, yi, c.xaixs, c.yaixs, c.height, c.width) if i < 0 || i > c.width-1 || j < 0 || j > c.height-1 {