Hallo.
Ich zerbreche mir die ganze Zeit den Kopf über folgendes Proglem was ich habe (leider ohne Erfolg bis jetzt):
Ich habe eine Punktwolke:
Delphi-Quellcode:
type
T3DPoint = record
x, y, z: Single;
end
var
Punktwolke: Array of T3DPoint;
Ich möchte nun in der Punktwolke den Boden löschen (eine einigermaßen planare Fläche). Es ist immer die Einzige planare Fläche in der Wolke!
Folgende vorgehensweise habe ich mir überlegt:
- Nacheinander Punktepaare auswählen
- Prüfen ob diese in einer Ebene liegen
- ggf. löschen
Was mir unklar ist:
Brauche ich 3er Punktepaare oder 4er?
Wie kann ich errechnen, ob die ausgewählten Punkte auf einer Ebene liegen (mit x % Toleranz)?