# HG changeset patch # User Josef "Jeff" Sipek # Date 1133596888 18000 # Node ID 72194bf1597027b3a72f3690edec85bafc61016a # Parent 769ee152b271de27f1f4a09dad3b51c092049234 Swap angle vars, to make things make senses diff -r 769ee152b271 -r 72194bf15970 .hgignore --- a/.hgignore Sat Dec 03 03:00:41 2005 -0500 +++ b/.hgignore Sat Dec 03 03:01:28 2005 -0500 @@ -5,3 +5,4 @@ ^normalize$ ^getline$ ^cross$ +_thumb\.jpg$ diff -r 769ee152b271 -r 72194bf15970 rotate.c --- a/rotate.c Sat Dec 03 03:00:41 2005 -0500 +++ b/rotate.c Sat Dec 03 03:01:28 2005 -0500 @@ -17,7 +17,7 @@ float omega, phi, rho; char c; - scanf("%f %f %f", &omega, &phi, &rho); + scanf("%f %f %f", &rho, &phi, &omega); rotate_header(omega, phi, rho); while((c = getc(stdin)) != EOF) diff -r 769ee152b271 -r 72194bf15970 tg.sh --- a/tg.sh Sat Dec 03 03:00:41 2005 -0500 +++ b/tg.sh Sat Dec 03 03:01:28 2005 -0500 @@ -4,32 +4,104 @@ IPIPE="/tmp/3de.in" OPIPE="/tmp/3de.out" +ROT_ANGLE_DELTA="0.667" +TRANS_DELTA="1.0" + +CAM_X="1.0" +CAM_Y="1.0" +CAM_Z="0.0" +CAM_AX="0.0" +CAM_AY="0.0" +CAM_AZ="0.0" + +echo "TRANSCAM 0 0 1" > $IPIPE +echo "TRANSCAM $CAM_X $CAM_Y $CAM_Z" > $IPIPE + while /bin/true; do echo "CLEAR" > $IPIPE # the 4 walls cat tg/walls.scn > $IPIPE + CDX=`echo "$CAM_AX*180/3.14159263" | bc` + CDY=`echo "$CAM_AY*180/3.14159263" | bc` + CDZ=`echo "$CAM_AZ*180/3.14159263" | bc` + echo "TEXT 1 1 1 30 30 0 $CDX $CDY $CDZ" > $IPIPE + echo "TEXT 1 1 1 30 50 0 $CAM_X $CAM_Y $CAM_Z" > $IPIPE + KEY=`./getline $OPIPE` if [ -n "$KEY" ]; then case $KEY in left) - echo "got left" + CAM_AZ=`echo "$CAM_AZ+$ROT_ANGLE_DELTA" | bc` + echo "ROTCAM 0 0 $ROT_ANGLE_DELTA" > $IPIPE + echo "got rotate left" ;; right) - echo "got right" + CAM_AZ=`echo "$CAM_AZ-$ROT_ANGLE_DELTA" | bc` + echo "ROTCAM 0 0 -$ROT_ANGLE_DELTA" > $IPIPE + echo "got rotate right" ;; up) - echo "got up" + echo "ROTCAM -$ROT_ANGLE_DELTA 0 0" > $IPIPE + echo "got rotate up" ;; down) - echo "got down" + echo "ROTCAM $ROT_ANGLE_DELTA 0 0" > $IPIPE + echo "got rotate down" + ;; + a) + echo "got move left" + ;; + d) + V2_HAT=`echo -e "0 0 $CAM_AZ\n0 0 0 1 0 0" | ./rotate | ./transform` + V2_HAT=`echo "$V2_HAT 0 0 0 0 0 1" | ./cross` + + D_X=`echo $V2_HAT|awk '{print $1}'` + D_X=`echo "$TRANS_DELTA*$D_X" | bc` + D_Y=`echo $V2_HAT|awk '{print $2}'` + D_Y=`echo "$TRANS_DELTA*$D_Y" | bc` + + CAM_X=`echo "$CAM_X+$D_X" | bc` + CAM_Y=`echo "$CAM_Y+$D_Y" | bc` + + echo "got move right" + echo "TRANSCAM $D_X $D_Y 0" > $IPIPE + ;; + w) + V2_HAT=`echo -e "0 0 $CAM_AZ\n0 0 0 1 0 0" | ./rotate | ./transform` + + D_X=`echo $V2_HAT|awk '{print $4}'` + D_X=`echo "$TRANS_DELTA*$D_X" | bc` + D_Y=`echo $V2_HAT|awk '{print $5}'` + D_Y=`echo "$TRANS_DELTA*$D_Y" | bc` + + CAM_X=`echo "$CAM_X+$D_X" | bc` + CAM_Y=`echo "$CAM_Y+$D_Y" | bc` + + echo "got move forward" + echo "TRANSCAM $D_X $D_Y 0" > $IPIPE + ;; + s) + V2_HAT=`echo -e "0 0 $CAM_AZ\n0 0 0 1 0 0" | ./rotate | ./transform` + + D_X=`echo $V2_HAT|awk '{print $4}'` + D_X=`echo "$TRANS_DELTA*$D_X*-1" | bc` + D_Y=`echo $V2_HAT|awk '{print $5}'` + D_Y=`echo "$TRANS_DELTA*$D_Y*-1" | bc` + + CAM_X=`echo "$CAM_X+$D_X" | bc` + CAM_Y=`echo "$CAM_Y+$D_Y" | bc` + + echo "got move backward" + echo "TRANSCAM $D_X $D_Y 0" > $IPIPE ;; esac fi echo "FLUSH" > $IPIPE - sleep 0.01 + sleep 0.1 done +