在母线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-14 广告
先说特殊情况绕z轴旋转的
设空间直线方程为x/a=y/b=z/c=t
x=at,y=bt,z=ct;截面肯定为圆,故
x^2+y^2=r^2即
(at)^2+(bt)^2=(a^2+b^2)t^2
=(a^2+b^2)z^2/c^2即
有(x^2+y^2)c^2/(a^2+b^2)=z^2
这是绕z轴旋转的,绕y,x轴旋转则相应的变一下,类似。
至于一般情况绕空间异面直线旋转
则r为点(at,bt,ct)到异面直线的距离,算出是一个关于t,a,b,c的式子带入r中,再换成x,y,z即可
(1):两直线相交
那曲面就是两个锥面了,在求锥面方程就是.
(2):两直线不相交既两直线平行.
那曲面就是圆柱面了,在求柱面方程.
(3):两直线重合了那就是求直线方程了.
至于怎么求就要看你自己了,不要什么都到百度上来问.