Skip to main content

analytische-geometrie Logo

Pure Python 3D Geometry Custom Vector Engine Object-Oriented No Dependencies Unit Tests MIT License

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)

Source distribution for analytische-geometrie 1.1.1
File Size Uploaded
analytische_geometrie-1.1.1.tar.gz 87.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for analytische-geometrie 1.1.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.1.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page