SHARE
TWEET

lollypop

a guest Nov 16th, 2014 180 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <style>
  2. body {cursor:"crosshair"; color:#00FF00; background-color:#000000;}
  3. </style>
  4. <script>
  5.  
  6.         var npunkt = new Array();
  7. function dreh_x(punkt,winkel)
  8. {
  9.         if(winkel!=0)
  10.         {
  11.         var z = punkt["z"];
  12.         var y = punkt["y"];
  13.         var Z= Math.cos(Math.atan2(y,z)+winkel)*Math.sqrt(y*y+z*z);
  14.         var Y= Math.sin(Math.atan2(y,z)+winkel)*Math.sqrt(y*y+z*z);
  15.         npunkt["x"] = punkt["x"];
  16.         npunkt["y"] = Y;
  17.         npunkt["z"] = Z;
  18.         return(npunkt);
  19.         }else
  20.         {
  21.         return(punkt)
  22.         }
  23. }
  24.  
  25. function dreh_y(punkt,winkel)
  26. {
  27.         if(winkel!=0)
  28.         {
  29.         var z = punkt["z"];
  30.         var x = punkt["x"];
  31.         var Z= Math.cos(Math.atan2(x,z)+winkel)*Math.sqrt(x*x+z*z);
  32.         var X= Math.sin(Math.atan2(x,z)+winkel)*Math.sqrt(x*x+z*z);
  33.         npunkt["x"] = X;
  34.         npunkt["y"] = punkt["y"];
  35.         npunkt["z"] = Z;
  36.         return(npunkt);
  37.         }else
  38.         {
  39.         return(punkt)
  40.         }
  41. }
  42.  
  43. function dreh_z(punkt,winkel)
  44. {
  45.         if(winkel!=0)
  46.         {
  47.         var x = punkt["x"];
  48.         var y = punkt["y"];
  49.         var X= Math.cos(Math.atan2(y,x)+winkel)*Math.sqrt(x*x+y*y);
  50.         var Y= Math.sin(Math.atan2(y,x)+winkel)*Math.sqrt(x*x+y*y);
  51.         npunkt["x"] = X
  52.         npunkt["y"] = Y
  53.         npunkt["z"] = punkt["z"];
  54.         return(npunkt);
  55.         }else
  56.         {
  57.         return(punkt)
  58.         }
  59. }
  60.  
  61. function drehen(punkt,x,y,z)
  62. {
  63.         npunkt = dreh_x(punkt,x);
  64.         npunkt = dreh_y(npunkt,y);
  65.         npunkt = dreh_z(npunkt,z);
  66.         npunkt["name"] = punkt["name"];
  67.         alle_punkte[punkt["stelle"]]["x"] = npunkt["x"];
  68.         alle_punkte[punkt["stelle"]]["y"] = npunkt["y"];
  69.         alle_punkte[punkt["stelle"]]["z"] = npunkt["z"];
  70.         alle_punkte[punkt["stelle"]]["name"] = npunkt["name"];
  71. }
  72.  
  73.         var alle_punkte = new Array();
  74. function neuer_punkt(x,y,z)
  75. {
  76.         var neu = alle_punkte.length;
  77.         alle_punkte[neu] = new Array();
  78.         alle_punkte[neu]["x"]=x;
  79.         alle_punkte[neu]["y"]=y;
  80.         alle_punkte[neu]["z"]=z;
  81.         alle_punkte[neu]["stelle"]=neu;         //stelle im array -> wichtig zu werte-zurückschreiben
  82.         alle_punkte[neu]["name"]="p" + neu;
  83.         document.all["inhalt"].innerHTML += "<span id='p"+neu+"' class='p"+neu+"'>"+symbol+"</span>";
  84.         document.all["p"+neu].style.position  = "absolute";
  85.         darstellen(alle_punkte[neu]);
  86.         document.all["zahl"].innerHTML = alle_punkte.length;
  87. }
  88.  
  89. function wuerfel()
  90. {
  91.         neuer_punkt(0,0,0);
  92.         neuer_punkt(5000,5000,5000);
  93.         neuer_punkt(0,5000,5000);
  94.         neuer_punkt(5000,0,5000);
  95.         neuer_punkt(-5000,-5000,5000);
  96.         neuer_punkt(-5000,0,5000);
  97.         neuer_punkt(0,-5000,5000);
  98.         neuer_punkt(-5000,5000,5000);
  99.         neuer_punkt(5000,-5000,5000);
  100.         neuer_punkt(5000,5000,0);
  101.         neuer_punkt(-5000,-5000,0);
  102.         neuer_punkt(-5000,5000,0);
  103.         neuer_punkt(5000,-5000,0);
  104.         neuer_punkt(5000,5000,-5000);
  105.         neuer_punkt(0,5000,-5000);
  106.         neuer_punkt(5000,0,-5000);
  107.         neuer_punkt(-5000,-5000,-5000);
  108.         neuer_punkt(-5000,0,-5000);
  109.         neuer_punkt(0,-5000,-5000);
  110.         neuer_punkt(-5000,5000,-5000);
  111.         neuer_punkt(5000,-5000,-5000);
  112. }
  113.  
  114. function wuerfel2()
  115. {
  116.         neuer_punkt(0,0,0);
  117.         neuer_punkt(5,5,5);
  118.         neuer_punkt(0,5,5);
  119.         neuer_punkt(5,0,5);
  120.         neuer_punkt(-5,-5,5);
  121.         neuer_punkt(-5,0,5);
  122.         neuer_punkt(0,-5,5);
  123.         neuer_punkt(-5,5,5);
  124.         neuer_punkt(5,-5,5);
  125.         neuer_punkt(5,5,0);
  126.         neuer_punkt(-5,-5,0);
  127.         neuer_punkt(-5,5,0);
  128.         neuer_punkt(5,-5,0);
  129.         neuer_punkt(5,5,-5);
  130.         neuer_punkt(0,5,-5);
  131.         neuer_punkt(5,0,-5);
  132.         neuer_punkt(-5,-5,-5);
  133.         neuer_punkt(-5,0,-5);
  134.         neuer_punkt(0,-5,-5);
  135.         neuer_punkt(-5,5,-5);
  136.         neuer_punkt(5,-5,-5);
  137. }
  138.  
  139. function kreuz()
  140. {
  141.         neuer_punkt(0,0,0);
  142.         neuer_punkt(0,0,10);
  143.         neuer_punkt(0,0,20);
  144.         neuer_punkt(0,0,30);
  145.         neuer_punkt(0,0,40);
  146.         neuer_punkt(0,0,-10);
  147.         neuer_punkt(0,0,-20);
  148.         neuer_punkt(0,0,-30);
  149.         neuer_punkt(0,0,-40);
  150.         neuer_punkt(0,0,-50);
  151.         neuer_punkt(0,0,50);
  152.         neuer_punkt(0,-50,0);
  153.         neuer_punkt(0,50,0);
  154.         neuer_punkt(-50,0,0);
  155.         neuer_punkt(50,0,0);
  156.         neuer_punkt(0,10,0);
  157.         neuer_punkt(0,20,0);
  158.         neuer_punkt(0,30,0);
  159.         neuer_punkt(0,40,0);
  160.         neuer_punkt(0,-10,0);
  161.         neuer_punkt(0,-20,0);
  162.         neuer_punkt(0,-30,0);
  163.         neuer_punkt(0,-40,0);
  164.         neuer_punkt(10,0,0);
  165.         neuer_punkt(20,0,0);
  166.         neuer_punkt(30,0,0);
  167.         neuer_punkt(40,0,0);
  168.         neuer_punkt(-10,0,0);
  169.         neuer_punkt(-20,0,0);
  170.         neuer_punkt(-30,0,0);
  171.         neuer_punkt(-40,0,0);
  172. }
  173.  
  174. function kugel(n,radius)
  175. {
  176.         var N=n;
  177.         var M=0;
  178.                 neuer_punkt(0,0,0);
  179.         while(N>=0)
  180.         {
  181.                 neuer_punkt(Math.sin(M)*radius*Math.sin(Math.PI*N/n),Math.cos(M)*radius*Math.sin(Math.PI*N/n),Math.cos(Math.PI*N/n)*radius);
  182.                 N--;
  183.                 M+=0.5;
  184.         }
  185. }
  186.  
  187. var h=0.5;
  188. var v=0.5;
  189.  
  190. function darstellen(punkt)              //schräge parallelperspektive
  191. {
  192.         document.all[punkt["name"]].style.pixelLeft = punkt["x"] - h*punkt["z"] + rx;
  193.         document.all[punkt["name"]].style.pixelTop  = punkt["y"] + v*punkt["z"] + ry;
  194.         document.all[punkt["name"]].style.fontSize = Math.abs(20 + punkt["z"]/4);
  195. }
  196.  
  197. function alle_neu_ausrichten()
  198. {
  199.         var nummer = alle_punkte.length - 1;
  200.         while(nummer>=0)
  201.         {
  202.                 darstellen(alle_punkte[nummer]);
  203.                 nummer--;
  204.         }
  205. }
  206.  
  207. function alle_drehen(wx,wy,wz)
  208. {
  209.         var nummer = alle_punkte.length - 1;
  210.         while(nummer>=0)
  211.         {
  212.                 drehen(alle_punkte[nummer],wx,wy,wz);
  213.                 nummer--;
  214.         }
  215.         alle_neu_ausrichten();
  216. }
  217.  
  218. var bx=0.05,by=-0.05,Timer;
  219. function beweg_dich()
  220. {
  221.         alle_drehen(bx,by,bz);
  222.         timer1 = setTimeout("beweg_dich()",2);
  223.         var Timer="true"
  224. }
  225.  
  226. function erfasse()
  227. {
  228.         var mausx = window.event.offsetX;
  229.         var mausy = window.event.offsetY;
  230.         by = Math.round(0.15*Math.sin(Math.atan2(mausx-rx,ry))*100)/100;
  231.         bx = Math.round(0.15*Math.cos(Math.atan2(rx,mausy-ry))*100)/100;
  232. }
  233.  
  234. function zuruecksetzen()
  235. {
  236.         if(Timer)
  237.         {
  238.                 clearTimeout(timer1);
  239.                 Timer=false;
  240.         }
  241.         alle_punkte = new Array();
  242.         document.all["inhalt"].innerHTML="|";
  243.         document.all["zahl"].innerHTML = "0";
  244. }
  245.  
  246. function loadme()
  247. {
  248. beweg_dich();
  249. wuerfel();
  250.  
  251. }
  252.  
  253. //Hier der Punkt(0,0,0) des Koordinatensytems relativ zur Seite!
  254. var rx = 800;
  255. var ry = 600;
  256. var bz = 0.15; //Rotation um die Z-Achse (max. 0.15)
  257. var symbol="*";
  258. </script>
  259. </head>
  260. <body onmousemove="erfasse();" onload="loadme();">
  261.  
  262. <div id="inhalt"></div>
  263.  
  264. <form>
  265. <input type=button value="kreuz();" onclick="kreuz();"><br>
  266. <input type=button value="wuerfel();" onclick="wuerfel();"><br>
  267. <input type=button value="kugel(n,radius);" onclick="kugel(500,70);"><br>
  268. <input type=button value="zurücksetzen();" onclick="zuruecksetzen();"></form>
  269. Es sind <span id="zahl">0</span> Punkte dargestellt.
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top