cli-shapes/internal/renderer/map.go

114 lines
1.5 KiB
Go

package renderer
import (
"math"
)
var ascii = map[string]float64{
" ":0,
"`":0.0751,
".":0.0829,
"-":0.0848,
"'":0.1227,
":":0.1403,
"_":0.1559,
",":0.185,
"^":0.2183,
"=":0.2417,
";":0.2571,
">":0.2852,
"<":0.2902,
"+":0.2919,
"!":0.3099,
"r":0.3192,
"c":0.3232,
"*":0.3294,
"/":0.3384,
"z":0.3609,
"?":0.3619,
"s":0.3667,
"L":0.3737,
"T":0.3747,
"v":0.3838,
")":0.3921,
"J":0.396,
"7":0.3984,
"(":0.3993,
"|":0.4075,
"F":0.4091,
"i":0.4101,
"{":0.42,
"C":0.423,
"}":0.4247,
"f":0.4274,
"I":0.4293,
"3":0.4328,
"1":0.4382,
"t":0.4385,
"l":0.442,
"u":0.4473,
"[":0.4477,
"n":0.4503,
"e":0.4562,
"o":0.458,
"Z":0.461,
"5":0.4638,
"Y":0.4667,
"x":0.4686,
"j":0.4693,
"y":0.4703,
"a":0.4833,
"]":0.4881,
"2":0.4944,
"E":0.4953,
"S":0.4992,
"w":0.5509,
"q":0.5567,
"k":0.5569,
"P":0.5591,
"6":0.5602,
"h":0.5602,
"9":0.565,
"d":0.5776,
"4":0.5777,
"V":0.5818,
"p":0.587,
"O":0.5972,
"G":0.5999,
"b":0.6043,
"U":0.6049,
"A":0.6093,
"K":0.6099,
"X":0.6465,
"H":0.6561,
"m":0.6595,
"8":0.6631,
"R":0.6714,
"D":0.6759,
"#":0.6809,
"$":0.6816,
"B":0.6925,
"g":0.7039,
"0":0.7086,
"M":0.7235,
"N":0.7302,
"W":0.7332,
"Q":0.7602,
"%":0.7834,
"&":0.8037,
"@":0.9999,
}
func GetChar(brightness float64) string {
var char string = " "
var delta float64 = 1
for k, v := range ascii {
otherDelta := math.Abs(v - brightness)
if (otherDelta < delta) {
delta = otherDelta
char = k
}
}
return char
}