Working model of a 14th century Trebuchet Catapult.
Permission granted for use of the VRML chicken I own a copy of Monty Python and the Holy Grail I have requested permission to use for non profit use. No response received. I will use the sound clips under "Fair Use" clause of the DMCA
X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit
"../UniversalMediaPanoramas/meadow_2_back.jpg" "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/../UniversalMediaPanoramas/meadow_2_back.jpg" "https://www.web3d.org/WorkingGroups/media/textures/panoramas/meadow_2_back.jpg"
"../UniversalMediaPanoramas/meadow_2_bottom.jpg" "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/../UniversalMediaPanoramas/meadow_2_bottom.jpg" "https://www.web3d.org/WorkingGroups/media/textures/panoramas/meadow_2_bottom.jpg"
"../UniversalMediaPanoramas/meadow_2_front.jpg" "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/../UniversalMediaPanoramas/meadow_2_front.jpg" "https://www.web3d.org/WorkingGroups/media/textures/panoramas/meadow_2_front.jpg"
"../UniversalMediaPanoramas/meadow_2_left.jpg" "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/../UniversalMediaPanoramas/meadow_2_left.jpg" "https://www.web3d.org/WorkingGroups/media/textures/panoramas/meadow_2_left.jpg"
"../UniversalMediaPanoramas/meadow_2_right.jpg" "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/../UniversalMediaPanoramas/meadow_2_right.jpg" "https://www.web3d.org/WorkingGroups/media/textures/panoramas/meadow_2_right.jpg"
"../UniversalMediaPanoramas/meadow_2_top.jpg" "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/../UniversalMediaPanoramas/meadow_2_top.jpg" "https://www.web3d.org/WorkingGroups/media/textures/panoramas/meadow_2_top.jpg"
"holygral.mp3" "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/holygral.mp3"
"grass.jpg" "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/grass.jpg"
"Click Here to Change Counter Weight (50 lbs)"
"Click Here to Change Counter Weight (500 lbs)"
"Click Here to Change Counter Weight (1000 lbs)"
"Click Here to Change Counter Weight (10000 lbs)"
"pigdog.wav" "http://www.nps.navy.mil/code32/vrml/pigdog.wav"
"monks.wav" "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/monks.wav"
"wood.gif" "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/wood.gif"
"cow.wrl" "http://www.uoguelph.ca/~dchiu/cow.wrl"
"vrml_ginger.wrl" "http://home.inreach.com/ntamura/vrml/vrml_ginger.wrl"
ecmascript: function initialize () { whichchoice =0; CounterWeight=100; } function set_boolean ( boolean_input, eventTime) { if ( boolean_input== false ) { return; } // ignore the unclick whichchoice = whichchoice +1; if (whichchoice == 0)CounterWeight=50.00; if (whichchoice == 1)CounterWeight=500.00; if (whichchoice == 2)CounterWeight=1000.00; if (whichchoice == 3)CounterWeight=10000.00; if ( whichchoice ==4 ) { whichchoice = 0; CounterWeight=50; } Browser.println ('CounterWeight ='+CounterWeight); }
ecmascript: function set_boolean (boolean_input, eventTime) { if ( boolean_input== false ) { return; } // ignore unclick whichchoice = whichchoice +1; if (whichchoice == 0)ProjectileWeight=10.00; if (whichchoice == 1)ProjectileWeight=1000.00; if (whichchoice == 2)ProjectileWeight=5; if ( whichchoice ==3 ) { whichchoice = 0; ProjectileWeight=10.00; } Browser.println ('Projectile Weight'+ProjectileWeight); }
ecmascript: function set_boolean (boolean_input, eventTime) { if ( boolean_input== false ) { return; } // ignore unclick whichchoice = whichchoice +1; if ( whichchoice ==2 ) whichchoice = 0; }
ecmascript: function initialize () { MassCounterWeight=100; MassProjectileWeight=10; Browser.println ('MassCounterWeight =' + MassCounterWeight); Browser.println ('MassProjectileWeight =' + MassProjectileWeight); } function set_MassProjectileWeight (value, timestamp) { MassProjectileWeight = value; Browser.println ('new MassProjectileWeight =' + MassProjectileWeight); } function set_MassCounterWeight (value2, timestamp) { MassCounterWeight = value2; Browser.println ('new MassCounterWeight =' + MassCounterWeight); } function set_fraction ( fraction, eventTime ) { var TrebuchetHeight=45; var Height =25; x = (2*(MassCounterWeight/MassProjectileWeight)*Height*fraction)-.5*TrebuchetHeight; // start at TrebuchetHeight and keep along z axis (z=zero) y = (MassCounterWeight/MassProjectileWeight)*Height*Math.sin(fraction*3.14); z = 0; transparent = new SFVec3f (1,1,1); if (y <1.5*TrebuchetHeight )if (x<TrebuchetHeight) { x=x-10; y=y+1; transparent = new SFVec3f(.01, .01, .01); } value_changed = new SFVec3f (x, y, z); Browser.println ('x=' + value_changed[0] + ' y=' + value_changed[1] + ' z=' + value_changed[2]); }