Basic geometry tools.
Imported modules
|
|
from Numeric import *
import copy
import math
import sys
|
Functions
|
|
|
|
DCirclePolyObject
|
DCirclePolyObject ( c, pl )
Abstand vom Circle c zur PolyLine pl.
|
|
DLineLine
|
DLineLine ( l1, l2 )
2D! Abstand von der Line l1 zur Line l2.
|
|
DLinePolyObject
|
DLinePolyObject ( l, pl )
2D! Abstand einer Linie zu einem Polyobjekt
|
|
DPointLine
|
DPointLine ( p, l )
2D! Abstand vom Punkt p zur Line l.
|
|
DPointPoint
|
DPointPoint ( p1, p2 )
Abstand von p1 zu p2.
Abstaende von verschiedenen Objekten:
|
|
DPolyObjectPolyObject
|
DPolyObjectPolyObject ( pl1, pl2 )
2D! Abstand von einem Polyobjekt zu einem Polyobjekt
|
|
IntLineLine
|
IntLineLine ( line1, line2 )
2D! Prueft, ob sich die Linien Scheiden.
|
|
IntLineObjectLineObject
|
IntLineObjectLineObject ( obj1, obj2 )
2D! Prueft, ob sich die PolyObjekte schneiden.
|
|
IntObjectCircle
|
IntObjectCircle ( obj, c )
2D! Prueft, ob das Objekt und der Kreis/Kugel schneiden.
|
|
LineInPolygon
|
LineInPolygon ( ln, plg )
|
|
ObjectInCircle
|
ObjectInCircle ( obj, c )
|
|
ObjectInPolygon
|
ObjectInPolygon ( obj, plg )
|
|
PointInPolygon
|
PointInPolygon ( point, polygon )
|
|
angle
|
angle ( ln1, ln2 )
2D! Liefert den Winkel zwischen zwei Linien.
|
|
angleClockwise
|
angleClockwise ( ln1, ln2 )
2D!
|
|
between
|
between ( line, p )
2D! Liegt p zwischen den Endpunkten der Linie? Damit ist nicht gemeint, ob er auf der Verbindungslinie liegt, sondern ob er zischen den Ebenen liegt in denen die Punkte sind und auf denen line senkrecht steht.
|
|
collinear
|
collinear (
p1,
p2,
p3,
)
2D! Testet, ob sich die drei Punkte zu einer Geraden verbinden lassen.
|
|
contains
|
contains ( obj, ct )
Es wird getestet ob das zweite Objekt das erste beinhaltet. Punkt-in-Polygon-Test nach dem Jordan curve theorem. Der Fall, wenn ein Punkt auf einer Linie des Polgons liegt kann nicht korrekt bearbeitet werden!
|
|
containsPartOf
|
containsPartOf ( obj, ct )
Prueft ob das obj zumindest teilweise in ct enthalten ist.
|
|
crossProdukt
|
crossProdukt ( p1, p2 )
2D!
|
|
intPoint
|
intPoint ( ln1, ln2 )
2D! Liefert den Schnittpunkt von zwei Geraden.
Exceptions
|
|
"""Beim konstruieren des Polygons ist ein Fehler passiert:\12Eine Seite hat die Länge 0!"""
|
|
|
intersects
|
intersects ( obj1, obj2 )
2D! Prueft, ob das erste und das zweite Objekt sich schneiden.
|
|
sameSide
|
sameSide (
p0,
p1,
line,
)
2D! Befinden sich zwei Punkte auf der gleichen Seite einer Geraden? Wenn einer der beiden sich auf der Gerade befindet ist's auch ok.
|
|
skalarProdukt
|
skalarProdukt ( p1, p2 )
|
|
turns
|
turns (
p1,
p2,
p3,
)
2D! In welche Richtung geht die Kurve, die durch verbinden der Punkte entsteht?
|
Classes
|
|
Box |
2D! Eigentlich ein stinknormales Polygon. Habs wegen dem Konstruktor mit den zwei Punkten gemacht.
|
Circle |
Besteht aus einem Mittelpunkt (center) und einem Radius.
|
Line |
Die Line wird sowohl als Liniensegment zwischen den Punkten benutzt, als auch als Gerade.
|
Object |
2D! Hieraus erben alle geometrischen Objecte.
|
Path |
List of connected line segments
|
Point | |
PolyObject |
Hieraus erben alle Objekte die aus mehreren Lines bestehen.
|
Polygon | |
Test |
Hiermit kann man fein debuggen.
|
|