Abstand Punkt Ebene < Lin. Algebra/Vektor < Oberstufe < Schule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 07:43 Mi 25.03.2009 | Autor: | wumanchu |
Hallo,
ich schreibe ein Programm das eine Punktwolke mit einer Ebene approximiert und mir dessen Flächennormale ausspuckt. Nun möchte ich für jeden Punkt den Abstand zu dieser Ebene bestimmen. Alle Formeln die ich finden konnte benötigten einen weiteren Punkt der auf der Ebene liegt.
Hat jemand eine Formel zur Projektion eines Punktes auf die Ebene.
Zusammenfassung:
Flächennormale und Punktmenge gegeben
vielen Dank für Eure Hilfe
Daniel
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Hallo Daniel,
wie wärs mit der Hesse-Form?
$d(E, [mm] P_i)=\bruch{|<\vec{n}, \vec{p}>-c~|}{|\vec{n}|}$
[/mm]
mit [mm] \vec{n} [/mm] als Flächennormale, [mm] \bruch{c}{\vec{n}} [/mm] der Abstand der Ebene vom Ursprung und [mm] P_i [/mm] alle Elemente der Punktwolke.
Gruß
Slartibartfast
|
|
|
|
|
> ich schreibe ein Programm das eine Punktwolke mit einer
> Ebene approximiert und mir dessen Flächennormale ausspuckt.
> Nun möchte ich für jeden Punkt den Abstand zu dieser Ebene
> bestimmen. Alle Formeln die ich finden konnte benötigten
> einen weiteren Punkt der auf der Ebene liegt.
Hallo,
wenn Du von der Ebene wirklich nur die Normale kennst und nichts sonst, wirst Du den Abstand der Punkte von der Ebene nicht berechnen können, Du mußt die Ebenen ja durch irgendwas im Raum "fixieren", ansonsten kann die ja überall liegen - was sicher nicht im Sinne des Erfinders ist.
Vielleicht suchst Du aber erst die genaue lage der Ebene? Dann könntest Du es so machen, wie mein Vorredner vorschlägt, und schauen, für welches c die Summe der Abstände am kleinsten ist (oder irgendsowas).
Gruß v. Angela
|
|
|
|
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 01:41 Do 26.03.2009 | Autor: | wumanchu |
Hallo Angela und Slatibartfast,
nicht noch eine Ausgleichung! Glaubt Ihr das ich halbwegs vernünftige Ergebnisse herausbekomme wenn ich das aritmethische Mittel über alle Punkte bilde?
Ansonsten habe ich keine Ahnung wie ich sonst da ran kommen soll. Wie Ihr seht sind meine Kenntnisse in der Vektorrechnung eingerostet. Eine Ebenengleichung könnte ich noch aus dem Eigenvektor ableiten. Muss aber mal schauen wie das geht. Mit der Ebenengleichung müsste mein Problem doch zu lösen sein, oder?
liebe Grüße nach Deutschland
Daniel
|
|
|
|
|
> Hallo Angela und Slatibartfast,
>
> nicht noch eine Ausgleichung! Glaubt Ihr das ich halbwegs
> vernünftige Ergebnisse herausbekomme wenn ich das
> aritmethische Mittel über alle Punkte bilde?
Hallo,
ich kann Dir hier leider überhaupt nicht weiterhelfen.
Gruß v. Angela
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 04:40 Do 26.03.2009 | Autor: | N2Y |
Wenn du dich nicht mit der Materie beschäftigen willst, schau mal nach "Linearer Regression" (zB mittels Least Squares Fitting). Das ist genau das was du brauchst(Ebene für Menge von Punkten). Der Wert der response Variablen ist proporional zum Abstand von der Ebene.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 08:27 Do 26.03.2009 | Autor: | isi1 |
Du schreibst:
> Zusammenfassung:
> Flächennormale und Punktmenge (ich nehme an: beide) gegeben
Programmtechnisch würde ich so vorgehen, Daniel:
#define N=10
int P[N,3] // Punkte
int d[N]
// Ebenengleichung Ax +By +Cz -D = 0 ... setzen wir zunächst D = 0
// damit geht die Ebene durch den Nullpunkt.
// später verschieben wir sie
// Normale zur Ebene: [mm] \frak{n} [/mm] = [mm] \vektor{a \\ b \\ c} [/mm] = [mm] \frac{1}{\sqrt(A^2+B^2+C^2)}\cdot \vektor{A \\ B \\ C}
[/mm]
[mm] d_i [/mm] = a*P(i,0)+b*P(i,1)+c*P(i,2) // Abstand des Punktes von der Ebene
// da Du a,b,c und die Punkte gegeben hast, kannst Du alle [mm] d_i [/mm] berechnen
// und mitteln oder was Du willst.
// der Abstand [mm] d_E [/mm] der Ebene vom Nullpunkt ist z.B.
[mm] d_E [/mm] = [mm] \bruch{1}{N}\cdot\summe_{i=0}^{N-1}d_i
[/mm]
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 01:48 Fr 27.03.2009 | Autor: | wumanchu |
Besten Dank noch mal an alle die mir fleißig Antworten geschrieben haben.
@ isi:
Ja, ich habe nur die Punktnormale und die Punkte selbst gegeben, nicht aber die Ebenengleichung. Nach der Gleichung di, die Du mir gegeben hast müsste ich ja den Abstand vom jeweiligen Punkt zur Ebene berechnen können (ich habe P(i,0) und die Normalenelemente). Das wiederspricht, glaube ich, einem anderen Eintrag nach dem mindestens ein Punkt der Ebene gegeben sein muss.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:50 Di 31.03.2009 | Autor: | isi1 |
Das widerspricht sich nicht, wumanchu,
die Ebene geht einfach durch den Nullpunkt. Durch die (lineare) Mittelwertbildung verschiebst Du sie dann so, dass die Summe der Abstände von der Ebene = 0 ist.
Oder - falls gewünscht - das quadratische Mittel der Abstände minimal wird.
|
|
|
|