Hey, ich programmiere gerade an einem 3d Viewport und bin auf ein Problem gestoßen, als ich versucht habe Objekt zu rotieren. Beim Rotieren(oder zumindest so wie ich das implementiert habe) wird erst über die x, die y und dann die z-Achse gedreht, das Problem dabei ist, dass dann so zu sagen die Rotation über die x-Achse bei y und z noch mal mitgedreht wird und so für eine Rotation an der x Ache nicht zu einer über die globale x-Achse, sondern eher über eine lokale Achse des Objekts führt. Tatsächlich ist das auch das, was ich am Ende gern hätte, aber halt nicht nur an einer Achse. Was ich also suche, ist eine Möglichkeit einen Punkt im dreidimensionalen so zu rotieren, dass er zum Rotieren entweder nur lokale Achsen benutzt oder nur globale aber halt nicht irgendeine Mischung aus beidem. Hier ist noch der code den ich bis jetzt geschrieben habe:

point.yz = vec2(point.y * cos(rotation.x) - point.z * sin(rotation.x), point.y * sin(rotation.x) + point.z * cos(rotation.x));

point.xz = vec2(point.x * cos(rotation.y) - point.z * sin(rotation.y), point.x * sin(rotation.y) + point.z * cos(rotation.y));

point.xy = vec2(point.x * cos(rotation.z) - point.y * sin(rotation.z), point.x * sin(rotation.z) + point.y * cos(rotation.z));