NoPaste

Zufallswerte erzeugen

von heinz

SNIPPET_TEXT:
  1.  
  2. int radX=2000; // Diesen Radius soll X am Ende haben
  3. int radY=1000; // Diesen Radius soll Y am Ende haben
  4. int radZ=500;  // Diesen Radius soll Z am Ende haben
  5.  
  6.  
  7. double rX; // Radius-X-Werte von -1 bis 1
  8. double rY; // Radius-Y-Werte von -1 bis 1
  9. double rZ; // Radius-Z-Werte von -1 bis 1
  10.  
  11.  
  12. double winkel; // Winkel in der Ebene (x,y)
  13. double winkelZ; // Winkel in der hoehe (z)
  14.  
  15.  
  16.  
  17. while(count < 10000)
  18. {
  19.         winkel=(double)(rand()%36000000)/100000.0;
  20.         winkelZ=(double)(rand()%36000000)/100000.0;
  21.  
  22.         do
  23.         {
  24.                 rX=(double)(rand()%20000000 - 10000000)/10000000.0;
  25.                 rY=(double)(rand()%20000000 - 10000000)/10000000.0;
  26.                 rZ=(double)(rand()%20000000 - 10000000)/10000000.0;
  27.         }
  28.         while(rX*rX + rY*rY + rZ*rZ < 1.0);
  29.  
  30. // Berechnung der Positionen
  31.         double XX=sin(winkelZ*(Pi/180.0)) * cos(winkel*(Pi/180.0)) * (rX * radX);
  32.         double YY=sin(winkelZ*(Pi/180.0)) * sin(winkel*(Pi/180.0)) * (rY * radY);
  33.         double ZZ=cos(winkelZ*(Pi/180.0)) * (rZ * radZ);
  34. }
  35.  
  36.  
  37.  

Quellcode

Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN