-
Notifications
You must be signed in to change notification settings - Fork 0
Quaternion
crocblancyt edited this page Dec 1, 2025
·
2 revisions
see import
local quaternion = dofile("quaternion.lua")
OR
local quaternion = import(".../quaternion.lua")local q = quaternion.new(w, x, y, z)
OR
local q = quaternion.new{w=w, x=x, y=y, z=z}local axis, angleAroundAxis = vector.new(0,1,0), math.rad(90)
local q = quaternion.fromAxisAngle(axis, angleAroundAxis)local q = quaternion.fromMatrix({
{1,0,0},
{0,1,0},
{0,0,1}
})local from, to = vector.new(1,0,0), vector.new(1,1,1)
local q = quaternion.fromVectorToVector(from, to)
--untestedlocal xyz = {x=0, y=math.rad(90), z=0}
local order = "zyx"
local q = quaternion.fromEuler(xyz, order)local m = q:toMatrix()local rotatedVector = q:transformVector(vector.new(1,0,0))local save = q:toSave()local q = q:inverse()local q = q1 * q2local axis, angle = q:toAxisAngle()local angles = q:toEulerXYZ()
local angles = q:toEulerZYX()
local angles = q:toEulerYXZ()
local angles = q:toEulerZXY(){
w: number
x: number
y: number
z: number
magnitude: number
unit: quaternion
}