You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Diese Diskussion fasst die Überlegungen zu den Assistenzfunktionen beim Geometriezeichnen zusammen.
Terminology
Einrasten : (engl. snap) - Wird der Mauscursor über eine mögliche Einrastposition/Fangposition in der 3D-Welt bewegt, so springt das lokale Koordinatensystem exakt zu diesem Einrastpunkt, auch wenn der Mauscursor noch ein paar Pixel entfernt ist. Sind mehrere Einrastpunkte in der Nähe des Mauscursors, muss entschieden werden, welches Punkt auszwählen ist (Frage 1, unten).
Achsensperrfunktion : (enl. lock) - Wirkt nur beim Zeichnen von Polygonen/Geometrie, d.h. wenn nacheinander Vertexes abgesetzt werden. Es kann immer nur eine Achse gesperrt sein. gesperrt bedeutet hier, dass sich das Koordinatensystem nur auf einer Linie bewegen kann, welche durch den zuletzt abgesetzten Punkt und der gesperrten lokalen Achsenrichtung definiert ist. Wurde noch kein Punkt gesetzt, so gilt der globale Koordinatenursprung als Startpunkt. Bei der Eingabe relativer Abstände werden bei gesperrten Achsen nur die Bewegungen entlang dieser Achse erwartet. Beispiel: ohne Achsensperrung bedeutet "2" : dx=2, dy=0, dz=0. Ist die Y-Achse gesperrt, so bewirkt eine Eingabe von "2" : dx=0, dy=2, dz=0. Dies sollte in der Eingabezeile sinnvoll verdeutlicht werden (Labeltext?).
Hinweis: die gesperrten Achsen sind die lokalen Achsen des lokalen Koordinatensystems. Aber: Für die Eingabe des ersten Punks via Koordinaten wird immer das globale Koordinatensystem verwendet.
Definitionen von Fangpunkten
Objektfang:
Ecken
Flächenmittelpunkte
Segmentmittelpunkte
Mittelpunkt bei Kugeln
Anfangs- Mittel und Endpunkt bei Zylindern
Gitterraster:
standardmäßig (sofern nicht ausgeblendet) die XY-Grundebene, wobei Schnittpunkte der Gitterlinien Fangpunkte sind
optional weitere (Hilfs-)Ebenen mit eigenem Raster
Berechnungen
Sichtliniengerade wird berechnet aus Nah/Fernebene und Mauskoordinaten
je Schnittpunktkandidat (PickPoint-candidate) wird:
Schnittpunkt einer Ebene durch den PickPoint und mit Normalenvektor = Sichtgeradenvektor und der Sichtgeraden wird bestimmt
Linienfaktor t dieses Schnittpunkts wird als Abstand zur Nahebene gemerkt
bei Gitterrastern:
Schnittpunkt der Sichtgeraden mit der Gitterebene bestimmen
Abstand zur Nahebene gemerkt
Ergebnis: Liste von Schnittpunkten der Sichtgeraden mit jeweils folgenden Informationen:
Typ des Schnittpunkts (Objekt/Ebene)
Koordinaten des Schnittpunkts/PickPoints
Abstand t von der Nahlinie
ID des getroffenen Objekts, bzw. Index der getroffenen Ebene
Die Kandidaten werden nach Sichttiefe/Abstand zur Nahebene sortiert (dichteste zuerst).
Anforderungen/Designentscheidungen
Mit Objekt ist unten eine Oberfläche eines Objekts gemeint, bzw. im Fall von Knoten (Kugeln) oder Röhren (Zylinder) die Mantelflächen.
Terminologie:
Sichttiefe - Abstand vom Beobachter (von der Nah-Ebene) entlang der Sichtgeraden
Durchstoßungspunkt/Pick-Point - Punkt, an dem die Sichtgeraden eine Fläche durchdringt
Snap-Abstand - Abstand zum Durchstoßungspunkt auf der Sichtgeraden
Gitterebene - Eine geometrische Hilfsebene, z.B. die XY-Gitterebene (bei z=0), oder eine beliebige andere Hilfsebene.
Auswahl von Objekten
Im Modus "Standard/Geometrie ausgewählt".
Es wird das dichteste Objekt ausgewählt. Sichtstrahl durchdringt Zeichenhilfs-Ebenen (XY-Gitterebene etc.).
Wenn Objekt gefunden wurde und diese Objekt aktiv ist, wird der Zustand "Ausgewählt" umgeschaltet.
Ausrichtung Koordinatensystem
Im Modus "Align Local Coordinate System".
Es wird das dichteste Objekt ausgewählt. Sichtstrahl durchdringt Zeichenhilfs-Ebenen (XY-Gitterebene etc.).
Bei Auswahl des Pick-Kandidaten wird zunächst nach Objekten gesucht. Ist eine Objekt-Fläche gefunden, wird die Flächenausrichtung (localX, localY und Normal) als lokales Koordinatensystem verwendet. Koordinatensystem wird an Stelle des Durchstoßungspunkts (PickPoint) verschoben.
Wird kein Objekt getroffen, wird der Schnittpunkt mit (dichtester) Gitterebene verwendet.
Wird gar kein Pickpoint gefunden, wird das lokale Koordinatensystem nicht ausgerichtet/nicht bewegt.
Zeichnen von Vertexen
Im Modus "Place Vertex".
Sichtstrahl wird auch durch Gitterebenen begrenzt.
(Anmerkung: bei Ebenen-Lock wird eine neue halbtransparente Gitterebene entsprechend der gesperrten Lokalkoordinatenachsen eingeführt).
Fallunterscheidungen:
a) kein Snap, keine Achsensperrung
Sichtstrahl trifft auf dichtestes Objekt oder Gitterebene. Lokales Koordinatensystem wird in den Pick-Point verschoben. Wird nicht einmal die Gitterebene getroffen, so wird das lokale Koordinatensystem in den globalen Koordinatenursprung verschoben.
b) snap, keine Achsensperrung
Sichtstrahl trifft auf dichtestes Objekt oder Gitterebene. Es wird immer der dichteste Schnittpunktkandidat verwendet.
Wird ein Objekt getroffen:
Auf diesem Objekt werden alle möglichen Snappunkte (entsprechend Snap-Optionen) bestimmt. Es ist möglich, dass alle Objektfang-Optionen ausgeschaltet sind. Dann wird kein Fangpunkt bestimmt.
Der Abstand der Fangpunkte zum Durchstoßungspunkt/Schnittpunkt wird berechnet. Der Abstand muss kleiner als ein Maximal-Snap-Abstand sein (User-Parameter). Der Fangpunkt wird als Kandidat in eine Liste aufgenommen.
Der Durchstoßungspunkt mit der Objektebene wird auch als Snapkandidat gelistet, aber mit sehr großem Abstand zur Sichtlinie. Dies führt dazu, dass selbst bei Ausschalten aller Fangpunkte auf dem Objekt, das Objekt selbst den Sichtstrahl beendet und nichts hinter dem Objekt (d.h. unsichtbares) gefangen wird.
Aus allen Fangpunktkandidaten wird der mit dem kleinsten Snap-Abstand ausgewählt,
Wird die Gitterebene getroffen und Gittersnap ist an:
es wird der nächstliegende Gitterpunkt bestimmt und verwendet. Der Abstand muss kleiner als ein Maximal-Snap-Abstand sein (User-Parameter).
der Durchstoßungspunkt mit der Ebene wird auch als Snap-Kandidat geführt, aber mit großem Abstand (Sicherheitsfall).
Wurden alle Schnittpunktkandidaten bearbeitet und kein Fangpunkt gefunden, so wird der Koordinatenursprung gefangen.
c) Mit Achsensperrung
Es wird der dichteste Punkt zwischen gesperrter Achse und Sichtlinie berechnet. Wenn kein Snap eingeschaltet ist, wird dieser Schnittpunkt regulär als Schnittpunktkandidat eingepflegt. Wenn Snap eingeschaltet ist, wird dieser Punkt verwendet, wenn kein sinnvoller Fangpunkt gefunden wurde.
Es wird zunächst die neue Position des lokalen Koordinatensystems entsprechend a) oder b) bestimmt. Anschließend wird der gewählte Punkt auf die gesperrte Achse projeziert (Lotpunktberechnung).
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Diese Diskussion fasst die Überlegungen zu den Assistenzfunktionen beim Geometriezeichnen zusammen.
Terminology
Einrasten : (engl. snap) - Wird der Mauscursor über eine mögliche Einrastposition/Fangposition in der 3D-Welt bewegt, so springt das lokale Koordinatensystem exakt zu diesem Einrastpunkt, auch wenn der Mauscursor noch ein paar Pixel entfernt ist. Sind mehrere Einrastpunkte in der Nähe des Mauscursors, muss entschieden werden, welches Punkt auszwählen ist (Frage 1, unten).
Achsensperrfunktion : (enl. lock) - Wirkt nur beim Zeichnen von Polygonen/Geometrie, d.h. wenn nacheinander Vertexes abgesetzt werden. Es kann immer nur eine Achse gesperrt sein. gesperrt bedeutet hier, dass sich das Koordinatensystem nur auf einer Linie bewegen kann, welche durch den zuletzt abgesetzten Punkt und der gesperrten lokalen Achsenrichtung definiert ist. Wurde noch kein Punkt gesetzt, so gilt der globale Koordinatenursprung als Startpunkt. Bei der Eingabe relativer Abstände werden bei gesperrten Achsen nur die Bewegungen entlang dieser Achse erwartet. Beispiel: ohne Achsensperrung bedeutet "2" :
dx=2, dy=0, dz=0
. Ist die Y-Achse gesperrt, so bewirkt eine Eingabe von "2" :dx=0, dy=2, dz=0
. Dies sollte in der Eingabezeile sinnvoll verdeutlicht werden (Labeltext?).Hinweis: die gesperrten Achsen sind die lokalen Achsen des lokalen Koordinatensystems. Aber: Für die Eingabe des ersten Punks via Koordinaten wird immer das globale Koordinatensystem verwendet.
Definitionen von Fangpunkten
Objektfang:
Gitterraster:
Berechnungen
Ergebnis: Liste von Schnittpunkten der Sichtgeraden mit jeweils folgenden Informationen:
Die Kandidaten werden nach Sichttiefe/Abstand zur Nahebene sortiert (dichteste zuerst).
Anforderungen/Designentscheidungen
Mit Objekt ist unten eine Oberfläche eines Objekts gemeint, bzw. im Fall von Knoten (Kugeln) oder Röhren (Zylinder) die Mantelflächen.
Terminologie:
Auswahl von Objekten
Im Modus "Standard/Geometrie ausgewählt".
Es wird das dichteste Objekt ausgewählt. Sichtstrahl durchdringt Zeichenhilfs-Ebenen (XY-Gitterebene etc.).
Wenn Objekt gefunden wurde und diese Objekt aktiv ist, wird der Zustand "Ausgewählt" umgeschaltet.
Ausrichtung Koordinatensystem
Im Modus "Align Local Coordinate System".
Es wird das dichteste Objekt ausgewählt. Sichtstrahl durchdringt Zeichenhilfs-Ebenen (XY-Gitterebene etc.).
Bei Auswahl des Pick-Kandidaten wird zunächst nach Objekten gesucht. Ist eine Objekt-Fläche gefunden, wird die Flächenausrichtung (localX, localY und Normal) als lokales Koordinatensystem verwendet. Koordinatensystem wird an Stelle des Durchstoßungspunkts (PickPoint) verschoben.
Wird kein Objekt getroffen, wird der Schnittpunkt mit (dichtester) Gitterebene verwendet.
Wird gar kein Pickpoint gefunden, wird das lokale Koordinatensystem nicht ausgerichtet/nicht bewegt.
Zeichnen von Vertexen
Im Modus "Place Vertex".
Sichtstrahl wird auch durch Gitterebenen begrenzt.
(Anmerkung: bei Ebenen-Lock wird eine neue halbtransparente Gitterebene entsprechend der gesperrten Lokalkoordinatenachsen eingeführt).
Fallunterscheidungen:
a) kein Snap, keine Achsensperrung
Sichtstrahl trifft auf dichtestes Objekt oder Gitterebene. Lokales Koordinatensystem wird in den Pick-Point verschoben. Wird nicht einmal die Gitterebene getroffen, so wird das lokale Koordinatensystem in den globalen Koordinatenursprung verschoben.
b) snap, keine Achsensperrung
Sichtstrahl trifft auf dichtestes Objekt oder Gitterebene. Es wird immer der dichteste Schnittpunktkandidat verwendet.
Wird ein Objekt getroffen:
Aus allen Fangpunktkandidaten wird der mit dem kleinsten Snap-Abstand ausgewählt,
Wird die Gitterebene getroffen und Gittersnap ist an:
Wurden alle Schnittpunktkandidaten bearbeitet und kein Fangpunkt gefunden, so wird der Koordinatenursprung gefangen.
c) Mit Achsensperrung
Es wird der dichteste Punkt zwischen gesperrter Achse und Sichtlinie berechnet. Wenn kein Snap eingeschaltet ist, wird dieser Schnittpunkt regulär als Schnittpunktkandidat eingepflegt. Wenn Snap eingeschaltet ist, wird dieser Punkt verwendet, wenn kein sinnvoller Fangpunkt gefunden wurde.
Es wird zunächst die neue Position des lokalen Koordinatensystems entsprechend a) oder b) bestimmt. Anschließend wird der gewählte Punkt auf die gesperrte Achse projeziert (Lotpunktberechnung).
Beta Was this translation helpful? Give feedback.
All reactions