In class you said for each section of the Bezier curve, there are 4 restriction: 2 end points and 2 tangents. However, in programs like illustrator, you can not only control the orientation of the control bar at each point, you can also control how "long" that control bar is, the "longer" the bar is, the more the curve is "aligned" to the tangent. wouldn't that create two more restriction, making it 6 in total then?
That seems to just correspond to moving the white points further along the blue+dashed line segments. The "alignment" is just a consequence of the position of the white control point.
When creating the curve, moving one point of the endpoint/tangent pair influences the previous and next sections of the curve (modulo boundary cases) but no other sections. So this is also a nice way to visualize that each section of the curve is determined by 4 parameters: the endpoint/tangent pairs at each of its endpoints.
@fengyupeng Good question, and there is some question about what "tangent" means. To be clear, when I say tangent in this context I simply mean the first derivative of the curve with respect to time. So the full set of constraints on a quadratic Bézier curve c(t) is something like
c(0) = f0
c(1) = f1
c'(0) = u0
c'(1) = u1
where f0,f1 are the endpoints, u0,u1 are vectors (not necessarily unit length!), and c' is the derivative with respect to time. In other words, these last two constraints say not only what direction the tangent should point, but also how big the derivative is, i.e., "how fast we're moving along the curve" at t=0 and t=1.
This way, the curve is uniquely determined: we have four vector degrees of freedom (the four control points) and four vector constraints (the two endpoints, and the two velocity vectors).