abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Programmierung
Alles über Programmierung in GDL und Python

Drehrichtung / Winkelangabe grundsätzlich...

snow
Moderator
Hallo schon wieder...

auch wenn ich mir der Gefahr bewusst bin, dass dieses Unterforum hier ja in der Gefahr steht , mein persönlicher Kummerkasten zu werden..
...dennoch diese, vielleicht dumme Frage:

Ist mir erst jetzt im Zusammenhang mit "Parameter"-Hotspots so richtig bewusst geworden, dass die positive Winkelrichtung in GDL im Uhrzeigersinn, also genau andersherum als 'mathematisch' ist.

Verstehe ich da was nur falsch...
oder was kann der Grund dafür sein, das so handzuhaben?

(... und wieso steht da nichts davon irgendwo ganz fett am Anfang eines GDL-Handbuchs? 🙄 )
Archicad For Future F R E E D O M for-COLORS
______________________________________

archicad versions 8-27 | mac os 13 | win 10
23 ANTWORTEN 23
archig
Expert
ich kapier die Fragestellung irgendwie nicht so ganz.
wenn es um rotx, roty, rotz geht, dann kann man doch einfach mal folgendes ins 3d skript tippen:

rotz 20
block 1,1,1
del 1

in dem Fall mal mit roty: jetzt stell dir vor, du bist am 0,0,0 Punkt und guckst in Richtung Y unendlich
der Würfel dreht sich dann im Uhrzeigersinn.
Bei Rotx dasselbe
Bei rotz auch. der Würfel dreht sich dann im Uhrzeigersinn. Aber da du von unten auf die Grundrissebene guckst, unterscheidet es sich vom Gewohnten: In der Grundrissaufsicht dreht sich der Würfel im Gegenuhrzeigersinn
ArchiCAD 25 / Windows 10
archig
Expert
@ Egon: Danke für die Skizze, jetzt versteh ich auch, was du mit der Hand meinst... So ist es verständlicher
ArchiCAD 25 / Windows 10
snow
Moderator
... Aber da du von unten auf die Grundrissebene guckst...

Das ist wohl das Geheimnis:
Es kommt auf die Blickrichtung drauf an 💡
(...meine Hand hätte ich jetzt zunächst jetzt mal andersherum angeschaut... 😉 )

Mit Blick in Richtung negative Koordinate ist die positive Drehrichtung (mathematisch) die gegen den Uhrzeigersinn.

Verwirrend wird es grundsätzlich, wenn der 7er Hotspot nicht in die selbe Richtung zeigt, wie der des Koordinatensystems... nur der bewegliche Punkt bezieht sich auf den Hotspot-Vektor... gedreht wird aber bezogen auf das Koordinatensystem.


(warum das KOS eine rotx 90 beim Klick auf den Spot macht, obwohl ich über y drehe, kann ich nicht erklären...)

Will ich es also so haben, dass meine Drehung in der Voderansicht gemäß mathematischen Grundsätzen definiert ist, bleibt wohl nur die Umkehrung des Parameterwerts...

Für alle, die es nicht glauben wollen:
! PARAMETER turny: Winkelangabe
! PARAMETER turn: -1*Winkelangabe


hotspot 0, 0, 0, 1, turny, 6 ! Mittelpunkt
hotspot 1, 0, 0, 2, turny, 4+0 ! Basis
hotspot cos(turny), 0, sin(turny), 3, turny, 5 ! Beweglich
hotspot 0, -1, 0, 4, turny, 7 ! Referenz
roty turn

BLOCK 1, 0.1, 0.5
Archicad For Future F R E E D O M for-COLORS
______________________________________

archicad versions 8-27 | mac os 13 | win 10
Anonymous
Nicht anwendbar
Vorab vielleicht: Lt. deiner Skizze wird um die z-Achse gedreht, im Script aber um die y-Achse

Mit den beweglichen 3D Hotspots habe ich mich noch nicht befasst. Meine Vermutung ist dahingehend, dass der Bezugsvektor (Richtung des Vektors) bei den Hotspots und das Koordinatensystem für den BLOCK nicht ganz konform laufen. Oder die Drehrichtungen sind tatsächlich unterschiedlich definiert.


Ich lehne mich jetzt ein bisschen aus dem Fenster:
Nach deiner Vorgabe im Skript "dreht" sich der bewegliche Hotspot von Pkt.2 zu Pkt.3 ( ich hoffe sehe das richtig) und das ist in Bezug zur Y Achse in negative Richtung. Den Block drehst du aber in positive Richtung.

Anonymous
Nicht anwendbar
Was auch noch sein könnte:

Schau mal bei self-gdl unter Hotspot: Beim Beispiel ist der hotspot 5 (beweglich) erst nach dem ROT Befehl platziert und wird sozusagen mit dem Block gedreht.
snow
Moderator
...Den Block drehst du aber in positive Richtung.
Ja, wenn man in Richtung positive y-Richtung schaut... und genau so will ich es definiert haben (auch, wenn die Winkelrichtung – wie sich jetzt herausgestellt hat – aufgrund der Konsequenz aus der einheitlichen Betrachtungsweise, andersherum definiert ist.

Wenn ich die Winkel An- und Eingabe andersherum akzeptieren würde, bräuchte ich wohl das Minus vor dem Sinus.

Und ja, wie ich schon versucht hab' zu verdeutlichen: Der bewegliche Punkt ist in +-Richtung definiert... aber eben nur in Bezug auf die Hotspotdefinition... weil ich darin, durch den Referenzpunkt die y-Richtung umkehre.
Archicad For Future F R E E D O M for-COLORS
______________________________________

archicad versions 8-27 | mac os 13 | win 10
Anonymous
Nicht anwendbar
Was mir noch auffällt:

Aus dem Beispiel bei self GDL wird die positive Richtung der Drehachse mit der Richtung vom Mittelpunkt zum Referenzpunkt definiert.
Bei dir ist der Referenzpunkt 0,-1,0 und das ist auf dem negativen Ast der y-Achse. Somit schaut die Drehachse für die Hotspots in die entgegengesetzte Richtung zur y-Achse des Koordinatensystems. Somit werden auch die positiven Drehrichtungen entgegengesetzt. Versuchs mal mit den Koordinaten 0,1,0. (beim Referenzpunkt).
snow
Moderator
...Versuchs mal mit den Koordinaten 0,1,0.


Ich hab', meine ich schon alles durch... und jetzt funktioniert es ja auch... den erforderlichen Hilfsparameter nehme ich – wenn's weiter nichts ist – dabei gerne in Kauf.

Aber vielen Dank für die rege Beteiligung!
Archicad For Future F R E E D O M for-COLORS
______________________________________

archicad versions 8-27 | mac os 13 | win 10
Frank Beister
Moderator
Schau mal bei self-gdl unter Hotspot: Beim Beispiel ist der hotspot 5 (beweglich) erst nach dem ROT Befehl platziert und wird sozusagen mit dem Block gedreht.

Der "bewegliche Punkt" muss vom Drehpunkt in die Richtung zeigen, die dem aktuell eingestellten Wert des Parameters entspricht, der veränderlich sein soll. Wenn der Winkel also auf 15° steht, muss zwischen dem Basisvektor und dem beweglichen Vektor 15° liegen. Du kannst die Richtung bzw. Koordinaten berechnen, oder einfach das Koordinatensystem vorher (kurz) dahin drehen und einfach in die Richtung zeigen, indem du dann die gleichen Koordinaten wie beim Basisvektor angibst. Daher der ROT vor dem HOTSPOT.
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm
Frank Beister
Moderator
Gegen-/Uhrzeigersinn ergibt in 3D wenig Sinn, da man dazu immer den Bezug angeben müsste. Von wo schaut man. Die rechte Handregel gibt beides Infos in einem an.

Dieser gibt quasi die Normalenrichtung der Ebene an, auf welcher der gedachte Kreisbogen für die grafische Winkeleingabe liegt.


Der HOTSPOT-Aufbau für Winkel ist in 3D schwieriger, weil eine 2D-Funktion im 3D mit 1D/2D-Infos beschrieben werden soll. Im Klartext:

Ich brauche eine Drehebene in der sich die Drehung abspielt. Eine Ebene kann ich auf verschiedene Arten definieren (3 Punkte, 2 Vektoren, Vektor + Punkt). In der analytischen Geometrie gerne und hier auch in HOTSPOT durch einen Normalenvektor (und Punkt auf der Ebene). Der Punkt ist hier der angegebene Mittelpunkt der Drehung. typ=6) und der Normalenvektor (=ein Vektor senkrecht auf die Ebene) ist der Referenzvektor typ=7 (=Daumen)

Der Basisvektor und der bewegliche Vektor müssen nun zueinander passen (richtiger Winkel, richtige Richtung) und in dieser aufgespannten Ebene liegen.
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm

Keine Antwort gefunden?

Andere Beiträge
im Board ansehen

Zurück zum Board

Neueste Lösungen durchsuchen

Akzeptierte Lösungen zeigen

Eine neue Diskussion starten!

Neues Thema erstellen