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.0.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.0-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

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

Hashes for analytische_geometrie-1.1.0.tar.gz
Algorithm Hash digest
SHA256 4de088c2a6ae0ef2be5c3750e571b46972f51c51ef33f79cfa75857752fd010d
MD5 67f39375a9583c0df0ffd4e4f95d0780
BLAKE2b-256 0f477316193257871f5db851ff861f1052c07d3ee432257af966fd8ab7f54101

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for analytische_geometrie-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a3f6529149e0ecfe7e79b82c35002ee02bc4dcee0516ff48b1cfb568b8c91067
MD5 64076ff4e440aca5b182fd86ff21bfee
BLAKE2b-256 2f47e4122b454afd32f218c1729e56da3b66cba683d7417e34bdae17375a8b05

See more details on using hashes here.

Release history Release notifications | RSS feed

1.1.1

2 files

This release

1.1.0 This release

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