114 lines
1.5 KiB
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
|
|
}
|