Forum: Algorithmen, Datenstrukturen und Klassendesign
by Andreas13,
23. Mär 2020
Hallo juniorA,
wie ich es bereits unter #5 dargestellt habe, mußt Du ein Koordinatensystem als absolutes Koordinatensystem festlegen und alle anderen Punkte durch Vektor-Addition bzw. Vektor-Subtraktion in die absoluten Koordinaten umrechnen. Wenn Du wissen willst, wie das geht, benutze meine Procedure Get_Punkt_Neu(..), wenn Du es lediglich erledigen willst, ohne groß zu wissen wieso und warum,...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Andreas13,
22. Mär 2020
@Frühlingsrolle.
Nur ein kleiner Hinweis zu Deinen Routinen: Man darf eine Fließkommazahl wie Double, Extended nie auf Gleichheit prüfen, weil dies wider Erwartung (fast) nie zutrifft:
function TVec3.IsPerpendicular: Boolean;
...
bRes := Scalar(FX, FY, FZ) = 0.0; // Falsch!
...
Der Grund dafür sind einerseits arithmetische Rundungsfehler in vorangegangenen Berechnungen. Darüber...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Andreas13,
21. Mär 2020
Ich fasse Deine Aufgabenstellung mal mit meinen Worten zusammen:
Das eigene Koordinatensystem des Körpers K2 soll in das Koordinatensystem des Körpers K1 umgerechnet werden, damit alle Operationen in einem einheitlichen Koordinatensystem erfolgen können.
Das nennt man Koordinaten-Transformation. Laut Deiner Zeichnung handelt es sich lediglich um eine einfache Parallelverschiebung des...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Andreas13,
21. Mär 2020
Hallo juniorA,
im rechtwinkligen Koordinatensystem muß Du einfach die jeweiligen Koordinaten vorzeichengerecht summieren.
Also beim addieren Deiner drei Punkte P1(x1, y1, z1), V1(x2, x2, z2) und V2(x3 , y3, z3) erhältst Du den neuen Punkt N so:
N(x1+x2+x3, y1+y2+y3, z1+z2+z3)
Gruß, Andreas