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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

analytische_geometrie-1.1.1.tar.gz (87.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

analytische_geometrie-1.1.1-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file analytische_geometrie-1.1.1.tar.gz.

File metadata

  • Download URL: analytische_geometrie-1.1.1.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

Hashes for analytische_geometrie-1.1.1.tar.gz
Algorithm Hash digest
SHA256 0215566681188bbe321cde298a9f66df6fea2807dbd5ca15c38380b372826878
MD5 a8ac5f3b052f1410ef949225c9db528d
BLAKE2b-256 6c9ad504dd56a63d0fce6bb60d8cd66216cd61602b0a0d01951f9ffb0136fc72

See more details on using hashes here.

File details

Details for the file analytische_geometrie-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for analytische_geometrie-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f8f38b06c3ed78da80f99d3d7a9b4b329df0e5643452196931ffdca2b7d58b4a
MD5 2ddd6fb88b9ec94c9515ec3a0083fc53
BLAKE2b-256 7397500c33b5214d0ef123b4075d496545b23d8f4142c522fce4b27a07dbda4a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 files

1.1.0

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 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