1
0
Fork 0
mirror of https://gitlab.rlp.net/mobitar/ReCo.jl.git synced 2024-09-19 19:01:17 +00:00
ReCo.jl/src/Geometry.jl

24 lines
507 B
Julia
Raw Normal View History

2021-12-16 12:50:38 +00:00
module Geometry
2022-01-11 17:39:38 +00:00
export angle2, norm2d, sq_norm2d
2021-12-16 12:50:38 +00:00
using StaticArrays: SVector
2021-12-16 13:54:52 +00:00
"""
angle2(a::SVector{2,Float64}, b::SVector{2,Float64})
Returns the angle φ from vector a to b while φ [-π, π].
"""
2021-12-16 12:50:38 +00:00
function angle2(a::SVector{2,Float64}, b::SVector{2,Float64})
θ_a = atan(a[2], a[1])
θ_b = atan(b[2], b[1])
θ = θ_b - θ_a
return rem2pi(θ, RoundNearest)
end
2022-01-11 17:39:38 +00:00
sq_norm2d(v::SVector{2,Float64}) = v[1]^2 + v[2]^2
norm2d(v::SVector{2,Float64}) = sqrt(sq_norm2d(v))
2021-12-16 12:50:38 +00:00
end # module