backback

Figures 5, 9: Worst-case scenario for glyphs

The paper relies on LaTeX to arrange the individual glyph renderings into one row. Note that my reliance on using a simple shell for all the commands is stretched here, as I essentially want a procedure call, implemented with subworst.txt.

subworst.txt:

SOID -sh $SH -os 1.00 -sc 0.70 0.45 0.19 -p 0.00 0.00 -0.04 \
 | OFF2EPS $FR -o worst-${GL}-1${L}.eps 
SOID -sh $SH -os 1.02 -sc 0.70 0.45 0.30 -p 0.00 0.00 -0.02 \
 | OFF2EPS $FR -o worst-${GL}-2${L}.eps 
SOID -sh $SH -os 1.02 -sc 0.70 0.44 0.44 -p 0.00 0.00 -0.01 \
 | OFF2EPS $FR -o worst-${GL}-3${L}.eps 
SOID -sh $SH -os 1.02 -sc 0.70 0.44 0.51 -p 0.00 0.00 -0.01 \
 | OFF2EPS $FR -o worst-${GL}-4${L}.eps 
SOID -sh $SH -os 1.03 -sc 0.70 0.43 0.60 -p 0.00 0.00  0.01 \
 | OFF2EPS $FR -o worst-${GL}-5${L}.eps 
SOID -sh $SH -os 1.02 -sc 0.70 0.41 0.70 -p 0.00 0.00  0.00 \
 | OFF2EPS $FR -o worst-${GL}-6${L}.eps 
SOID -sh $SH -os 0.99 -sc 0.70 0.39 0.91 -p 0.00 0.00  0.04 \
 | OFF2EPS $FR -o worst-${GL}-7${L}.eps 
SOID -sh $SH -os 0.94 -sc 0.70 0.34 1.16 -p 0.00 0.00  0.10 \
 | OFF2EPS $FR -o worst-${GL}-8${L}.eps 
The "-sc" and "-p" parameters were found manually, via trial-and-error, no doubt there is a more mathematical way of doing this.

Then the main commands:

setenv CAM "-up 1 2 0 -rh"

setenv FR "-fr 1.5 1.5 -5.5"
echo "1 0.85 0.85 0.85 1.3 -2.0 -4" \
 | emap -i - -amb 0.05 0.05 0.05 $FR $CAM -o tmp0.nrrd
unu 2op ^ tmp0.nrrd 1.55 | unu 2op - 1 - | unu 2op x - 3.14159 | unu 1op cos \
 | unu 2op + - 1 | unu 2op / - 1.8 -o tmp1.nrrd
unu 3op lerp 0.7 tmp0.nrrd tmp1.nrrd -o emap.nrrd
rm -f tmp0.nrrd tmp1.nrrd

alias SOID $TEEM_ROOT/limn/test/soid -o - -res 30 -r 0.0

alias OFF2EPS $TEEM_ROOT/limn/test/off2eps -i - -or -e emap.nrrd -rh \
  $CAM -ur -1.2 1.2 -vr -0.8 0.8 -wd 0.0 0.0 1.5 0.0 0.0 -nobg

setenv L A

echo ellipsoids, first view
set SH=0.0
set GL=sph
source subworst.txt

echo superquads, first view
set SH=3.0
set GL=qad
source subworst.txt

setenv FR "-fr -4 4 -1"
echo "1 0.8 0.8 0.8 1.3 -2.0 -4" \
 | emap -i - -amb 0.1 0.1 0.1 $FR $CAM -o tmp0.nrrd
unu 2op ^ tmp0.nrrd 1.55 | unu 2op - 1 - | unu 2op x - 3.14159 | unu 1op cos \
 | unu 2op + - 1 | unu 2op / - 1.8 -o tmp1.nrrd
unu 3op lerp 0.7 tmp0.nrrd tmp1.nrrd -o emap.nrrd
rm -f tmp0.nrrd tmp1.nrrd

setenv L B

echo ellipsoids, second view
set SH=0.0
set GL=sph
source subworst.txt

echo superquads, second view
set SH=3.0
set GL=qad
source subworst.txt

rm -f emap.nrrd

unsetenv TEEM_ROOT
unsetenv CAM
unsetenv PARM
unsetenv L
unset SH

foreach SHP ( qad sph )
  foreach V ( A B )
    foreach I ( 1 2 3 4 5 6 7 8 )
      echo ============== worst-${SHP}-${I}${V}.eps ================
      eps2ppm worst-${SHP}-${I}${V}.eps 300 \
       | unu project -a 0 -m mean \
       | unu resample -s x0.096 x0.096 -o worst-${SHP}-${I}${V}.png
    end
  end
  unu join -i worst-${SHP}-??.png -a 2 \
   | unu axsplit -a 2 -s 2 8 \
   | unu permute -p 0 3 1 2 \
   | unu axmerge -a 0 | unu axmerge -a 1 -o worst-${SHP}.png
  unu resample -i worst-${SHP}.png -s x0.2 x0.2 -o _worst-${SHP}.png
end
rm -f worst-???-??.png