David,

I have not tested your code.
I have gotten bogged down in the detail, but am very impressed with the
idea of creating such a lib and lab. It is especially clever that you are
using your new method of creating verbs with built in Descriptions. If you
have not already done so, I would mention that tie in, in the wiki page and
the lab.

One thing I did not like was your definition of scaling because the
description example using 1 3 does not generalize well. I think the right
hand argument of 1 3 1 1 would be better, in its generalizability.

scaling=: (I4 * 4 {.!.1 ]) Description'scaling 1 3 yields a scaling matrix
intended to scale the second coordinate by 3'

I noticed you mention "the right handed rotation matrix about a vector".
Without my duplicating your calculations, I am not clear what is
right-handed. For example the the transformation matrix meant to be on the
right side in the multiplication with the vectors? is the axis system
right-handed? Could you also clear up whether your system applies to both
left- and right-handed axes systems, or not?

If you have not seen Eric's rotating cube in JHS, you might find it
insightful. I was reminded of the JHS demo while searching rosettacode.org
where I found that J has not contributed to the task at
http://rosettacode.org/wiki/Draw_a_rotating_cube. I'm not able to
investigate jdemo12.ijs could be easily adapted to the rosettacode task.

j64-806/addons/ide/jhs/demo/jdemo12.ijs
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to