• Q: For task 3, for finding the Normal and Binormal lines, there are an infinite number of Normals and Binormals we could draw, do you have any preference as to the orientation of these? A: The main normal has to be both orthogonal to the tangent direction (c1-c0) and lie in the osculating plane (spanned by c0,c1,c2). The bi-normal is orthogonal to both the tangent and the main normal in a right handed coordinate system. Therefore the only case where the choice is not unique is when c0,c1,c2 lie on a straight line.
    once more (since the questions comes repeatedly) When you have applied deCasteljau's algorithm, you pick the three coefficients of the right polynomial piece.
    c0 is the location of the point, c1-c0 points in the tangent direction, (c1-c0)x(c2-c0) points in the bi-normal direction, and the cross product of tangent and bi-normal gives the main normal.
    When the curve is in the plane (flat):
    one direction (the bi-normal) should be just a point (since it points towards the viewer)
    and the other is the cross product (hence at a right angle to the tangent)

  • Q: Since the curve is now 3D, and is not planar, there are an infinite number of normal vectors to the tangent vector n
  • Q: Since the curve is now 3D, and is not planar, there are an infinite number of normal vectors to the tangent vector now, right? So, should we just choose one arbitrary normal vector?
    A: There is indeed an infinity but that you can pick out a nice coordinate (Frenet) frame in that plane.
  • Q: Is the tangent for the given point is the normalized vector produced by subtracting the next point in the sequence by the current point? So if I am calculating the tangent for point1 it is = normalize(point2 - point1) + point1?
    A: the tangent direction is any multiple of the non-zero derivative. The derivative at parameter "t" is computed by deCasteljau's algorithm at "t" and then taking the difference of, say the right subpiece BB-coefficients r1-r0 (or equally well r1-l3 or l4-l3, where l4=r0).

  • Q: advantages and disadvantages of chaining together multiple BB curves of a smaller polynomial degree as compared to having a single BB curve with a higher polynomial degree?
    A: https://en.wikipedia.org/wiki/Gibbs_phenomenon
  • Q: Is the tangent for the given point is the normalized vector produced by subtracting the next point in the sequence by the current point? So if I am calculating the tangent for point1 it is = normalize(point2 - point1) + point1?
    A: the tangent direction is any multiple of the non-zero derivative. The derivative at parameter "t" is computed by deCasteljau's algorithm at "t" and then taking the difference of, say the right subpiece BB-coefficients r1-r0 (or equally well r1-l3 or l4-l3, where l4=r0).
  • Q: when calculating the normal is it just equal to ... And lastly, is the bu or all just the cross product of the two aforementioned vectors?
    A: you need to compute the Frenet frame (see two questions up). I know you are on the edge of the seat, hoping to learn more faster...

  • Q: (1) every time we press 5, it advances one point or (2) when we press 5, the point will start looping around the loop in an animation?
    A: choose choice 2

  • Q: I have gotten two things semi-working so far. First, I set the Z equal to the Mouses Xpos when picked...
    A: you should switch between 2 modes. The first is motion in the xy plane, the second ignores the y-values and associates mouse movement with the z-direction.
    This is the poor man's translation in 3D. We will improve on this in part 2 of the class.

  • Q: mouse moving horizontally will soon leave the picked vertex, as the moving in z-direction won't be reflected in the xy-plane. My question is how do picking work if the mouse goes off the vertex?
    A: just like for x and y the movement in the z-direction is finite

  • Q: In task 2, do we need to create a new object and allocate buffers for the side view, or can we somehow use two camera matrices to display both views?
    A: Using two objects is easier.
  • Q: tangent vector(which I get as the first derivative, coming from the Casteljaus algorithm as p[1][0] - p[0][0]) and rotating it 90 degrees by n = . This seems to be okay, but does not look exactly like the image you give.
    A: Do look at the posted video 18c and compute the normal correctly from the first 3 BB-coefficients (after deCasteljau) at the evaluation point.
  • Q: normalPoint = (points[0][1] - points[0][2]) - (points[0][0] - points[0][1] );
    A: no. The formula computes a second derivative. What you need is the binormal to the plane spanned by points[0][0], points[0][1], points[0][2]