Quiz
- Can you explain how THREE.Group works? Can we change inner functions with out changing outer functions, and vice versa?
It's just a container, but a container that can have an instance transform applied to it. In other words, a group of things that we can translate, rotate and scale as a group.
I'm not sure what you mean by "functions" here, so I have to guess.
Yes, you can "reach into" a group and modify the inner stuff, as well as modifying the outer stuff. We saw that with the bell: we can rotate the inner mesh or the outer group. In fact, we'll see some cool examples of that next time (I'm thinking of the leg and the snake).
- Could you explain the difference between accumulating and replacing settings?
Sure. For each mesh/group, there are little internal variables, say
position.x
. It works just like any variable you've learned in your years of coding, so you can set it or increment/decrement it.Consider the following:
The same thing for rotations in all three directions.
However, because of the non-commutativity that we will talk about today, I strongly recommend using the rotation methods. They will do the more intuitive thing.
- Can you explain the rotation matrices thought process?
I'll try, though I'm not quite sure what you are asking.
Do you mean how the rotation matrix math works? That involves some trigonometry, but I'm happy to do that.
Do you mean how the rotation matrix is applied? It's all part of the chain of transformations.
- i understand (ish) w's role in the mathematics of this all, but what about in terms of coding? do we use it at all?
We don't! I should say that in the reading. Internally, 3D points are converted to 4D homogenous coordinates during the rendering process, but I have never had to specify a "W" component in my Threejs code.
This goes in the category of "how stuff works" rather than "how to code", along with rotation matrices.
- im confused, what is the point w representing and why are we adding that point?
I'm not sure what it represents. There are mathematicians that will say that translation in 3-space is the same as a rotation in 4-space, and that's how the homogenous coordinates work. But I don't find that helpful.
I just think of it as a trick, so that we can use matrix multiplication instead of addition. That's the real reason that it's used in CG: the uniform representation.
- What are common mistakes we should watch out for when building composite objects with groups and transformations?
Great question! I don't really know. I make mistakes all the time, particularly with tricky things like getting the rotations right. But that's just normal human error. I'm not sure I've discerned a pattern.
But let's keep track of those this semester.
- So GPUs are really effective at storing vectors and doing matrix calculations--is that why they're so useful for machine learning?
Yes! They are essentially super-computers. They were originally designed to do graphics only, but with the advent of the programmable shader, about 20 years ago, their computational power became more generally available, including for computations like ML.
We'll talk more programming the shader later in the course, though we won't do ML on the GPU.
- No questions this week, but I enjoyed the reading, thank you!
I'm so glad to hear that! I did a lot of revisions for this semester, and I'm glad you enjoyed it.