我目前通过将某些 4 阶贝塞尔曲线相加来生成贝塞尔曲线。我正在使用GL_LINES. 我需要在每个贝塞尔点绘制切线、法线和副法线。
据我所知,要在任何给定的 t 值处找到切线,方程是
P'(t) = 4 * (1-t)^3 *(P1 - P0) + 12 *(1-t)^2*t*(P2-P1) + 12 * (1-t) * t^2 * (P3-P2) + 4 * t^3 * (P4-P3)
Run Code Online (Sandbox Code Playgroud)
我目前正在以下列方式使用上述等式。
temp = 1-t;
tangentPoints[val].XYZW[j] = (4 * pow(temp, 3)*(V[k + 1].XYZW[j] - V[k].XYZW[j])) + (12 * pow(temp, 2)*t*(V[k + 2].XYZW[j] - V[k + 1].XYZW[j])) + (12 * (temp)*pow(t, 2)*(V[k + 3].XYZW[j] - V[k + 2].XYZW[j])) + (4 * pow(t, 3)*(V[k + 4].XYZW[j] - V[k + …Run Code Online (Sandbox Code Playgroud)