Skip to content

Latest commit

 

History

History
37 lines (26 loc) · 1.53 KB

README.md

File metadata and controls

37 lines (26 loc) · 1.53 KB

Quaternions.jl

A Julia implementation of quaternions.

Stable Dev Build Status codecov Aqua QA

Quaternions are best known for their suitability as representations of 3D rotational orientation. They can also be viewed as an extension of complex numbers.

First example

julia> using Quaternions

julia> k = quat(0, 0, 0, 1)
Quaternion{Int64}(0, 0, 0, 1)

julia> j = quat(0, 0, 1, 0)
Quaternion{Int64}(0, 0, 1, 0)

julia> i = j*k
Quaternion{Int64}(0, 1, 0, 0)

julia> i^2 == j^2 == k^2 == i*j*k == -1 # Similar to `im^2`.
true

julia> 1 + i + k + j  # Compatible with arithmetic operations as a `Number`.
Quaternion{Int64}(1, 1, 1, 1)

Check out the docs for further instructions.

In JuliaGeometry organization, there is also Octonions.jl package.