Transformation Matrix Tool
-
Really sweet little tool martin, will help a lot with understanding those fiendish matrices, i think.
-
@remus said:
... will help a lot with understanding those fiendish matrices, i think.
Read the appendix. It's about two printed pages. You might change "fiendish" to "Oh! I get it." They're very clever, but well within range of anyone who passed high school math.
-
Martin, Thanks. How about some graphic examples along with the math, you know for us visually oriented Architects:-), I had a professor that taught structural engineering calculus with graphics. No one did poorly in his class.
-
@honoluludesktop said:
How about some graphic examples along with the math
Didn't have time, Honolulu. Was out shoveling snow.
Seriously, add graphics to the Appendix? I thought it was simple enough already. Wonder what others think.
Others?
-
Perhaps I'm mathematically impaired, but we can't argue with my professors success. His was the only class where everyone did well.
In any case, I only meant to offer a constructive suggestion from someone at ground "0":-)
-
Hey Martin, this looks great. Each time I dig into Matrices I end up re-writing some code to format the matrix so I can read it in the ruby console. This will save much time I'm sure!
[Opinion]
The tutorial seems like a great start. I have to say that one of my big confusions is that it starts by talking about a 1x3 and a 3x3 matrix. While the information is true, it is confusing because SU uses the 4x4 matrix. I think it would be nice if it just jumped right into the 4x4 matrix. OR at least showed a series of 4x4 matrix examples at the end. Maybe it is good to start on the smaller 3x3 matrix to get the main ideas across. But please oh please show math examples with full 4x4 matrices. I still honestly do not understand them (well, I'm close to understanding them, but I was hoping your tutorial would show some more examples to help me see if I'm on the right track).[/Opion]And lastly, you mention chapter 15 (which I think is not done yet?), but I wish you would turn the mention of the chapeter in a link. And also at the end you state:
The translation vector's origin point is unspecified. SketchUp's translation is always relative to the [0,0,0] origin.
I thinkt hat is wrong inside of Components definition where it uses the def's origin as 0,0,0 - I think. Maybe I should test that again first though.
Chris
-
Chris, that is what I have discovered when trying to manipulate the geometry inside a component. I could not figure out how a sub-component's axis (when unlike the model's) affect its transformation (if at all). Gave up and exploded the component to get at its parts. If you figure this out, please let me know:-) Btw, I haven't really had time to follow up on your last effort to help me. Perhaps this weekend.
-
@chris fullmer said:
I thinkt hat is wrong inside of Components definition where it uses the def's origin as 0,0,0 - I think. Maybe I should test that again first though.
Think that might depend. I think that when you open a group/component, SU transforms the co-ordinates to relate to SU origin instead of relative to definition origin.
-
@chris fullmer said:
I have to say that one of my big confusions is that [the tutorial appendix] starts by talking about a 1x3 and a 3x3 matrix. While the information is true, it is confusing because SU uses the 4x4 matrix.
What I knew, and should have said, is that there really isn't a 4x4 matrix. If this were first done in an OO world we'd have a transformation object that combined a 3x3 scale/rotate array and a 3d translation vector.
The new version includes this bit of table art in the intro:
Thanks for helping make this clear.
-
I have seen Wt to be other than
1.0
-
@chris fullmer said:
you state:
The translation vector's origin point is unspecified. SketchUp's translation is always relative to the [0,0,0] origin.
I think that is wrong inside of Components definition where it uses the def's origin as 0,0,0
I dunno. Try these two:
I'm not positive about SU, but I am positive that the Transformation Matrix hack was worth the effort. At least we can talk about these things.
-
-
I don't remember exactly where I saw it. But I think Chris came across it recently while working on his Random Rotate and Scale plugin. I belive he'll be able to fill in the details here.
-
This is the whole story ?
-
@martinrinehart said:
I'd love to have an example!
Take a component and use a uniform scaling method on it.
t = Geom::Transformation.scaling 0.5 my_comp.transform! t
They have applied uniform scaling by adjusting the 16th element. HOWEVER this caues problems with faceme components. Try it on one, and then orbit the model. The comonent gets all jumpy. This is a new bug in 7.1. The scaling method has worked the same way in previous version of SU, it is just how SU displays faceme's whose 16th element is not 1 has broke in 7.1. A bug has been filed and I'm begging them to get a fix out for 7.1 and not put it off until 8.0.
I'll take a closer look at the new explanataion Martin. I think it looks hopeful that I might get this learned yet!
Chris
-
According to Wikipedia, affine transformations never change
Wt
so it remains a 1. Perspective transformations do change it.I mention this in hopes that someone who understands will explain it to the rest of us.
-
Martin, My apologies;-) at third glance, it is illustrated, now that I know what I am looking at:-) Thanks.
-
@honoluludesktop said:
Martin, My apologies;-)
Apologies not needed. Besides, you're the only guy here who has the correct version number on Win XP.
Advertisement