#VRML V2.0 utf8 Remote Tree, Evgeny Demidov, 5 Dec 2000 NavigationInfo{ type "EXAMINE" } Background{ skyColor .5 .5 1} EXTERNPROTO Tree[ field SFInt32 order field SFVec3f TrunkSc field SFVec3f BranchSc field SFRotation Rot ] "@vr-vrml-math-BirchT.wrl#Tree3" Transform{ scale 1 1 1 translation 0 -1 0 children[ Tree{order 3}]} Transform{ scale 2 2 2 children[ Shape{ appearance Appearance{ material Material{ diffuseColor 0 1 0 transparency .25}} geometry DEF scrIFS IndexedFaceSet{ coord DEF scrCoord Coordinate{} creaseAngle 2}}] } DEF INIT Script{ field SFNode scrIFS USE scrIFS field SFNode scrCoord USE scrCoord directOutput TRUE url ["javascript: function initialize() { var n=10; stepTh=3.142/(n-1); stepFi=2.*3.1416/n; var k=0; var p = new MFVec3f(); p.length = n*n; for (var j= 0; j< n; j++) for (var i= 0; i< n; i++) { fi=i*stepFi; theta=j*stepTh; r=1.+.3*(Math.random()-.5); t=r*Math.sin(theta); p[k].x=t*Math.sin(fi); p[k].y=Math.cos(theta); p[k++].z=t*Math.cos(fi); } var c = new MFInt32( ); c.length = 8*(n-1)*n; k=0; for (var j= 0; j< n-1; j++) { for (var i= 0; i< n-1; i++) { c[k++] = i+n*j+1; c[k++] = i+n*j; c[k++] = i+n*j+n; c[k++] = -1; c[k++] = i+n*j+n; c[k++] = i+n*j+n+1; c[k++] = i+n*j+1; c[k++] = -1;} c[k++] = n*j; c[k++] = n*j+n-1; c[k++] = n*j+n+n-1; c[k++] = -1; c[k++] = n*j+n+n-1; c[k++] = n*j+n; c[k++] = n*j; c[k++] = -1; } scrCoord.set_point = p; scrIFS.set_coordIndex = c; }"] }