Analytische Geometrie
Analytische Geometrie ist eine vollständig in Pure Python entwickelte Bibliothek für Berechnungen der analytischen Geometrie im dreidimensionalen Raum. Sie verfügt über einen eigenen Vektor- und Linear-Algebra-Kern und bietet eine objektorientierte API für Vektoren, Punkte, Geraden, Ebenen und Fassaden einschließlich geometrischer Transformationen wie Skalierung, Rotation, Verschiebung und Spiegelung.
Die Bibliothek besitzt keinerlei externe Abhängigkeiten und eignet sich sowohl für Lehre und Studium als auch als Grundlage für geometrische Anwendungen, Visualisierung oder CAD-nahe Projekte.
Funktionen
Vektoren (Vektor)
-
Vektoraddition und -subtraktion
-
Skalarmultiplikation
-
Betrag
-
Skalarprodukt
-
Kreuzprodukt
-
Normierung
-
Winkelberechnung
-
Transformationen
- Skalieren
- Verschieben
- Drehen
- Spiegeln an Punkt
- Spiegeln an Gerade
- Spiegeln an Ebene
Punkte (Punkt)
- Erstellung von Punkten im ℝ³
- Abstand zwischen Punkten
- Richtungsvektor zwischen zwei Punkten
- Alle geometrischen Transformationen
Geraden (Gerade)
-
Erstellung aus
- zwei Punkten
- Stütz- und Richtungsvektor
-
Berechnung beliebiger Punkte auf der Geraden
-
Lotfußpunkt eines Punktes
-
Spurpunkte
-
Abstände zu
- Punkten
- Geraden
-
Schnittpunkt mit Geraden
-
Lagebeziehungen
- identisch
- parallel
- schneidend
- windschief
-
Winkelberechnungen
-
Geometrische Transformationen
Ebenen (Ebene)
-
Erstellung aus
- Punkt und Normalenvektor
- Punkt und zwei Spannvektoren
-
Lotfußpunkt eines Punktes
-
Schnittgerade zweier Ebenen
-
Schnittpunkt mit Geraden
-
Spurpunkte
-
Abstände zu
- Punkten
- Geraden
- Ebenen
-
Schnittwinkel
-
Lagebeziehungen
- identisch
- parallel
- schneidend
-
Geometrische Transformationen
Fassaden (Fassade)
Darstellung begrenzter ebener Vierecke.
Unterstützt unter anderem:
-
Mittelpunkt
-
Umfang
-
Flächeninhalt
-
Normalenvektor
-
Punkt-in-Fassade-Test
-
Lagebeziehungen zwischen Fassaden
- identisch
- parallel
- schneidend
- außerhalb
- koplanar schneidend
- koplanar außerhalb
- auf Kante
- berührend
- kanten schneidend
-
Abstand zwischen Fassaden
-
Schnittpunkt (falls eindeutig)
-
Geometrische Transformationen
Eigenschaften
- ✅ Vollständig in Pure Python
- ✅ Keine externen Abhängigkeiten
- ✅ Eigener Vektor-Kern
- ✅ Eigene Linear-Algebra-Hilfsfunktionen
- ✅ Objektorientierte API
- ✅ Numerisch robuste Berechnungen mittels eigener Toleranzfunktionen
- ✅ Geometrische Transformationen für alle Objekte
- ✅ Umfangreiche Unit-Tests
- ✅ Für Lehre, Studium und technische Anwendungen geeignet
Installation
pip install analytische_geometrie
📚 Beispiele
Grundlegende Geometrie
from analytische_geometrie import Punkt, Gerade
A = Punkt([0, 0, 0])
B = Punkt([2, 2, 2])
g = Gerade.from_punkte(A, B)
print(A.abstand_zu_punkt(B))
print(g.gerade(0.5))
print(g.enthaelt_punkt(A))
Ebenen
from analytische_geometrie import Punkt, Ebene
E = Ebene([1, 2, 3], [1, 1, 1])
P = Punkt([4, 5, 6])
print(E.abstand_punkt(P))
print(E.enthaelt_punkt(P))
print(E.spurpunkte())
Transformationen
from analytische_geometrie import Gerade
g = Gerade([1, 2, 3], [1, 0, 0])
g2 = g.skalieren(2)
g3 = g.verschieben([5, 0, 0])
g4 = g.drehen(90, "z")
g5 = g.spiegeln_an_punkt([0, 0, 0])
Fassade
from analytische_geometrie import Punkt, Fassade
fassade = Fassade(
[0, 0, 0],
[10, 0, 0],
[10, 8, 0],
[0, 8, 0]
)
print(fassade.flaecheninhalt())
print(fassade.umfang())
print(fassade.mittelpunkt)
P = Punkt([5, 4, 0])
print(fassade.enthaelt_punkt(P))
Schnittpunkt zwischen Gerade und Ebene
from analytische_geometrie import Gerade, Ebene
g = Gerade([0, 0, 0], [1, 1, 1])
E = Ebene([1, 0, 0], [0, 1, 0])
print(E.lage_gerade(g))
print(E.schnittpunkt_gerade(g))
Winkelberechnungen
from analytische_geometrie import Gerade, Ebene
g1 = Gerade([0, 0, 0], [1, 0, 0])
g2 = Gerade([0, 0, 0], [1, 1, 0])
print(g1.winkel_zwei_geraden(g2, deg=True))
E = Ebene([0, 0, 0], [0, 0, 1])
print(E.schnittwinkel_gerade(g1, deg=True))
E2 = Ebene([0, 0, 0], [1, 1, 0])
print(E.schnittwinkel_ebene(E2, deg=True))
Abhängigkeiten
- Python ≥ 3.10
Lizenz
MIT License.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file analytische_geometrie-1.1.0.tar.gz.
File metadata
- Download URL: analytische_geometrie-1.1.0.tar.gz
- Upload date:
- Size: 87.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4de088c2a6ae0ef2be5c3750e571b46972f51c51ef33f79cfa75857752fd010d
|
|
| MD5 |
67f39375a9583c0df0ffd4e4f95d0780
|
|
| BLAKE2b-256 |
0f477316193257871f5db851ff861f1052c07d3ee432257af966fd8ab7f54101
|
File details
Details for the file analytische_geometrie-1.1.0-py3-none-any.whl.
File metadata
- Download URL: analytische_geometrie-1.1.0-py3-none-any.whl
- Upload date:
- Size: 22.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3f6529149e0ecfe7e79b82c35002ee02bc4dcee0516ff48b1cfb568b8c91067
|
|
| MD5 |
64076ff4e440aca5b182fd86ff21bfee
|
|
| BLAKE2b-256 |
2f47e4122b454afd32f218c1729e56da3b66cba683d7417e34bdae17375a8b05
|