Ian Mackenzie
Ian Mackenzie
Yes, and I now use `elm-units-prefixed` at work because we have both `elm-units` and `elm-visualization` in our codebase. It's worked pretty well, although I needed to add `Quantity.unsafe` and `Quantity.unwrap`...
Thanks! And yes, `elm publish` etc. work fine with 0.19.0 so that's a good workaround for now.
Possibly useful for axis-box intersections: https://twitter.com/Peter_shirley/status/1053481303834746880?s=19 Good explanation: https://tavianator.com/fast-branchless-raybounding-box-intersections/
Ray-triangle intersections: https://en.wikipedia.org/wiki/M%C3%B6ller%E2%80%93Trumbore_intersection_algorithm
Another ray-triangle intersection algorithm (PDF): http://www.graphics.cornell.edu/pubs/1997/MT97.pdf (thanks @w0rm!)
There's an interesting question of what happens if the same vertex is added twice and then removed once - should it exist in the result or not? May be better...
Looks like a good test case for normal mapping: https://cc0textures.com/view?id=Wood027
Could get fancy and have phantom type parameters to tag transformations as non-scaling or non-shearing, to support transforming directions or circles etc. Perhaps: ```elm module Transformation2d identity : Transformation units...
Perhaps have the function called `apply` instead of `transformBy`? So you could write code like ```elm let transformation = Rotation.around axis angle in List.map (Point3d.apply transformation) points ``` Less likely...
Thanks @helgee! I think there are lots of useful applications of a generic `Transformation3d` type, but as long as you're not applying a scale factor then you should be able...