<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "http://www.web3d.org/specifications/x3d-3.0.dtd">
<![CDATA[
ecmascript: function initialize( ) { generateCrossSection( ); generateSpine( ); } function set_crossSectionRadius( csr, ts ) { crossSectionRadius = csr; generateCrossSection( ); // Browser.print ('crossSectionRadius = ' + csr); } function set_spineRadius( sr, ts ) { spineRadius = sr; generateSpine( ); // Browser.print ('spineRadius = ' + sr); } function generateCrossSection( ) { angle = 0.0; delta = (2 * 3.141592653) / crossSectionResolution; for ( i = 0; i <= crossSectionResolution; i++ ) { crossSection_changed[i][0] = crossSectionRadius * Math.cos( angle ); crossSection_changed[i][1] = -crossSectionRadius * Math.sin( angle ); angle += delta; } // added code to make ends meet crossSection_changed[crossSectionResolution + 1][0] = crossSection_changed[0][0]; crossSection_changed[crossSectionResolution + 1][1] = crossSection_changed[0][1]; } function generateSpine( ) { angle = 0.0; delta = (2 * 3.141592653) / spineResolution; for ( i = 0; i <= spineResolution; i++ ) { spine_changed[i][0] = spineRadius * Math.cos( angle ); spine_changed[i][1] = 0.0; spine_changed[i][2] = -spineRadius * Math.sin( angle ); angle += delta; } // added code to make ends meet spine_changed[spineResolution + 1][0] = spine_changed[0][0]; spine_changed[spineResolution + 1][1] = 0.0; spine_changed[spineResolution + 1][2] = spine_changed[0][2]; }
]]>
<!-- Color key: <X3dNode DEF='idName' field='value'/> matches <XmlElement DEF='idName' attribute='value'/> -->
<!-- Additional help information about X3D scenes: X3D Resources, X3D Scene Authoring Hints and X3D Tooltips -->