Sketcher ConstrainTangent/de

Beschreibung
Die Einschränkung tangential ordnet zwei Kurven oder Linien so an, dass sie tangential zueinander stehen. Gerade Linien werden als unendlich behandelt und Bögen als volle Kreise beziehungsweise Ellipsen. Diese Einschränkung kann auch zwei Linien/Kurven miteinander verbinden, so dass sie am Verbindungspunkt tangential ineinander übergehen, so dass sie an der Verbindungsstelle ohne Knick miteinander verbunden sind.

Anwendung
Diese Einschränkung kann auf vier verschiedene Weisen angewendet werden:
 * 1) zwischen zwei Kurven (jedoch nicht für alle Kurventypen)
 * 2) zwischen zwei Endpunkten von Kurven zur Erzeugung einer glatten Verbindung
 * 3) zwischen einer Kurve und dem Endpunkt einer anderen Kurve
 * 4) zwischen zwei Kurven an einem vom Benutzer festgelegten Punkt

Zur Erstellung einer tangentialen Einschränkung ist wie folgt vorzugehen:
 * Zwei oder drei Elemente in der Skizze auswählen.
 * Die Einschränkung durch einen Klick auf das Symbol in der Werkzeugleiste oder durch Auswahl des Menüeintrags oder durch das Tastenkürzel aufrufen.

Zwischen zwei Kurven (tangential berührend)


Zwei Kurven werden so angeordnet, dass sie sich tangential berühren; der Berührungspunkt wird implizit bestimmt. Dieser Modus wird angewandt, wenn zwei Kurven als ganzes ausgewählt werden.

Zulässige Auswahl: Wenn die direkte Tangentialität zwischen den ausgewählten Kurven nicht unterstützt wird (zum Beispiel zwischen einem Kreis und einer Ellipse), wird ein Hilfspunkt automatisch eingefügt und die Tangentialität mittels Punkt wird angewandt.
 * Linie + Linie, Kreis, Kreisbogen, Ellipse, Ellipsenbogen
 * Kreis, Kreisbogen + Kreis, Kreisbogen

Es wird nicht empfohlen den Berührungspunkt zu bestimmen, indem ein Punkt generiert wird, der so eingeschränkt wird, dass er auf beiden Kurven liegt. Dies funktioniert im Prinzip, aber die Konvergenz der Lösung wird erheblich erschwert, sprunghafter und benötigt mehr als doppelt so vieler Iterationen als normal. Wenn der Berührungspunkt benötigt wird, sollte andere Einschränkungen benutzt werden, um ihn zu bestimmen.

Zwischen zwei Endpunkten (Punkt-zu-Punkt-Tangentialität)


In diesen Modus werden die Endpunkte miteinander verbunden und der Übergang ist tangential (C1-Kontinuität oder "spitz", abhängig von der Lage der Kurven vor der Anwendung der Einschränkung). Dieser Modus wird angewandt, wenn zwei Endpunkte von Kurven ausgewählt wurden.

Zulässige Auswahl:
 * Endpunkt einer Linie / eines Bogens / eines Ellipsenbogens + Endpunkt einer Linie / eines Bogens / eines Ellipsenbogens (im Allgemeinen zwei Endpunkte von jedweden Kurven)

Zwischen einer Kurve und einem Endpunkt (Punkt-zu-Kurve-Tangentialität)


In diesen Modus wird der Endpunkt der einen Kurve auf die andere Kurve gelegt und die Kurven berühren sich tangential in diesen Punkt. Dieser Modus wird angewandt, wenn eine Kurve und der Endpunkt einer anderen Kurve ausgewählt wurden.

Zulässige Auswahl:
 * Linie, Kreis, Kreisbogen, Ellipsenbogen + Endpunkt einer Linie / eines Kreises / eines Kreisbogens / eines Ellipsenbogens (im Allgemeinen jede Kurve + der Endpunkt irgend einer anderen Kurve)

Zwischen zwei Kurven an einem Punkt (Punkt-Tangentialität) (v0.15)


In diesen Modus werden zwei Kurven tangential an einem ausgewählten Punkt angeordnet. Dieser Modus wird angewandt, wenn zwei Kurven und ein Punkt ausgewählt werden.

Zulässige Auswahl: "Irgendein Punkt" kann ein einzelner Punkt oder ein Punkt von irgendwas, zum Beispiel der Mittelpunkt eines Kreises oder der Endpunkt eines Bogens oder der Koordinatenursprung sein.
 * irgendeine Linie / Kurve + irgend eine Linie / Kurve + irgendein Punkt

Damit die Einschränkung richtig funktioniert, muss der Punkt auf beiden Kurven zu liegen kommen. Somit wird bei der Ausführung der Einschränkung der Punkt automatisch auf die Kurven gelegt, wenn notwendig durch Hinzufügen von Hilfseinschränkungen und die Kurven werden tangential in dem Punkt angeordnet. Diese Hilfseinschränkungen sind einfach reguläre Einschränkungen. Sie können manuell hinzugefügt oder gelöscht werden.

Verglichen mit der direkten Tangentialität ist diese Einschränkung langsamer, weil mehr Freiheitsgrade involviert sind, aber wenn der Berührungspunkt benötigt wird, ist dies der empfohlene Modus, weil er eine bessere Konvergenz der Lösung aufweist verglichen mit der direkten Tangentialität + Punkt auf zwei Kurven.

Die Platzierung des Punktes vor der Anwendung der Einschränkung ist ein Hinweis für den Löser, wo die Tangentialität sein soll. Mit diesem Modus ist es möglich zwei Ellipsen so anzuordenen, dass sie sich in zwei Punkten berühren.

Verwendung in Skripten
Die tangentiale Einschränkung kann von Makros und von der Python-Konsole durch einen der folgenden Pythonbefehle erzeugt werden:

wobei:
 * Sketch ist ein Skizzen-Objekt
 * icurve1, icurve2 sind zwei Integer-Zahlen, die die Kurven identifizieren, die zueinander tangential liegen sollen. Dies Integer-Zahlen sind Indexwerte der Skizze (der Wert, der vom Aufruf Sketch.addGeometry zurückgegeben wird).
 * pointpos1, pointpos2 sollten 1 für den Startpunkt und 2 für den Endpunkt sein.
 * geoidpoint und pointpos in TangentViaPoint sind die Indexe, die den Berührungspunkt spezifizieren.