remove wave
This commit is contained in:
parent
3673852e35
commit
9ff744e60e
2 changed files with 0 additions and 60 deletions
|
@ -1,18 +0,0 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"generativeart"
|
||||
"math"
|
||||
)
|
||||
|
||||
func formula1(x, y float64) (float64, float64) {
|
||||
return 0.18*x*x - math.Sin(y*y),
|
||||
0.059*y*y*y - math.Cos(x*x)
|
||||
}
|
||||
|
||||
func main() {
|
||||
c := generativeart.NewCanva(1600, 1600, 2, 2)
|
||||
c.FillBackground()
|
||||
c.Draw(generativeart.NewWave(formula1))
|
||||
c.ToPNG("g1.png")
|
||||
}
|
42
wave.go
42
wave.go
|
@ -1,42 +0,0 @@
|
|||
package generativeart
|
||||
|
||||
import (
|
||||
"math"
|
||||
|
||||
"github.com/fogleman/gg"
|
||||
)
|
||||
|
||||
type Formula func(x, y float64) (float64, float64)
|
||||
|
||||
type wave struct {
|
||||
fn Formula
|
||||
}
|
||||
|
||||
// NewWave returns a wave generator.
|
||||
func NewWave(fn Formula) *wave {
|
||||
return &wave{fn: fn}
|
||||
}
|
||||
|
||||
// Generative draws the image.
|
||||
func (w *wave) Generative(c *canva) {
|
||||
ctex := gg.NewContextForRGBA(c.img)
|
||||
for x := -math.Pi; x <= math.Pi; x += 0.01 {
|
||||
for y := -math.Pi; y <= math.Pi; y += 0.01 {
|
||||
xi, yi := w.fn(x, y)
|
||||
var i, j int
|
||||
if c.opts.isPolarCoodinate {
|
||||
i, j = ConvertCartesianToPolarPixel(xi, yi, c.xaixs, c.yaixs, c.height, c.width)
|
||||
} else {
|
||||
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 {
|
||||
continue
|
||||
}
|
||||
|
||||
ctex.DrawCircle(float64(i), float64(j), c.opts.radius)
|
||||
ctex.SetColor(c.opts.foreground)
|
||||
ctex.Fill()
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue