\( \newcommand{\vecIII}[3]{\left[\begin{array}{c} #1\\\\#2\\\\#3 \end{array}\right]} \newcommand{\vecIV}[4]{\left[\begin{array}{c} #1\\\\#2\\\\#3\\\\#4 \end{array}\right]} \newcommand{\Choose}[2]{ { { #1 }\choose{ #2 } } } \newcommand{\vecII}[2]{\left[\begin{array}{c} #1\\\\#2 \end{array}\right]} \newcommand{\vecIII}[3]{\left[\begin{array}{c} #1\\\\#2\\\\#3 \end{array}\right]} \newcommand{\vecIV}[4]{\left[\begin{array}{c} #1\\\\#2\\\\#3\\\\#4 \end{array}\right]} \newcommand{\matIIxII}[4]{\left[ \begin{array}{cc} #1 & #2 \\\\ #3 & #4 \end{array}\right]} \newcommand{\matIIIxIII}[9]{\left[ \begin{array}{ccc} #1 & #2 & #3 \\\\ #4 & #5 & #6 \\\\ #7 & #8 & #9 \end{array}\right]} \)

Quiz

  1. why is the RGB system 3 dimensional

    There is dimension for each color. You can independently adjust the amount of Red, Green and Blue, just like you can independently move in the X, Y or Z directions.

  2. what does the t represent in P(t) = A + vt

    The parameter (t) represents how far along the line you are. t=0 is the beginning. t=1 is the end. t=0.5 is the middle, etc.

  3. What are other ways we can practice math problems using the parametric equations talked about in the readings, to get more practice with teh math and the concepts?

    Good question. The first homework will have some math problems, but I don't have any extra practice problems prepared. You could try creating a few yourself: just take an example and try some different coordinate values.

    This might also be worth asking ChatGPT for.

  4. Can we go through more examples of constructing parametric lines?

    Sure. We'll do one in class today.

  5. Can we please go over problems 1 and 2?

    Sure. Q1 is this:

    As you probably know, the earth is not a perfect sphere. It's slightly "flattened". Assuming the Y axis coincides with the axis that the earth turns on, how can we use Threejs to create such a sphere? Assume the mesh is in the variable "earth"

    A. earth.scale(a,b,c);  // where b < a && b < c
    B. earth.scale(a,b,c);  // where a < b < c
    C. earth.scale(a,b,c);  // where b < a || b < c
    D. earth.scale(a,b,c);  // where a == b && a == b            
    
  6. The answer is A, because we need to flatten the earth along the Y axis, which is b.

    Q2 is this:

    Suppose there is a cone mesh in the variable `hat`, with no other changes. The camera is in its usual location, pointing down the negative Z axis. What do I see if the code does

    hat.rotateY(angle);

    with options

        A. the hat tips towards the user
        B. the hat tips away from the user
        C. the hat tips towards the right
        D. nothing
    

    The answer is D because the code is rotating around its axis, so we wouldn't see any change.

  • Could you go over some examples of using the scale, rotate, and translate functions?

    Yes. We'll do some in class today and next time. But, yes, let's do some right now.

  • Can you explain why rotations are considered counter-clockwise when the Z axis is pointing towards us?

    Mathematicians define both "left-handed" and "right-handed" coordinate systems, with the latter being the one we are familiar with in high-school trig. With a few small exceptions, Computer Graphics also uses a right-handed coordinate system. It's just a convention, like driving on the right.

    But for sure, let's talk about this.

  • Also, could you clarify the order in which transformations like translation, rotation, and scaling are applied in Three.js? Is this order similar to how we handled transformations back in high-school math?

    You had a better high school than I did! I never talked about order of transformations.

    The order is up to you, and we will see lots of examples in the next two weeks. It can make sense to rotate and then translate, etc.

    But typically for the instance transformation, we translate, then rotate, then scale.

  • What's the reason for translating the body up in the example scene?

    Because I wanted the bottom of the "body" to be at Y=0. If it had legs, I'd want it up even higher.