[OpenSCAD] Can you suggest some libraries of standard geometry conversions?

Andrew Plumb andrew at plumb.org
Sat Sep 19 11:09:57 EDT 2015

A couple of the basics are there - https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Mathematical_Operators <https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Mathematical_Operators>

- Dot-product is implicit when multiplying (the ‘*’ operation) two vectors of equal length.

https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Vector_Dot-Product_Operator <https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Vector_Dot-Product_Operator>

- Use the cross(v1,v2) function for cross-product of two vectors.

https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#cross <https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#cross>

I had included matrix inverse operation from the eigen library in my first attempt at including matrix operation support in OpenSCAD, but that got lost thru the major Value rewrite/re-architecting that happened a couple of years ago.


> On Sep 19, 2015, at 10:38 AM, ufomorace <ant.stewart at yahoo.com> wrote:
> I love it when a geometry library has options like rotate towards, Vector3 to
> euler angles, Distance, lerp, and similar options. Is there any chance you
> could add these functions or an openscad file because they are not easy to
> code them to openscad, it's would be awesome to find a heavy geom functions
> library and just copy it into openscad engine:
> Vector3 modules
> Angle	 Returns the angle in degrees between from and to.
> ClampMagnitude 	Returns a copy of vector with its magnitude clamped to
> maxLength.
> Cross	Cross Product of two vectors.
> Distance	Returns the distance between a and b.
> Dot	Dot Product of two vectors.
> Lerp	Linearly interpolates between two vectors.
> LerpUnclamped	Linearly interpolates between two vectors.
> Max	Returns a vector that is made from the largest components of two
> vectors.
> Min	Returns a vector that is made from the smallest components of two
> vectors.
> MoveTowards	Moves a point current in a straight line towards a target point.
> Normalize
> OrthoNormalize	Makes vectors normalized and orthogonal to each other.
> Project	Projects a vector onto another vector.
> ProjectOnPlane	Projects a vector onto a plane defined by a normal orthogonal
> to the plane.
> Reflect	Reflects a vector off the plane defined by a normal.
> RotateTowards	Rotates a vector current towards target.
> Scale	Multiplies two vectors component-wise.
> Slerp	Spherically interpolates between two vectors.
> SlerpUnclamped	Spherically interpolates between two vectors.
> SmoothDamp	Gradually changes a vector towards a desired goal over time.
> --
> View this message in context: http://forum.openscad.org/Can-you-suggest-some-libraries-of-standard-geometry-conversions-tp13900.html
> Sent from the OpenSCAD mailing list archive at Nabble.com.
> _______________________________________________
> OpenSCAD mailing list
> Discuss at lists.openscad.org
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscad.org/pipermail/discuss_lists.openscad.org/attachments/20150919/c6e67f15/attachment-0002.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openscad.org/pipermail/discuss_lists.openscad.org/attachments/20150919/c6e67f15/attachment.asc>

More information about the Discuss mailing list