Re: Newbie Joint question
Jon Kleiser <[email protected]> Thu, 25 Nov 2004 13:54:10 +0100
| Newsgroups | gmane.comp.breve |
|---|---|
| Message-ID | <p05200f01bdcb819105b9@[129.240.92.62]> |
>On Wed, 24 Nov 2004, Jon Kleiser wrote: > >> Thanks. I've got the "set-relative-rotation" method working, but it >> may be somewhat limited as to what it can do with the orientation of >> the connected parts. I suspect that "set-relative-rotation-matrix" >> could be a more powerful solution, but I can't find much info on how >> to figure out the suitable values to use in such a matrix. I've made >> a web page that describes what I try to do, including a snapshot, if >> you care to take a look: > >The set-relative-rotation should be capable of every rotation that >the matrix method is capable of, though depending on what you're >after, one method might be easier than the other. > >The way you describe the problem, you're trying to get a structure >with the image you're showing using only one shape, but with different >transformations. > >I'll give an example by looking looking at the yellow and purple shapes, >and finding the transformation matrix to build it using only one shape. >If you're using just the purple shape, you'll see that the shape will >need to be joined at the points (-1, 5, -1) and (5, -1, -1). They >can't both be joined at the same two points (-1, 5, -1), because then the >z "point" of the shape would be facing the wrong direction. > >So if you connect these points together, you'll see that the object is >not joined at the desired angle -- it's off by 90 degrees. You'll also >note that you want the Z face to stay pointed in the same direction, >while the X and Y axis will both need to be rotated. In other words, >you want a 90 degree rotation about the Z axis, using this line before >joining the links: > > joint set-relative-rotation around-axis (0, 0, -1) by -3.14/2.0. > >If you want to use the rotation matrix, look at the initial uncorrected >position, and think about the desired rotation: you'll want the X axis >to point down (0, -1, 0), the Y axis to point to the right (1, 0, 0) >and the Z axis to remain as it is (0, 0, 1). These three vectors >correspond to the columns of the 3x3 rotation matrix, so the result is: > > joint set-relative-rotation-matrix to > [ (0, -1, 0), > (1, 0, 0), > (0, 0, 1) ]. > >Both of these methods should produce the same results. You should be >able to follow the same logic for adding new links to your chain. > >- jon klein Thanks a lot! That was very helpful. I have now updated my page at <http://folk.uio.no/jkleiser/breve/pyramids.html>. Does breve/steve have a constant pi that I can use instead of 3.14? One possibility is of course to use 2*asin(1). /Jon -- _______________________________________________ breve mailing list [email protected] http://lists.spiderland.org/mailman/listinfo/breve