This package supports interop between ianmackenzie/elm-geometry
and elm-community/linear-algebra.
You can:
elm-geometry Point2d, Point3d, Vector2d, Vector3d,
Direction2d and Direction3d values to and from linear-algebra Vec2,
Vec3 and Vec4 valueselm-geometry Frame3d values to the equivalent linear-algebra
Mat4 transformation matriceselm-geometry Point3d and Vector3d values using
linear-algebra Mat4 transformation matricesThis is important for working with WebGL, since the elm-community/webgl
package requires using linear-algebra types when defining meshes and shaders.
This package may also be useful when using other packages that accept or return
linear-algebra types, such as mkovacs/quaternion.
However, you shouldn't need this package for general use - you should be able to
do most geometric transformations you need (rotations, translations etc.) using
elm-geometry itself.
elm package install ianmackenzie/elm-geometry-linear-algebra-interopFull API documentation is available.
The modules in this package are all designed to be imported using as to
'merge' them with the base elm-geometry modules; for example, using
import Point3d exposing (Point3d)
import Geometry.Interop.LinearAlgebra.Point3d as Point3dwill let you use functions from both modules as if they were part of one big
Point3d module. For example, you could use the toVec3 function from this
package's Point3d module with the origin value from the base Point3d
module as if they were part of the same module:
Point3d.toVec3 Point3d.origin
--> Math.Vector3.vec3 0 0 0Please open a new issue if you run into a bug, if any documentation is missing/incorrect/confusing, or if there's a new feature that you would find useful. For general questions about using this package, try:
You can also find me on Twitter (@ianemackenzie),
where I occasionally post elm-geometry-related stuff like demos or new
releases. Have fun, and don't be afraid to ask for help!