"; if ($filename=="latest") $fn="latest"; else $fn=substr($tim,0,4).substr($tim,5,2).substr($tim,8,2).substr($tim,11,2). substr($tim,14,2).substr($tim,17,2); $dir_name=$_SESSION['dynuser'].'/'; Create3D($dir_name,$fn,$tim); function Create3D($dir,$file,$tim) { global $j_rpd,$j_nix,$RPD,$NIX,$hmxf; $outfile=$dir.$file.".L3D"; $outfilev=$dir.$file."v.L3D"; //echo $outfile."
"; //-------- Body of Create3D -------- define("gamma",0.524); // Angle between vertical and mag. field, radians BL /* red blue dark green green-ish orange fucsia lime coral cyan magenta warm-pink gold-ish aqua cornflower maroon purple light-blue yellow */ $stcolor = array(1=>"1.00,0.00,0.00","0.00,0.00,0.60","0.13,0.55,0.13","0.00,0.70,0.70", "1.00,0.65,0.00","1.00,0.00,1.00","0.05,1.00,0.05","0.90,0.50,0.50", "0.00,1.00,1.00","0.63,0.08,0.94","1.00,0.41,0.70","1.00,0.84,0.00", "0.50,1.00,0.83","0.25,0.37,0.90","0.69,0.12,0.23","0.78,0.08,0.52", "0.53,0.81,0.98","0.88,0.63,0.13"); $pr_Xkm=-1; if ( isset($RPD[1]['Xkm']) ) { $pr_Xkm=1; $avr_xyz[0] = array_fill(1,$j_nix,0.0); $avr_xyz[1] = array_fill(1,$j_nix,0.0); $avr_xyz[2] = array_fill(1,$j_nix,0.0); for ($i=1; $i<$j_nix; $i++) { $cou=0; for ($j=1; $j<=$j_rpd; $j++) { if ( abs($RPD[$j]['j'])==$i ) if ( $RPD[$j]['Zkm']<=($hmxf+100) && $RPD[$j]['Zkm']>=30 && abs($RPD[$j]['Ykm'])<=500 && abs($RPD[$j]['Xkm'])<=500) { $avr_xyz[0][$i]=$avr_xyz[0][$i]+$RPD[$j]['Xkm']; $avr_xyz[1][$i]=$avr_xyz[1][$i]+$RPD[$j]['Ykm']; $avr_xyz[2][$i]=$avr_xyz[2][$i]+$RPD[$j]['Zkm']; $cou++; } } if ($cou!=0) { $avr_xyz[0][$i]=$avr_xyz[0][$i]/$cou; $avr_xyz[1][$i]=$avr_xyz[1][$i]/$cou; $avr_xyz[2][$i]=$avr_xyz[2][$i]/$cou; } } } $fp = fopen ($outfile,"w+"); fwrite($fp,"Graphics3D[{"."\n"); $fp1 = fopen ($outfilev,"w+"); fwrite($fp1, 'Graphics3D[{'."\n"); $clr=0; $trindex=10000; $xmax=-1000.0; $ymax=-1000.0; $x0max=-1000.0; $y0max=-1000.0; $zmax=-1000.0; $z0max=-1000.0; $xmin=1000.0; $ymin=1000.0; $x0min=1000.0; $y0min=1000.0; if ($j_nix<>0) { for($i=1;$i<=$j_rpd;$i++){ $SPGRkm = $RPD[$i]['SPGRkm']; $TRkm = $RPD[$i]['TRkm']; $XLkm = $RPD[$i]['XLkm']; $YLkm = $RPD[$i]['YLkm']; $dB = $RPD[$i]['dB']; $trace = $RPD[$i]['j']; //$Xtrue=$XLkm*$TRkm/$SPGRkm; //$Ytrue=$YLkm*$TRkm/$SPGRkm; if ($pr_Xkm==-1) { $Xtrue=$XLkm*$TRkm/$SPGRkm; $Ytrue=$YLkm*$TRkm/$SPGRkm; $Ztrue=$TRkm; } else { $Xtrue=$RPD[$i]['Xkm']; $Ytrue=$RPD[$i]['Ykm']; $Ztrue=$RPD[$i]['Zkm']; } if ( abs($Xtrue)>500 || abs($Ytrue)>500 || $Ztrue<30 || $Ztrue>($hmxf+100) ) continue; if ($trace===0) { $color='0.00,0.00,0.00'; } else { $clr=$trace; if ($trace>36) $clr=$trace-36; if ($trace>18) $clr=$trace-18; $color=$stcolor[$clr]; $trc[$trace]=$clr; } if ( $NIX[$trace]['NIX']>-50 and $trace !== 0) { if ($XLkm>$xmax) $xmax=$XLkm; if ($YLkm>$ymax) $ymax=$YLkm; if ($XLkm<$xmin) $xmin=$XLkm; if ($YLkm<$ymin) $ymin=$YLkm; if ($SPGRkm>$zmax) $zmax=$SPGRkm; $size=0.5; if ($dB>=30) $size=0.5+2.0*($dB-30.0)/50.0; if ($XLkm>-999.99 and $XLkm<9999.99 and $YLkm>-999.99 and $YLkm<9999.99 and $SPGRkm>=0 and $SPGRkm<999.999 ) { $str=sprintf("%s%7.3f%s%s%s %9.2f%s%9.2f%s%9.3f%s", " AbsolutePointSize[", $size, "], RGBColor[", $color, "], Point[{", $XLkm, ",", $YLkm, ",", $SPGRkm,"}],"); fwrite($fp,$str."\n"); } if ( $NIX[$trace]['ZTR']>10 ) { $str=sprintf("%s%7.3f%s%s%s %9.2f%s%9.2f%s%9.3f%s", " AbsolutePointSize[", $size, "], RGBColor[", $color, "], Point[{", $Xtrue, ",", $Ytrue, ",", $Ztrue,"}]," ); fwrite($fp1,$str."\n"); if ($Xtrue > $x0max) $x0max=$Xtrue; if ($Ytrue > $y0max) $y0max=$Ytrue; if ($Xtrue < $x0min) $x0min=$Xtrue; if ($Ytrue < $y0min) $y0min=$Ytrue; if ($TRkm > $z0max) $z0max=$TRkm; } //trace<>0 } //if NIX } // end for j_rpd } // if j_nix<>0 for($i=1;$i<=$j_nix;$i++) { //!echo $i."
"; $velm[$i]=sqrt( pow($NIX[$i]['VXX'],2)+pow($NIX[$i]['VYY'],2)+pow($NIX[$i]['VZZ'],2) ); //!echo $velm[$i]." -- ".$NIX[$i]['NIX']." -- ".$NIX[$i]['ZTR']."
"; if ($velm[$i] > 4.0 and $NIX[$i]['NIX'] > -20.0 and $NIX[$i]['ZTR'] > 10.0) { // $Xbeg=$NIX[$i]['XTR']*abs($NIX[$i]['ZTR']/$NIX[$i]['RTR']); // $Ybeg=$NIX[$i]['YTR']*abs($NIX[$i]['ZTR']/$NIX[$i]['RTR']); // $Zbeg=$NIX[$i]['ZTR']; if ($pr_Xkm==-1) { $Xbeg=$NIX[$i]['XTR']*abs($NIX[$i]['ZTR']/$NIX[$i]['RTR']); $Ybeg=$NIX[$i]['YTR']*abs($NIX[$i]['ZTR']/$NIX[$i]['RTR']); $Zbeg=$NIX[$i]['ZTR']; } else { $Xbeg=$avr_xyz[0][$i]; $Ybeg=$avr_xyz[1][$i]; $Zbeg=$avr_xyz[2][$i]; } $Xend=$Xbeg+$NIX[$i]['VXX']; $Yend=$Ybeg+$NIX[$i]['VYY']; $Zend=$Zbeg+$NIX[$i]['VZZ']; $arrl=min(10.0,$velm[$i]); $arrw=min(3.0,$velm[$i]/3.33); $c0x=$Xbeg+($Xend-$Xbeg)*($velm[$i]-$arrl)/$velm[$i]; $c0y=$Ybeg+($Yend-$Ybeg)*($velm[$i]-$arrl)/$velm[$i]; $c0z=$Zbeg+($Zend-$Zbeg)*($velm[$i]-$arrl)/$velm[$i]; $c1x=$c0x+$arrw; $c1y=$c0y; $c1z=$c0z; $c2x=$c0x-$arrw; $c2y=$c0y; $c2z=$c0z; $c3x=$c0x; $c3y=$c0y+$arrw; $c3z=$c0z; $c4x=$c0x; $c4y=$c0y-$arrw; $c4z=$c0z; $c5x=$c0x; $c5y=$c0y; $c5z=$c0z+$arrw; $c6x=$c0x; $c6y=$c0y; $c6z=$c0z-$arrw; if ($Xend > $x0max) $x0max=$Xend; if ($Xend < $x0min) $x0min=$Xend; if ($Yend > $y0max) $y0max=$Yend; if ($Yend < $y0min) $y0min=$Yend; if ($Zend > $z0max) $z0max=$Zend; fwrite($fp1," {RGBColor[".$stcolor[$trc[$i]]."],AbsoluteThickness[2.0],"."\n"); $str=sprintf("%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s", " Line[{{", $Xbeg, ",", $Ybeg, ",", $Zbeg, "},{", $Xend, ",", $Yend, ",", $Zend, "}}]},"); fwrite($fp1,$str."\n"); fwrite($fp1," {EdgeForm[{RGBColor[".$stcolor[$trc[$i]]."],AbsoluteThickness[2.0]}],"."\n"); fwrite($fp1," FaceForm[{RGBColor[".$stcolor[$trc[$i]]."],RGBColor[".$stcolor[$trc[$i]]."]}],". "\n"); $str=sprintf("%s%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s", ' Polygon','[{{',$Xend,',',$Yend,',',$Zend,'},{',$c0x,',',$c0y,',',$c0z,'},{', $c1x,',',$c1y,',',$c1z,'}}],'); fwrite($fp1,$str."\n"); $str=sprintf("%s%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s", ' Polygon','[{{',$Xend,',',$Yend,',',$Zend,'},{',$c0x,',',$c0y,',',$c0z,'},{', $c2x,',',$c2y,',',$c2z,'}}],'); fwrite($fp1,$str."\n"); $str=sprintf("%s%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s", ' Polygon','[{{',$Xend,',',$Yend,',',$Zend,'},{',$c0x,',',$c0y,',',$c0z,'},{', $c3x,',',$c3y,',',$c3z,'}}],'); fwrite($fp1,$str."\n"); $str=sprintf("%s%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s", ' Polygon','[{{',$Xend,',',$Yend,',',$Zend,'},{',$c0x,',',$c0y,',',$c0z,'},{', $c4x,',',$c4y,',',$c4z,'}}],'); fwrite($fp1,$str."\n"); $str=sprintf("%s%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s%7.1f%s", ' Polygon','[{{',$Xend,',',$Yend,',',$Zend,'},{',$c0x,',',$c0y,',',$c0z,'},{', $c5x,',',$c5y,',',$c5z,'}}],'); fwrite($fp1,$str."\n"); $str=sprintf("%s %s%7.1f%s%7.1f%s%7.1f %s%7.1f%s%7.1f%s%7.1f %s%7.1f%s%7.1f%s%7.1f %s", ' Polygon','[{{',$Xend,',',$Yend,',',$Zend,'},{',$c0x,',',$c0y,',',$c0z,'},{', $c6x,',',$c6y,',',$c6z,'}}]'); fwrite($fp1,$str."\n"); fwrite($fp1, " },"."\n"); } //end if } // end for j_nix //*************************************************************************************** $xaxis =100.0*( floor( max(abs($xmin),abs($xmax))/100.0 )+1 ); $yaxis =100.0*( floor(max(abs($ymin),abs($ymax))/100.0 )+1 ); $zaxis =100.0*( floor(abs($zmax)/100.0)+1 ); $x0axis=100.0*( floor(max(abs($x0min),abs($x0max))/100.0)+1 ); $y0axis=100.0*( floor( max(abs($y0min),abs($y0max))/100.0)+1 ); $z0axis=100.0*( floor( abs($z0max)/100.0)+1); $str=sprintf("%s%7.1f%s%7.1f%s"," RGBColor[1,1,1],Point[{",-$xaxis,",",-$yaxis,",0}],"); fwrite($fp,$str."\n"); $str=sprintf("%s%7.1f%s%7.1f%s%7.1f%s", " RGBColor[1,1,1],Point[{",$xaxis,",",$yaxis,",",$zaxis,"}],"); fwrite($fp,$str."\n"); fwrite($fp,"{RGBColor[0.6,0.6,0.6], "."\n"); $str=sprintf("%s%7.1f%s",' Line[{{0,0,0},{0,0,',$zaxis,'}}]},'); fwrite($fp,$str."\n"); fwrite($fp,'RGBColor[0.5,0,0], '."\n"); fwrite($fp," Text[\"Y\",{0,0,0}],"."\n"); fwrite($fp," Text[\"Dynasonde\",{0,0,-40}],"."\n"); fwrite($fp,'}, {PlotRange -> Automatic, DisplayFunction -> '."\n"); fwrite($fp,'(Display[$Display, #1] & ), ColorOutput -> Automatic,'."\n"); fwrite($fp,"Axes -> True, PlotLabel -> \""."\n"); fwrite($fp,"Ionogram ".$tim."\n"); fwrite($fp,'", AxesLabel -> '."\n"); fwrite($fp,"{StyleForm[\"XL, km\", FontSlant -> "."\n"); fwrite($fp,"\"Italic\","."\n"); fwrite($fp,"FontSize -> 16],StyleForm[\"YL, km\", "."\n"); fwrite($fp,"FontSlant -> \"Italic\", FontSize -> 16],"."\n"); fwrite($fp,"StyleForm[\"SPGR, km\","."\n"); fwrite($fp,"FontSlant -> \"Italic\","."\n"); fwrite($fp," FontSize -> 16]},Ticks -> Automatic, Prolog -> {},"."\n"); fwrite($fp,' Epilog -> {}, '."\n"); fwrite($fp,'Background -> Automatic, DefaultColor -> Automatic,'."\n"); fwrite($fp," DefaultFont -> {\"Courier\", 10.},AspectRatio ->"."\n"); fwrite($fp,'Automatic,ViewPoint -> {1.3, -2.4, 2.},Boxed -> True,'."\n"); fwrite($fp,'BoxRatios -> Automatic, Plot3Matrix -> Automatic, '."\n"); fwrite($fp,'Lighting -> True, AmbientLight -> GrayLevel[0], '."\n"); fwrite($fp,'LightSources ->'."\n"); fwrite($fp,'{{{1., 0., 1.}, RGBColor[1, 0, 0]},'."\n"); fwrite($fp,'{{1., 1., 1.}, RGBColor[0, 1, 0]},'."\n"); fwrite($fp,'{{0., 1., 1.}, RGBColor[0, 0, 1]},'."\n"); fwrite($fp,'{{-3.044, -0.088, -1.47}, RGBColor[0.5, 0.5, 1]}},'."\n"); fwrite($fp,'ViewCenter -> Automatic, '."\n"); fwrite($fp,'PlotRegion -> Automatic, ImageSize -> Automatic, '."\n"); fwrite($fp,"TextStyle -> {FontFamily -> \"Arial\"}, "."\n"); fwrite($fp,'FormatType -> StandardForm, '."\n"); fwrite($fp,'ViewVertical -> {400., -300., 5000.}, '."\n"); fwrite($fp,"FaceGrids -> None, Shading -> True, "."\n"); fwrite($fp,'AxesEdge -> Automatic, BoxStyle -> Automatic, '."\n"); fwrite($fp,'SphericalRegion -> False}]'."\n"); fclose($fp); // here //*************************************************************************************** $str=sprintf("%s%7.1f%s%7.1f%s",' RGBColor[1,1,1],Point[{',-$x0axis,',',-$y0axis,',0}],'); fwrite($fp1,$str."\n"); $str=sprintf("%s%7.1f%s%7.1f%s%7.1 %s", ' RGBColor[1,1,1],Point[{',$x0axis,',',$y0axis,',',$z0axis,'}],'); fwrite($fp1,$str."\n"); fwrite($fp1,'{RGBColor[0.6,0.6,0.6], '."\n"); $str=sprintf("%s%7.1f%s",' Line[{{0,0,0},{0,0,',$z0axis,'}}]},'); fwrite($fp1,$str."\n"); //-------------- blue magnetic lines ------------------ fwrite($fp1,'{RGBColor[0.0,0.8,1.0], '."\n"); $str=sprintf("%s%6.0f%s%7.1f%s",' Line[{{0,0,0},{0,',-$z0axis*tan(gamma),',',$z0axis,'}}]},'); fwrite($fp1,$str."\n"); fwrite($fp1,'{RGBColor[0.0,0.8,1.0], '."\n"); $str=sprintf("%s%7.1f%s%7.1f%s",' Line[{{0,',$z0axis*tan(gamma),',0},{0,0,',$z0axis,'}}]},'); fwrite($fp1,$str."\n"); fwrite($fp1,'RGBColor[0.5,0,0], '."\n"); fwrite($fp1," Text[\"Y\",{0,0,0}],"."\n"); fwrite($fp1," Text[\"Dynasonde\",{0,0,-20}],"."\n"); fwrite($fp1,'}, {PlotRange -> Automatic, DisplayFunction -> '."\n"); fwrite($fp1,'(Display[$Display, #1] & ), ColorOutput -> Automatic,'."\n"); fwrite($fp1,"Axes -> True, PlotLabel -> \""."\n"); fwrite($fp1,"Ionogram ".$tim."\n"); fwrite($fp1,"\", AxesLabel -> "."\n"); fwrite($fp1,"{StyleForm[\"X, km\", FontSlant -> "."\n"); fwrite($fp1,"\"Italic\","."\n"); fwrite($fp1,"FontSize -> 16],StyleForm[\"Y, km\", "."\n"); fwrite($fp1,"FontSlant -> \"Italic\", FontSize -> 16],"."\n"); fwrite($fp1,"StyleForm[\"Z, km\","."\n"); fwrite($fp1,"FontSlant -> \"Italic\","."\n"); fwrite($fp1,' FontSize -> 16]},Ticks -> Automatic, Prolog -> {},'."\n"); fwrite($fp1,' Epilog -> {}, '."\n"); fwrite($fp1,'Background -> Automatic, DefaultColor -> Automatic,'."\n"); fwrite($fp1," DefaultFont -> {\"Courier\", 10.},AspectRatio ->"."\n"); fwrite($fp1,'Automatic,ViewPoint -> {1.3, -2.4, 2.},Boxed -> True,'."\n"); fwrite($fp1,'BoxRatios -> Automatic, Plot3Matrix -> Automatic, '."\n"); fwrite($fp1,'Lighting -> False, AmbientLight -> GrayLevel[0], '."\n"); fwrite($fp1,'LightSources ->'."\n"); fwrite($fp1,'{{{1., 0., 1.}, RGBColor[1, 0, 0]},'."\n"); fwrite($fp1,'{{1., 1., 1.}, RGBColor[0, 1, 0]},'."\n"); fwrite($fp1,'{{0., 1., 1.}, RGBColor[0, 0, 1]},'."\n"); fwrite($fp1,'{{-3.044, -0.088, -1.47}, RGBColor[0.5, 0.5, 1]}},'."\n"); fwrite($fp1,'ViewCenter -> Automatic, '."\n"); fwrite($fp1,'PlotRegion -> Automatic, ImageSize -> Automatic, '."\n"); fwrite($fp1,"TextStyle -> {FontFamily -> \"Arial\"}, "."\n"); fwrite($fp1,'FormatType -> StandardForm, '."\n"); fwrite($fp1,'ViewVertical -> {400., -300., 5000.}, '."\n"); fwrite($fp1,'FaceGrids -> None, Shading -> True, '."\n"); fwrite($fp1,'AxesEdge -> Automatic, BoxStyle -> Automatic, '."\n"); fwrite($fp1,'SphericalRegion -> False}]'."\n"); fclose($fp1); //------------------------------------------------------------------------------- $ap3dfile=$dir.'i'.$file.'.htm'; $fp1 = fopen($ap3dfile,"w+"); fwrite($fp1,'Ionogram '.$tim.' in 3D'."\n"); fwrite($fp1,''."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,"
"."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,"

User Interface for the"."\n"); fwrite($fp1," LiveGraphics3D"."\n"); fwrite($fp1," Java Applet

"."\n"); fwrite($fp1,"User Action

"."\n"); fwrite($fp1,"Applet Reaction

"."\n"); fwrite($fp1,"Left click and drag"."\n"); fwrite($fp1,"Rotate around the chosen axes
"."\n"); fwrite($fp1,"Release left button while draggingSpin around the chosen axes
"."\n"); fwrite($fp1,"SHIFT plus vertical draggingZoom
"."\n"); fwrite($fp1,"SHIFT plus horizontal dragging Rotate around the axis perpendicular to the picture
CONTROL plus vertical dragging Change focal length
CONTROL plus horizontal dragging Change strength of stereo effect
"."\n"); fwrite($fp1,""s" key, repeating: Toggles among single picture and stereo pictures: direct and"."\n"); fwrite($fp1,"cross-eyed stereopsis
HOME key: "."\n"); fwrite($fp1,"Restores original perspective (no spinning)
"."\n"); fwrite($fp1,"Left click"."\n"); fwrite($fp1,"Stop rotation

"."\n"); fwrite($fp1,"From documentation of "."\n"); fwrite($fp1," LiveGraphics3D"."\n"); fwrite($fp1,"1.30 by Martin Kraus

"."\n"); fwrite($fp1,"
"."\n"); fclose($fp1); //--------------------------------------------------------------------- $ap3dvfile=$dir.'i'.$file.'v.htm'; $fp1 = fopen($ap3dvfile,"w+"); fwrite($fp1,'Ionogram '.$tim.' in 3D: Vector Velocities'."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,"
"."\n"); fwrite($fp1,""."\n"); fwrite($fp1,""."\n"); fwrite($fp1,"

User Interface for the "."\n"); fwrite($fp1," LiveGraphics3D"."\n"); fwrite($fp1," Java Applet

"."\n"); fwrite($fp1,"User Action

"."\n"); fwrite($fp1,"Applet Reaction

"."\n"); fwrite($fp1,"Left click and drag"."\n"); fwrite($fp1,"Rotate around the chosen axes
"."\n"); fwrite($fp1,"Release left button while draggingSpin around the chosen axes
"."\n"); fwrite($fp1,"SHIFT plus vertical dragging Zoom
SHIFT plus horizontal dragging Rotate around the axis perpendicular to the picture
CONTROL plus vertical dragging Change focal length
CONTROL plus horizontal dragging Change strength of stereo effect
"."\n"); fwrite($fp1,""s" key, repeating: Toggles among single picture and stereo pictures: direct and cross-eyed stereopsis
HOME key: "."\n"); fwrite($fp1,"Restores original perspective (no spinning)
"."\n"); fwrite($fp1,"Left click"."\n"); fwrite($fp1,"Stop rotation

"."\n"); fwrite($fp1,"From documentation of "."\n"); fwrite($fp1," LiveGraphics3D"."\n"); fwrite($fp1,"1.30 by Martin Kraus

"."\n"); fwrite($fp1,"
"."\n"); fclose($fp1); //**************************************************************************************** } ?>