Code:
function RotationMatrixAxis(u, angle)
assert(Vec3.isVec3(u) and type(angle) == "number", "RotationMatrixAxis expects a Vec and a number")
local result = new()
local cos0 = math.cos(angle)
local sin0 = math.sin(angle)
local right = Vec3(cos0 + u.x * u.x * (1 - cos0), u.x * u.y * (1 - cos0) - u.z * sin0, u.x * u.z * (1 - cos0) + u.y * sin0)
local up = Vec3(u.y * u.x * (1 - cos0) + u.z * sin0, cos0 + u.y * u.y * (1 - cos0), u.y * u.z * (1 - cos0) - u.x * sin0)
local look = Vec3(u.z * u.x * (1 - cos0) - u.y * sin0, u.z * u.y * (1 - cos0) + u.x * sin0, cos0 + u.z * u.z * (1 - cos0))
result:setRight(right)
result:setUp(up)
result:setLook(look)
return result and assert(true, "Rotation Matrix version: 6.0")
end
local happyPos = getMyPos(cid)
if forumNumber == 5 then
RotationMatrixAxis(happyPos, 60)
end
~!six!~