三维空间内一条直线绕另一条直线旋转一周得到的曲面方程怎么写?
在母线x-1=y/-3=z/3=t上任取一点B(t+1,-3t,3t)
在x/2=y=z/-2上任取一定点A(2,1,-2),求出以A为圆心AB为半径的球面方程β.
然后求出过改点并且与x/2=y=z/-2垂直的平面α.
然后联立平面α方程和球面方程β消去参数t就是最后所求得的答案.
ps:一般来说是得到单叶双曲面(不垂直也不相交)、也有可能是锥面(相交但不垂直),还有可能是平面挖去一个圆盘区域(垂直但是不相交)或者平面(垂直且相交的情况)。
扩展资料
对应的函数代码
void RotateArbitraryAxis(D3DXMATRIX* pOut, D3DXVECTOR3* axis, float theta)
{
D3DXVec3Normalize(axis, axis); float u = axis->x; float v = axis->y; float w = axis->z;
pOut->m[0][0] = cosf(theta) + (u * u) * (1 - cosf(theta));
pOut->m[0][1] = u * v * (1 - cosf(theta)) + w * sinf(theta);
pOut->m[0][2] = u * w * (1 - cosf(theta)) - v * sinf(theta);
pOut->m[0][3] = 0;
pOut->m[1][0] = u * v * (1 - cosf(theta)) - w * sinf(theta);
pOut->m[1][1] = cosf(theta) + v * v * (1 - cosf(theta));
pOut->m[1][2] = w * v * (1 - cosf(theta)) + u * sinf(theta);
pOut->m[1][3] = 0;
pOut->m[2][0] = u * w * (1 - cosf(theta)) + v * sinf(theta);
pOut->m[2][1] = v * w * (1 - cosf(theta)) - u * sinf(theta);
pOut->m[2][2] = cosf(theta) + w * w * (1 - cosf(theta));
pOut->m[2][3] = 0;
pOut->m[3][0] = 0;
pOut->m[3][1] = 0;
pOut->m[3][2] = 0;
pOut->m[3][3] = 1;
2024-11-19 广告
广告 您可能关注的内容 |