Updated for render
This commit is contained in:
		
							
								
								
									
										3
									
								
								images/renderVideo.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								images/renderVideo.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
ffmpeg -pattern_type glob -i "*.png" out.mp4
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										55
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										55
									
								
								main.go
									
									
									
									
									
								
							@@ -10,50 +10,34 @@ import (
 | 
			
		||||
	"os"
 | 
			
		||||
	"sync"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"deadbeef.codes/steven/mandelbrot/palette"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	colorPalette    string
 | 
			
		||||
	colorStep       float64
 | 
			
		||||
	xpos, ypos      float64
 | 
			
		||||
	width, height   int
 | 
			
		||||
	imageSmoothness int
 | 
			
		||||
	maxIteration    int
 | 
			
		||||
	escapeRadius    float64
 | 
			
		||||
	outputFile      string
 | 
			
		||||
	colorPalette string
 | 
			
		||||
	colorStep    float64
 | 
			
		||||
	xpos, ypos   float64
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var waitGroup sync.WaitGroup
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	flag.Float64Var(&colorStep, "step", 12000, "Color smooth step. Value should be greater than iteration count, otherwise the value will be adjusted to the iteration count.")
 | 
			
		||||
	flag.IntVar(&width, "width", 480, "Rendered image width")
 | 
			
		||||
	flag.IntVar(&height, "height", 270, "Rendered image height")
 | 
			
		||||
	flag.Float64Var(&xpos, "xpos", -0.00275, "Point position on the real axis (defined on `x` axis)")
 | 
			
		||||
	flag.Float64Var(&ypos, "ypos", 0.78912, "Point position on the imaginary axis (defined on `y` axis)")
 | 
			
		||||
	flag.Float64Var(&escapeRadius, "radius", .125689, "Escape Radius")
 | 
			
		||||
	flag.IntVar(&maxIteration, "iteration", 2400, "Iteration count")
 | 
			
		||||
	flag.IntVar(&imageSmoothness, "smoothness", 8, "The rendered mandelbrot set smoothness. For a more detailded and clear image use higher numbers. For 4xAA (AA = antialiasing) use -smoothness 4")
 | 
			
		||||
	flag.StringVar(&colorPalette, "palette", "Plan9", "Hippi | Plan9 | AfternoonBlue | SummerBeach | Biochimist | Fiesta")
 | 
			
		||||
	flag.StringVar(&outputFile, "file", "mandelbrot.png", "The rendered mandelbrot image filname")
 | 
			
		||||
	flag.Parse()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func main() {
 | 
			
		||||
	done := make(chan struct{})
 | 
			
		||||
	ticker := time.NewTicker(time.Millisecond * 100)
 | 
			
		||||
 | 
			
		||||
	go func() {
 | 
			
		||||
		for {
 | 
			
		||||
			select {
 | 
			
		||||
			case <-ticker.C:
 | 
			
		||||
				fmt.Print(".")
 | 
			
		||||
			case <-done:
 | 
			
		||||
				ticker.Stop()
 | 
			
		||||
				fmt.Printf("\n\nMandelbrot set rendered into `%s`\n", outputFile)
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}()
 | 
			
		||||
	//var escapeRadius float64 = 0.125689
 | 
			
		||||
	var escapeRadius float64 = -0.01
 | 
			
		||||
	maxIteration := 800
 | 
			
		||||
	imageSmoothness := 1
 | 
			
		||||
	width := 1920
 | 
			
		||||
	height := 1080
 | 
			
		||||
 | 
			
		||||
	if colorStep < float64(maxIteration) {
 | 
			
		||||
		colorStep = float64(maxIteration)
 | 
			
		||||
@@ -61,8 +45,14 @@ func main() {
 | 
			
		||||
	colors := interpolateColors(&colorPalette, colorStep)
 | 
			
		||||
 | 
			
		||||
	if len(colors) > 0 {
 | 
			
		||||
		fmt.Print("Rendering image...")
 | 
			
		||||
		render(maxIteration, colors, done)
 | 
			
		||||
		fmt.Println("Rendering images...")
 | 
			
		||||
 | 
			
		||||
		for i := 1; i <= 15000; i++ {
 | 
			
		||||
			render(maxIteration, colors, escapeRadius, imageSmoothness, width, height, fmt.Sprintf("images/%08d.png", i))
 | 
			
		||||
			escapeRadius += 0.001
 | 
			
		||||
			maxIteration += 1
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
	time.Sleep(time.Second)
 | 
			
		||||
}
 | 
			
		||||
@@ -74,7 +64,7 @@ func interpolateColors(paletteCode *string, numberOfColors float64) []color.RGBA
 | 
			
		||||
	interpolated := []uint32{}
 | 
			
		||||
	interpolatedColors := []color.RGBA{}
 | 
			
		||||
 | 
			
		||||
	for _, v := range ColorPalettes {
 | 
			
		||||
	for _, v := range palette.ColorPalettes {
 | 
			
		||||
		factor = 1.0 / numberOfColors
 | 
			
		||||
		switch v.Keyword {
 | 
			
		||||
		case *paletteCode:
 | 
			
		||||
@@ -127,7 +117,9 @@ func interpolateColors(paletteCode *string, numberOfColors float64) []color.RGBA
 | 
			
		||||
	return interpolatedColors
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func render(maxIteration int, colors []color.RGBA, done chan struct{}) {
 | 
			
		||||
func render(maxIteration int, colors []color.RGBA, escapeRadius float64, imageSmoothness, width, height int, outputFile string) {
 | 
			
		||||
	fmt.Printf("rendering image %s\n", outputFile)
 | 
			
		||||
 | 
			
		||||
	width = width * imageSmoothness
 | 
			
		||||
	height = height * imageSmoothness
 | 
			
		||||
	ratio := float64(height) / float64(width)
 | 
			
		||||
@@ -163,7 +155,6 @@ func render(maxIteration int, colors []color.RGBA, done chan struct{}) {
 | 
			
		||||
	output, _ := os.Create(outputFile)
 | 
			
		||||
	png.Encode(output, image)
 | 
			
		||||
 | 
			
		||||
	done <- struct{}{}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func cosineInterpolation(c1, c2, mu float64) float64 {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										346
									
								
								palette/palette.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										346
									
								
								palette/palette.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,346 @@
 | 
			
		||||
package palette
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"image/color"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type Color struct {
 | 
			
		||||
	Step  float64
 | 
			
		||||
	Color color.Color
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ColorMap struct {
 | 
			
		||||
	Keyword string
 | 
			
		||||
	Colors  []Color
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var ColorPalettes = []ColorMap{
 | 
			
		||||
	{"AfternoonBlue", []Color{
 | 
			
		||||
		{0.0, color.RGBA{0x93, 0xd2, 0xca, 0xff}},
 | 
			
		||||
		{0.2, color.RGBA{0x6c, 0x98, 0xb8, 0xff}},
 | 
			
		||||
		{0.5, color.RGBA{0x38, 0x68, 0x85, 0xff}},
 | 
			
		||||
		{0.8, color.RGBA{0x17, 0x4f, 0x72, 0xff}},
 | 
			
		||||
		{1.0, color.RGBA{0x08, 0x2a, 0x4f, 0xff}},
 | 
			
		||||
	}},
 | 
			
		||||
	{"SummerBeach", []Color{
 | 
			
		||||
		{0.0, color.RGBA{0xff, 0xf0, 0x94, 0xff}},
 | 
			
		||||
		{0.3, color.RGBA{0xff, 0xb7, 0x2d, 0xff}},
 | 
			
		||||
		{0.6, color.RGBA{0xff, 0x8d, 0x00, 0xff}},
 | 
			
		||||
		{0.8, color.RGBA{0x2d, 0x69, 0xae, 0xff}},
 | 
			
		||||
		{1.0, color.RGBA{0x1e, 0x2c, 0x60, 0xff}},
 | 
			
		||||
	}},
 | 
			
		||||
	{"Biochimist", []Color{
 | 
			
		||||
		Color{Color: color.RGBA{0x51, 0x99, 0x25, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x50, 0xa6, 0x1c, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x4b, 0xb8, 0x0b, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x4d, 0xcd, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x53, 0xdf, 0x00, 0xff}},
 | 
			
		||||
	}},
 | 
			
		||||
	{"Fiesta", []Color{
 | 
			
		||||
		Color{Color: color.RGBA{0x03, 0x67, 0xa6, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x04, 0xad, 0xbf, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x93, 0xa6, 0x03, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xe5, 0xce, 0x1b, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xc8, 0x3f, 0x2a, 0xff}},
 | 
			
		||||
	}},
 | 
			
		||||
	{"Hippi", []Color{
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x04, 0x0f, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x03, 0x26, 0x28, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x07, 0x3e, 0x1e, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x18, 0x55, 0x08, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x5f, 0x6e, 0x0f, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x84, 0x50, 0x19, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x9b, 0x30, 0x22, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xb4, 0x92, 0x2f, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x94, 0xca, 0x3d, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x4f, 0xd5, 0x51, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x66, 0xff, 0xb3, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x82, 0xc9, 0xe5, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x9d, 0xa3, 0xeb, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xd7, 0xb5, 0xf3, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xfd, 0xd6, 0xf6, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xff, 0xf0, 0xf2, 0xff}},
 | 
			
		||||
	}},
 | 
			
		||||
	{"Vivid", []Color{
 | 
			
		||||
		Color{Color: color.RGBA{0x02, 0x3b, 0x2b, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x36, 0x34, 0x48, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x04, 0x8b, 0x64, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x81, 0x6a, 0x6e, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x8d, 0x5e, 0x67, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x98, 0x52, 0x60, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xa4, 0x46, 0x59, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xd3, 0x17, 0x3d, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xe1, 0x08, 0x34, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xde, 0x17, 0x30, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xdc, 0x26, 0x2d, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xd9, 0x36, 0x2a, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xd7, 0x45, 0x27, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xd5, 0x55, 0x24, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xd2, 0x64, 0x21, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xd0, 0x74, 0x1e, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xce, 0x83, 0x1b, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xcb, 0x92, 0x18, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xc9, 0xa2, 0x15, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x11, 0x03, 0x12, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x33, 0x08, 0x35, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xf5, 0xca, 0xf7, 0xff}},
 | 
			
		||||
	}},
 | 
			
		||||
	{"Plan9", []Color{
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x00, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x00, 0x44, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x00, 0x88, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x00, 0xcc, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x44, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x44, 0x44, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x44, 0x88, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x44, 0xcc, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x88, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x88, 0x44, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x88, 0x88, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x88, 0xcc, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xcc, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xcc, 0x44, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xcc, 0x88, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xcc, 0xcc, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xdd, 0xdd, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x11, 0x11, 0x11, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x00, 0x55, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x00, 0x99, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x00, 0xdd, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x55, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x55, 0x55, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x4c, 0x99, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x49, 0xdd, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x99, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x99, 0x4c, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x99, 0x99, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x93, 0xdd, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xdd, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xdd, 0x49, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xdd, 0x93, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xee, 0x9e, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xee, 0xee, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x22, 0x22, 0x22, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x00, 0x66, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x00, 0xaa, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x00, 0xee, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x66, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x66, 0x66, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x55, 0xaa, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x4f, 0xee, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xaa, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xaa, 0x55, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xaa, 0xaa, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x9e, 0xee, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xee, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xee, 0x4f, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xff, 0x55, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xff, 0xaa, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xff, 0xff, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x33, 0x33, 0x33, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x00, 0x77, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x00, 0xbb, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x00, 0xff, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x77, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x77, 0x77, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x5d, 0xbb, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0x55, 0xff, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xbb, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xbb, 0x5d, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xbb, 0xbb, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xaa, 0xff, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x00, 0xff, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x44, 0x00, 0x44, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x44, 0x00, 0x88, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x44, 0x00, 0xcc, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x44, 0x44, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x44, 0x44, 0x44, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x44, 0x44, 0x88, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x44, 0x44, 0xcc, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x44, 0x88, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x44, 0x88, 0x44, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x44, 0x88, 0x88, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x44, 0x88, 0xcc, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x44, 0xcc, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x44, 0xcc, 0x44, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x44, 0xcc, 0x88, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x44, 0xcc, 0xcc, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x44, 0x00, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x55, 0x00, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x55, 0x00, 0x55, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x4c, 0x00, 0x99, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x49, 0x00, 0xdd, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x55, 0x55, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x55, 0x55, 0x55, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x4c, 0x4c, 0x99, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x49, 0x49, 0xdd, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x4c, 0x99, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x4c, 0x99, 0x4c, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x4c, 0x99, 0x99, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x49, 0x93, 0xdd, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x49, 0xdd, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x49, 0xdd, 0x49, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x49, 0xdd, 0x93, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x49, 0xdd, 0xdd, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x4f, 0xee, 0xee, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x66, 0x00, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x66, 0x00, 0x66, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x55, 0x00, 0xaa, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x4f, 0x00, 0xee, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x66, 0x66, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x66, 0x66, 0x66, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x55, 0x55, 0xaa, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x4f, 0x4f, 0xee, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x55, 0xaa, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x55, 0xaa, 0x55, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x55, 0xaa, 0xaa, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x4f, 0x9e, 0xee, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x4f, 0xee, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x4f, 0xee, 0x4f, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x4f, 0xee, 0x9e, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x55, 0xff, 0xaa, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x55, 0xff, 0xff, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x77, 0x00, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x77, 0x00, 0x77, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x5d, 0x00, 0xbb, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x55, 0x00, 0xff, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x77, 0x77, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x77, 0x77, 0x77, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x5d, 0x5d, 0xbb, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x55, 0x55, 0xff, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x5d, 0xbb, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x5d, 0xbb, 0x5d, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x5d, 0xbb, 0xbb, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x55, 0xaa, 0xff, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x55, 0xff, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x55, 0xff, 0x55, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x88, 0x00, 0x88, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x88, 0x00, 0xcc, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x88, 0x44, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x88, 0x44, 0x44, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x88, 0x44, 0x88, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x88, 0x44, 0xcc, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x88, 0x88, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x88, 0x88, 0x44, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x88, 0x88, 0x88, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x88, 0x88, 0xcc, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x88, 0xcc, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x88, 0xcc, 0x44, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x88, 0xcc, 0x88, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x88, 0xcc, 0xcc, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x88, 0x00, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x88, 0x00, 0x44, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x99, 0x00, 0x4c, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x99, 0x00, 0x99, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x93, 0x00, 0xdd, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x99, 0x4c, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x99, 0x4c, 0x4c, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x99, 0x4c, 0x99, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x93, 0x49, 0xdd, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x99, 0x99, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x99, 0x99, 0x4c, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x99, 0x99, 0x99, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x93, 0x93, 0xdd, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x93, 0xdd, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x93, 0xdd, 0x49, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x93, 0xdd, 0x93, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x93, 0xdd, 0xdd, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x99, 0x00, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xaa, 0x00, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xaa, 0x00, 0x55, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xaa, 0x00, 0xaa, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x9e, 0x00, 0xee, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xaa, 0x55, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xaa, 0x55, 0x55, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xaa, 0x55, 0xaa, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x9e, 0x4f, 0xee, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xaa, 0xaa, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xaa, 0xaa, 0x55, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xaa, 0xaa, 0xaa, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x9e, 0x9e, 0xee, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x9e, 0xee, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x9e, 0xee, 0x4f, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x9e, 0xee, 0x9e, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0x9e, 0xee, 0xee, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xaa, 0xff, 0xff, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xbb, 0x00, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xbb, 0x00, 0x5d, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xbb, 0x00, 0xbb, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xaa, 0x00, 0xff, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xbb, 0x5d, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xbb, 0x5d, 0x5d, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xbb, 0x5d, 0xbb, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xaa, 0x55, 0xff, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xbb, 0xbb, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xbb, 0xbb, 0x5d, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xbb, 0xbb, 0xbb, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xaa, 0xaa, 0xff, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xaa, 0xff, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xaa, 0xff, 0x55, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xaa, 0xff, 0xaa, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xcc, 0x00, 0xcc, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xcc, 0x44, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xcc, 0x44, 0x44, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xcc, 0x44, 0x88, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xcc, 0x44, 0xcc, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xcc, 0x88, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xcc, 0x88, 0x44, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xcc, 0x88, 0x88, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xcc, 0x88, 0xcc, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xcc, 0xcc, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xcc, 0xcc, 0x44, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xcc, 0xcc, 0x88, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xcc, 0xcc, 0xcc, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xcc, 0x00, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xcc, 0x00, 0x44, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xcc, 0x00, 0x88, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xdd, 0x00, 0x93, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xdd, 0x00, 0xdd, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xdd, 0x49, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xdd, 0x49, 0x49, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xdd, 0x49, 0x93, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xdd, 0x49, 0xdd, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xdd, 0x93, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xdd, 0x93, 0x49, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xdd, 0x93, 0x93, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xdd, 0x93, 0xdd, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xdd, 0xdd, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xdd, 0xdd, 0x49, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xdd, 0xdd, 0x93, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xdd, 0xdd, 0xdd, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xdd, 0x00, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xdd, 0x00, 0x49, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xee, 0x00, 0x4f, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xee, 0x00, 0x9e, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xee, 0x00, 0xee, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xee, 0x4f, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xee, 0x4f, 0x4f, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xee, 0x4f, 0x9e, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xee, 0x4f, 0xee, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xee, 0x9e, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xee, 0x9e, 0x4f, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xee, 0x9e, 0x9e, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xee, 0x9e, 0xee, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xee, 0xee, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xee, 0xee, 0x4f, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xee, 0xee, 0x9e, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xee, 0xee, 0xee, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xee, 0x00, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xff, 0x00, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xff, 0x00, 0x55, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xff, 0x00, 0xaa, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xff, 0x00, 0xff, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xff, 0x55, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xff, 0x55, 0x55, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xff, 0x55, 0xaa, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xff, 0x55, 0xff, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xff, 0xaa, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xff, 0xaa, 0x55, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xff, 0xaa, 0xaa, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xff, 0xaa, 0xff, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xff, 0xff, 0x00, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xff, 0xff, 0x55, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xff, 0xff, 0xaa, 0xff}},
 | 
			
		||||
		Color{Color: color.RGBA{0xff, 0xff, 0xff, 0xff}},
 | 
			
		||||
	}},
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user