refactorings + basis of script editor.
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"git.aiterp.net/lucifer3/server/internal/color"
|
||||
"image"
|
||||
color2 "image/color"
|
||||
"image/png"
|
||||
"math"
|
||||
"os"
|
||||
)
|
||||
|
||||
func main() {
|
||||
img := image.NewRGBA(image.Rect(0, 0, 1000, 1000))
|
||||
for y := 0; y < 1000; y += 1 {
|
||||
for x := 0; x < 1000; x += 1 {
|
||||
vecX := float64(x-500) / 500.0
|
||||
vecY := float64(y-500) / 500.0
|
||||
dist := math.Sqrt(vecX*vecX + vecY*vecY)
|
||||
angle := math.Mod((math.Atan2(vecY/dist, vecX/dist)*(180/math.Pi))+360+90, 360)
|
||||
|
||||
if dist >= 0.9 && dist < 1 && angle > 2.5 && angle < 357.5 {
|
||||
k := 1000 + int(11000*((angle-2.5)/355))
|
||||
c := color.Color{K: &k}
|
||||
rgb, _ := c.ToRGB()
|
||||
img.Set(x, y, color2.RGBA{
|
||||
R: uint8(rgb.RGB.Red * 255.0),
|
||||
G: uint8(rgb.RGB.Green * 255.0),
|
||||
B: uint8(rgb.RGB.Blue * 255.0),
|
||||
A: 255,
|
||||
})
|
||||
} else if dist < 0.85 {
|
||||
rgb := (color.HueSat{Hue: math.Mod(angle+180, 360), Sat: dist / 0.85}).ToRGB()
|
||||
|
||||
img.Set(x, y, color2.RGBA{
|
||||
R: uint8(rgb.Red * 255.0),
|
||||
G: uint8(rgb.Green * 255.0),
|
||||
B: uint8(rgb.Blue * 255.0),
|
||||
A: 255,
|
||||
})
|
||||
} else {
|
||||
img.Set(x, y, color2.RGBA{R: 0, G: 0, B: 0, A: 0})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_ = png.Encode(os.Stdout, img)
|
||||
}
|
||||
Reference in New Issue
Block a user