Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#23

Re: Wertebereich von -X bis +X erstellen ?

  Alt 29. Okt 2008, 17:09
Okay, dann will ich das mal tun

Delphi-Quellcode:
TVector3D = record
  X, Y, Z: Double;
end;

function RandomFromTo(minRange, maxRange: Double): Double;
begin
  Result := Random() * (maxRange - minRange) + minRange;
end; // Random liefert eine Zahl zwischen 0 und 1 ???

function RandomPoint(minRadius, maxRadius: Double): TVector_3D;
const
  PI = 3.1415926535;
var
  r, phi, theta: Double
begin
  r = RandomFromTo(minRadius, maxRadius);
  phi = RandomFromTo(0, 2*PI);
  theta = RandomFromTo(0, PI);

  Result.X = r * sin(theta) * cos(phi);
  Result.Y = r * sin(theta) * sin(phi);
  Result.Z = r * cos(theta);
end;
Da ich kein Delphi hab, Code ohne Compilierbarkeits-garantie

Die Funktion sollte dann entsprechend Punkte ausspucken, deren Betrag in den Grenzen liegt, und eine zufällige Richtung haben.

Das kann man natürlich umso besser sehen, je mehr Punkte du erstellst

Btw.: zum Testen kannst du ja einmal statt -PI eine Null einsetzen, dann sollte es nur eine Halbkugel werden ...
  Mit Zitat antworten Zitat