Fortraneries/BloubWorld/toinc.awk

35 lines
677 B
Awk
Raw Normal View History

2022-02-06 23:45:08 +01:00
#
# this code is (C) 2022 tTh
#
BEGIN {
count = 0
2022-03-18 12:21:40 +01:00
bx = by = bz = 0.0
2022-02-06 23:45:08 +01:00
print "// GENERATED FILE, DON'T TOUCH IT !"
print "#declare Bloubs = object\n{"
print "union\t{"
}
{
2022-03-18 12:21:40 +01:00
age = $5
if (age < 2) color = "Orange"
else if (age > 8) color = "Gray70"
else color = "Sienna"
bx += $1
by += $2
bz += $3
2022-02-17 14:10:15 +01:00
pigment = "pigment { color " color " }"
2022-03-18 12:21:40 +01:00
printf "\tsphere { <%f, %f, %f>, %f %s }\n", \
2022-02-17 14:10:15 +01:00
$1, $2, $3, $4, pigment
2022-02-06 23:45:08 +01:00
count++
}
END {
print "\t} // end of union\n}\n"
print "#declare Nb_Bloubs = ", count, ";\n"
2022-03-18 12:21:40 +01:00
print "#declare Bary_X = ", bx/count, ";";
print "#declare Bary_Y = ", by/count, ";";
print "#declare Bary_Z = ", bz/count, ";";
2022-02-06 23:45:08 +01:00
}