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.
Metadata
Release files for analytische-geometrie 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| analytische_geometrie-1.1.1.tar.gz | 87.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| analytische_geometrie-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 109.4 kB
Release files / analytische_geometrie-1.1.1.tar.gz
| Download URL | analytische_geometrie-1.1.1.tar.gz |
|---|---|
| Size | 87.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0215566681188bbe321cde298a9f66df6fea2807dbd5ca15c38380b372826878
|
|
BLAKE2b-256 checksum How to use checksums |
6c9ad504dd56a63d0fce6bb60d8cd66216cd61602b0a0d01951f9ffb0136fc72
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / analytische_geometrie-1.1.1-py3-none-any.whl
| Download URL | analytische_geometrie-1.1.1-py3-none-any.whl |
|---|---|
| Size | 22.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f8f38b06c3ed78da80f99d3d7a9b4b329df0e5643452196931ffdca2b7d58b4a
|
|
BLAKE2b-256 checksum How to use checksums |
7397500c33b5214d0ef123b4075d496545b23d8f4142c522fce4b27a07dbda4a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|