newLISP Fan Club

Forum => So, what can you actually DO with newLISP? => Topic started by: hds1 on April 25, 2016, 04:24:04 AM

Title: Quaternion strikes back
Post by: hds1 on April 25, 2016, 04:24:04 AM
Thanks Ted for the hint.

Done it. You can find the files here:

https://github.com/hds1



Regards

Heiko
Title: Re: Quaternion strikes back
Post by: TedWalther on April 25, 2016, 07:44:36 PM
Can you put this on github so it is easier to review your code changes?
Title: Re: Quaternion strikes back
Post by: hds1 on April 29, 2016, 04:01:18 AM
i would consider the package now a stable first release.

For the Dual Quaternion module the NLERP, DLB, DLBblending, ScLERP, get/setScrewParams et al. have been added.

There are some dependencies between these modules. For the DQ you will need the dualNum,vector and quaternion module as well.

If you are interested in these modules pls download from Github.



Thanks for your patience.

Have fun.
Title: Re: Quaternion strikes back
Post by: Lutz on April 30, 2016, 11:29:58 AM
Thanks for the contributions, Heiko!



The old files for vector.lsp and quadlib.lsp have been removed and a GitHub link is added on the modules page here: http://www.newlisp.org/modules/ where it says "Index: hds1/newlisp-modules". If you prefer a different description line, let me know.
Title: Re: Quaternion strikes back
Post by: hds1 on May 04, 2016, 12:01:48 PM
@Lutz, the naming is just fine by me.



For those in need for speed i've ported the code to C and put it on github so you can access it via FFI.



https://github.com/hds1/dual-quaternion-c



The functionality is quite the same as for the newlisp module.



Time needed for 1000000 Dual Quaternion ScLERPs: 2.498[sec]

Time needed for 1000000 Dual Quaternion NLERPs: 0.722[sec]

on a 2.4GHz M520 CPU.



The footprint of the libraries is very small with 25k for the DualQuaternion one being the biggest.

Code is not optimized.



Have fun.

Regards

Heiko