|
|
|
|
|
|
|
|
double
|
|
line::
|
distance
|
|
(const point&) const
|
|
double
|
|
line::
|
distance
|
|
(const line&) const
|
|
double
|
|
line::
|
distance
|
|
(const plane&) const
|
|
double
|
|
line::
|
distance
|
|
(const circle&) const
|
|
double
|
|
line::
|
distance
|
|
(const cylinder&) const
|
|
double
|
|
line::
|
distance
|
|
(const sphere&) const
|
|
double
|
|
|
distance
|
|
(const line&, const point&)
|
|
double
|
|
|
distance
|
|
(const line&, const line&)
|
|
double
|
|
|
distance
|
|
(const line&, const plane&)
|
|
double
|
|
|
distance
|
|
(const line&, const circle&)
|
|
double
|
|
|
distance
|
|
(const line&, const cylinder&)
|
|
double
|
|
|
distance
|
|
(const line&, const sphere&)
|
|
double
|
|
line::
|
sdistance
|
|
(const vector&, const point&) const
|
|
double
|
|
line::
|
sdistance
|
|
(const vector&, const line&) const
|
|
double
|
|
line::
|
sdistance
|
|
(const vector&, const plane&) const
|
|
double
|
|
line::
|
sdistance
|
|
(const vector&, const circle&) const
|
|
double
|
|
line::
|
sdistance
|
|
(const vector&, const cylinder&) const
|
|
double
|
|
line::
|
sdistance
|
|
(const vector&, const sphere&) const
|
|
double
|
|
|
sdistance
|
|
(const line&, const vector&, const point&)
|
|
double
|
|
|
sdistance
|
|
(const line&, const vector&, const line&)
|
|
double
|
|
|
sdistance
|
|
(const line&, const vector&, const plane&)
|
|
double
|
|
|
sdistance
|
|
(const line&, const vector&, const circle&)
|
|
double
|
|
|
sdistance
|
|
(const line&, const vector&, const cylinder&)
|
|
double
|
|
|
sdistance
|
|
(const line&, const vector&, const sphere&)
|
|
Die Methoden, respektive Funktionen, distance und sdistance
liefern den kürzesten Raumabstand zwischen einer Geraden und einem anderen Geometrieelement.
distance betrachtet den Richtungsvektor bzw. Mittelpunkt des Elementes nicht.
Daher wird der Abstand vorzeichenlos zurückgeliefert.
sdistance berücksichtigt den Richtungsvektor bzw. Mittelpunkt des Elementes.
Der Abstand zum Element wird vorzeichenbehaftet geliefert.
|
·
|
Abstand Gerade-Punkt
|
|
|
·
|
Abstand Gerade-Gerade
|
|
distance liefert den kleinsten Abstand zweier Geraden oder 0, falls die
Geraden sich schneiden.
|
|
|
·
|
Abstand Gerade-Ebene
|
|
Für die nachfolgenden Beispiele liefert distance jeweils den gleichen
positiven Abstandswert, während sdistance einen positiven Abstandswert
nur für Geraden liefert, die auf der Seite der Ebene verlaufen in die der Ebenenvektor zeigt.
Für Geraden auf der dem Ebenenvektor gegenüberliegenden Seite sind die Abstandswerte negativ.
Sowohl distance als auch sdistance liefern nur
Abstandswerte ungleich 0, wenn die Gerade parallel zur Ebene verläuft. Alle anderen Geraden schneiden
die Ebene in einem Punkt (d.h. minimaler Abstand 0).
|
|
|
·
|
Abstand Gerade-Kreis
|
|
Für die nachfolgenden Beispiele liefert distance jeweils den gleichen
positiven Abstandswert, während sdistance einen positiven Abstandswert
nur für Geraden liefert, bei denen der dem Kreis nächstgelegene Punkt außerhalb des Kreises liegt.
Für Punkte innerhalb des Kreises wird ein negativer Abstandswert zurückgeliefert.
|
|
|
|
Die Gerade muß nicht in der Ebene des Kreises liegen.
|
·
|
Abstand Gerade-Zylinder
|
|
Für die nachfolgenden Beispiele liefert distance jeweils den gleichen
positiven Abstandswert, während sdistance einen positiven Abstandswert
nur für Geraden liefert, die den Zylinder nicht schneiden. Schneidet die Gerade den Zylinder, wird
der kleinste lotrechte Abstand der Geraden zur Kugelschale mit negativem Vorzeichen zurückgeliefert.
|
|
|
·
|
Abstand Gerade-Kugel
|
|
Für die nachfolgenden Beispiele liefert distance jeweils den gleichen
positiven Abstandswert, während sdistance einen positiven Abstandswert
nur für Geraden liefert, die Kugel nicht schneiden. Für Geraden die die Kugel schneidet, wird
der kleinste lotrechte Abstand der Geraden zur Kugelschale mit negativem Vorzeichen zurückgeliefert.
|
|
|
|
|