julia> t = Triangle2D(PVector2D(4.0, 3.0), PVector2D(4.0, 0.0), PVector2D(0.0, 3.0))
Triangle2D{Float64}(PVector2D{Float64}(4.0, 3.0), PVector2D{Float64}(4.0, 0.0), PVector2D{Float64}(0.0, 3.0))
julia> orientation(t)
NegativelyOriented()
julia> len(t)
12.0
julia> PhysicalMeshes.area(t)
6.0
julia> centroid(t)
PVector2D{Float64}(2.6666666666666665, 2.0)
julia> circumcenter(t)
PVector2D{Float64}(2.0, 1.5)
julia> incircle(t, PVector2D(3.0, 2.0))
Interior()
julia> incircle(t, PVector2D())
OnEdge()
julia> incircle(t, PVector2D(6.0, 0.0))
Exterior()
julia> t = Triangle(PVector(0.0, 0.0, 0.0, u"m"), PVector(3.0, 4.0, 0.0, u"m"), PVector(3.0, 4.0, 12.0, u"m"))
Triangle{Unitful.Quantity{Float64, ๐, Unitful.FreeUnits{(m,), ๐, nothing}}}(PVector(0.0 m, 0.0 m, 0.0 m), PVector(3.0 m, 4.0 m, 0.0 m), PVector(3.0 m, 4.0 m, 12.0 m))
julia> len(t)
30.0 m
julia> PhysicalMeshes.area(t)
30.0 m^2
julia> centroid(t)
PVector(2.0 m, 2.6666666666666665 m, 4.0 m)
julia> circumcenter(t)
PVector(1.5 m, 2.0 m, 6.0 m)