Good question.

I had a look at javax.vecmath, which is actually pretty good for a lot of 
purposes. Eventually I decided against using it (believe me, it would have 
been nice to re-use it so this was not a decision I took lightly!)

Here were the main issues:
- No support for large vectors / matrices. Maybe not critical for some game 
apps, but essential for simulations and machine learning. I feel a good 
vector library should be able to handle both.
- It's a bit too specialised around concrete classes. There aren't any 
abstractions that you can use for different vector types. Not fun in 
clojure when you want to work with abstractions (in vectorz I use an 
abstract base class AVector, for example, which makes it possible to 
implement many algorithms in a much more generic and flexible way)
- Performance is good in vecmath, but not perfect: there are some other 
optimisations worth making and I wanted the flexibility to do that. For 
example, it is often worth creating specialised matrix classes for scaling, 
identity etc.

On balance, I felt it was worth building a better library that fitted the 
broader design goals. 

On Tuesday, December 4, 2012 2:23:38 AM UTC+8, Michael Gardner wrote:

> On Dec 2, 2012, at 06:24 , Mikera <mike.r.an...@gmail.com <javascript:>> 
> wrote: 
>
> > Contributions / comments / suggestions very welcome. API is not yet set 
> in stone, so I'm very open to ideas on how to make it better. 
>
> Since the vast majority of physical applications will use 2D or 3D 
> vectors, did you consider building around javax.vecmath? I have to imagine 
> that would be faster than any generic vector implementation. I believe Zach 
> Tellman's cantor (no longer maintained) used a similar approach.

 
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to