2016-04-18 4 views
0

Ich habe einen normalen Vektor, die Gleichung einer Ebene (ax + by + cz = d)wie berechnen vier beliebige Punkte aus einer Ebene Gleichung

Wie kann ich vier beliebige Punkte berechnen ein Viereck zu schaffen? Ich dachte darüber nach, nur die x-, y- und z-Abschnitte zu verwenden, aber dieser Ansatz wird nicht funktionieren.

Ich denke ich werde ein System von Gleichungen in numpy http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.linalg.solve.html

diesen Beitrag Umriss ein Ansatz in c verwenden müssen ++, aber ich bin nicht sicher, ob es funktionieren würde How do I get three non-colinear points on a plane? - C++

+0

es _will_ Arbeit: 3 nicht-kolineare Punkte in der Ebene eine vollständige 2D-Basis bilden, und jeder Punkt auf der Ebene darstellbaren als Linearkombination der beiden Basisvektoren –

+0

krank es in python implementieren, jeder Idee, wie ich diesen vierten Punkt bekommen könnte. Ich würde es vorziehen, zu vermeiden, die x, y, z Ebene intercepts – webmaker

+0

zu verwenden, wie ich sagte, Sie können _any_ Punkt auf der Ebene mit einer linearen Kombination der beiden Vektoren erhalten Sie von der 3-Punkt-Methode, die Sie über –

Antwort

0

Dies ist, was ich würde do:

  1. Lösen Sie das homogene System ax + by + cz = 0. Die Lösung wird Ihre zwei linear unabhängigen Lösungen A = (x0, y0, z0) und B = (x1, y1, z1) geben.

  2. Suchen Sie eine bestimmte Lösung (vorausgesetzt, dass d != 0). Wählen Sie dazu einen Koeffizienten a, b oder c, der sich von 0 unterscheidet. Zum Beispiel, wenn a != 0 eine bestimmte Lösung ist P = (d/a, 0, 0).

  3. Select 4 Punkte in der homogenen Ebene, beispielsweise 0, A, B und A + B und SUM ihnen die besondere Lösung P

    A + P, B + P, A + B + P, P

+0

Es wäre gut zu wissen, der Grund für den Downvote ... –

+0

das war ich nicht, ich sah gerade deine Post. Danke für die Antwort. Ich überlege mir auch, die sympy arbitrary point Methode zu replizieren. http://docs.sympy.org/latest/modules/geometry/plane.html – webmaker

+0

Danke @webmaker. Lass es mich wissen, wenn es etwas gibt, was ich besser klären sollte. –

Verwandte Themen