📄 intersection.m
字号:
z=s3/z3-(s2*x3)/(x2*z3);
x=s2/x2;
if ((r1^2-x^2-z^2)>=nula)
y_1=sqrt(r1^2-x^2-z^2);
y_2=-sqrt(r1^2-x^2-z^2);
t_1=[x,y_1,z];
t_2=[x,y_2,z];
% r_1=[sqrt((t_1(1,1)-x1)^2+(t_1(2,1)-y1)^2+(t_1(3,1)-z1)^2);
% sqrt((t_1(1,1)-x2)^2+(t_1(2,1)-y2)^2+(t_1(3,1)-z2)^2);
% sqrt((t_1(1,1)-x3)^2+(t_1(2,1)-y3)^2+(t_1(3,1)-z3)^2)]
% r_2=[sqrt((t_2(1,1)-x1)^2+(t_2(2,1)-y1)^2+(t_2(3,1)-z1)^2);
% sqrt((t_2(1,1)-x2)^2+(t_2(2,1)-y2)^2+(t_2(3,1)-z2)^2);
% sqrt((t_2(1,1)-x3)^2+(t_2(2,1)-y3)^2+(t_2(3,1)-z3)^2)]
elseif (abs(r1^2-x^2-z^2)<nula)
t_1=[x,0,z];
t_2=[i,i,i];
% r_1=[sqrt((t_1(1,1)-x1)^2+(t_1(2,1)-y1)^2+(t_1(3,1)-z1)^2);
% sqrt((t_1(1,1)-x2)^2+(t_1(2,1)-y2)^2+(t_1(3,1)-z2)^2);
% sqrt((t_1(1,1)-x3)^2+(t_1(2,1)-y3)^2+(t_1(3,1)-z3)^2)]
else t_1=[2*i, 2*i, 2*i];
t_2=[2*i, 2*i, 2*i];
%write('nema riesenie - komplexne cisla')
end
else t_1=[3*i, 3*i, 3*i];
t_2=[3*i, 3*i, 3*i];
%write('nekonecne vela rieseni - na urcenie ciela potrebujem dalsi prijimac')
end
elseif ((abs(z2)>=nula) && (abs(z3)<nula))
z=s2/z2-(s3*x2)/(x3*z2);
x=s3/x3;
if ((r1^2-x^2-z^2)>=nula)
y_1=sqrt(r1^2-x^2-z^2);
y_2=-sqrt(r1^2-x^2-z^2);
t_1=[x,y_1,z];
t_2=[x,y_2,z];
% r_1=[sqrt((t_1(1,1)-x1)^2+(t_1(2,1)-y1)^2+(t_1(3,1)-z1)^2);
% sqrt((t_1(1,1)-x2)^2+(t_1(2,1)-y2)^2+(t_1(3,1)-z2)^2);
% sqrt((t_1(1,1)-x3)^2+(t_1(2,1)-y3)^2+(t_1(3,1)-z3)^2)]
% r_2=[sqrt((t_2(1,1)-x1)^2+(t_2(2,1)-y1)^2+(t_2(3,1)-z1)^2);
% sqrt((t_2(1,1)-x2)^2+(t_2(2,1)-y2)^2+(t_2(3,1)-z2)^2);
% sqrt((t_2(1,1)-x3)^2+(t_2(2,1)-y3)^2+(t_2(3,1)-z3)^2)]
elseif (abs(r1^2-x^2-z^2)<nula)
t_1=[x,0,z];
t_2=[i,i,i];
% r_1=[sqrt((t_1(1,1)-x1)^2+(t_1(2,1)-y1)^2+(t_1(3,1)-z1)^2);
% sqrt((t_1(1,1)-x2)^2+(t_1(2,1)-y2)^2+(t_1(3,1)-z2)^2);
% sqrt((t_1(1,1)-x3)^2+(t_1(2,1)-y3)^2+(t_1(3,1)-z3)^2)]
else t_1=[2*i, 2*i, 2*i];
t_2=[2*i, 2*i, 2*i];
%write('nema riesenie - komplexne cisla')
end
else %(z2~=z3~=0)
t_1=[3*i, 3*i, 3*i];
t_2=[3*i, 3*i, 3*i];
%write('nekonecne vela rieseni - na urcenie ciela potrebujem dalsi prijimac')
end
else %(y3~=0) (y2==0)
p1=s2/x2;
p2=-z2/x2;
if (((2*p1*p2)^2-4*(1+p2^2)*(p1^2-r1^2))>=nula)
z_1=((-2*p1*p2)+ sqrt((2*p1*p2)^2-4*(1+p2^2)*(p1^2-r1^2)))/(2*(1+p2^2));
z_2=((-2*p1*p2)- sqrt((2*p1*p2)^2-4*(1+p2^2)*(p1^2-r1^2)))/(2*(1+p2^2));
x_1=p1+p2*z_1;
x_2=p1+p2*z_2;
t_1=[x_1,0,z_1];
t_2=[x_2,0,z_2];
% r_1=[sqrt((t_1(1,1)-x1)^2+(t_1(2,1)-y1)^2+(t_1(3,1)-z1)^2);
% sqrt((t_1(1,1)-x2)^2+(t_1(2,1)-y2)^2+(t_1(3,1)-z2)^2);
% sqrt((t_1(1,1)-x3)^2+(t_1(2,1)-y3)^2+(t_1(3,1)-z3)^2)]
% r_2=[sqrt((t_2(1,1)-x1)^2+(t_2(2,1)-y1)^2+(t_2(3,1)-z1)^2);
% sqrt((t_2(1,1)-x2)^2+(t_2(2,1)-y2)^2+(t_2(3,1)-z2)^2);
% sqrt((t_2(1,1)-x3)^2+(t_2(2,1)-y3)^2+(t_2(3,1)-z3)^2)]
elseif (abs((2*p1*p2)^2-4*(1+p2^2)*(p1^2-r1^2))<nula)
z=(-2*p1*p2)/(2*(1+p2^2));
x=p1+p2*z;
t_1=[x,0,z];
t_2=[i,i,i];
% r_1=[sqrt((t_1(1,1)-x1)^2+(t_1(2,1)-y1)^2+(t_1(3,1)-z1)^2);
% sqrt((t_1(1,1)-x2)^2+(t_1(2,1)-y2)^2+(t_1(3,1)-z2)^2);
% sqrt((t_1(1,1)-x3)^2+(t_1(2,1)-y3)^2+(t_1(3,1)-z3)^2)]
else t_1=[2*i, 2*i, 2*i];
t_2=[2*i, 2*i, 2*i];
%write('nema riesenie - komplexne cisla')
end
end
elseif ((abs(y2)>=nula) && (abs(y3)<nula))
p1=s3/x3;
p2=-z3/x3;
if (((2*p1*p2)^2-4*(1+p2^2)*(p1^2-r1^2))>=nula)
z_1=((-2*p1*p2)+ sqrt((2*p1*p2)^2-4*(1+p2^2)*(p1^2-r1^2)))/(2*(1+p2^2));
z_2=((-2*p1*p2)- sqrt((2*p1*p2)^2-4*(1+p2^2)*(p1^2-r1^2)))/(2*(1+p2^2));
x_1=p1+p2*z_1;
x_2=p1+p2*z_2;
t_1=[x_1,0,z_1];
t_2=[x_2,0,z_2];
% r_1=[sqrt((t_1(1,1)-x1)^2+(t_1(2,1)-y1)^2+(t_1(3,1)-z1)^2);
% sqrt((t_1(1,1)-x2)^2+(t_1(2,1)-y2)^2+(t_1(3,1)-z2)^2);
% sqrt((t_1(1,1)-x3)^2+(t_1(2,1)-y3)^2+(t_1(3,1)-z3)^2)]
% r_2=[sqrt((t_2(1,1)-x1)^2+(t_2(2,1)-y1)^2+(t_2(3,1)-z1)^2);
% sqrt((t_2(1,1)-x2)^2+(t_2(2,1)-y2)^2+(t_2(3,1)-z2)^2);
% sqrt((t_2(1,1)-x3)^2+(t_2(2,1)-y3)^2+(t_2(3,1)-z3)^2)]
elseif (abs((2*p1*p2)^2-4*(1+p2^2)*(p1^2-r1^2))<nula)
z=(-2*p1*p2)/(2*(1+p2^2));
x=p1+p2*z;
t_1=[x,0,z];
t_2=[i,i,i];
% r_1=[sqrt((t_1(1,1)-x1)^2+(t_1(2,1)-y1)^2+(t_1(3,1)-z1)^2);
% sqrt((t_1(1,1)-x2)^2+(t_1(2,1)-y2)^2+(t_1(3,1)-z2)^2);
% sqrt((t_1(1,1)-x3)^2+(t_1(2,1)-y3)^2+(t_1(3,1)-z3)^2)]
else t_1=[2*i, 2*i, 2*i];
t_2=[2*i, 2*i, 2*i];
%write('nema riesenie - komplexne cisla')
end
elseif ((abs(y2)>=nula) && (abs(y3)>=nula) && (abs(y2-y3)<nula))
p1=(s2/y2)-(x2*s1)/(y2*(x2-x3));
p2=(x2*(z2-z3))/(y2*(x2-x3))-(z2/y2);
p3=s1/(x2-x3);
p4=-(z2-z3)/(x2-x3);
k1=p4^2+p2^2+1;
k2=(2*p3*p4)+(2*p1*p2);
k3=p3^2+p1^2-r1^2;
if ((k2^2-4*k1*k3)>=nula)
z_1=(-k1+sqrt(k2^2-4*k1*k3))/(2*k1)
z_2=(-k1-sqrt(k2^2-4*k1*k3))/(2*k1)
x_1=p3+p4*z_1;
x_2=p3+p4*z_2;
y_1=p1+p2*z_1;
y_2=p1+p2*z_2;
t_1=[x_1,y_1,z_1];
t_2=[x_2,y_2,z_2];
% r_1=[sqrt((t_1(1,1)-x1)^2+(t_1(2,1)-y1)^2+(t_1(3,1)-z1)^2);
% sqrt((t_1(1,1)-x2)^2+(t_1(2,1)-y2)^2+(t_1(3,1)-z2)^2);
% sqrt((t_1(1,1)-x3)^2+(t_1(2,1)-y3)^2+(t_1(3,1)-z3)^2)]
% r_2=[sqrt((t_2(1,1)-x1)^2+(t_2(2,1)-y1)^2+(t_2(3,1)-z1)^2);
% sqrt((t_2(1,1)-x2)^2+(t_2(2,1)-y2)^2+(t_2(3,1)-z2)^2);
% sqrt((t_2(1,1)-x3)^2+(t_2(2,1)-y3)^2+(t_2(3,1)-z3)^2)]
elseif (abs(k2^2-4*k1*k3)<nula)
z=-k1/(2*k1)
x=p3+p4*z;
y=p1+p2*z;
t_1=[x,y,z];
t_2=[i,i,i];
% r_1=[sqrt((t_1(1,1)-x1)^2+(t_1(2,1)-y1)^2+(t_1(3,1)-z1)^2);
% sqrt((t_1(1,1)-x2)^2+(t_1(2,1)-y2)^2+(t_1(3,1)-z2)^2);
% sqrt((t_1(1,1)-x3)^2+(t_1(2,1)-y3)^2+(t_1(3,1)-z3)^2)]
else t_1=[2*i, 2*i, 2*i];
t_2=[2*i, 2*i, 2*i];
%write('nema riesenie - komplexne cisla')
end
else %((abs(y2)>=nula) && (abs(y3)>=nula) && (abs(y2-y3)>=nula))
t_1=[3*i, 3*i, 3*i];
t_2=[3*i, 3*i, 3*i];
%write('nekonecne vela rieseni - na urcenie ciela potrebujem dalsi prijimac')
end
end
end
end
end
end
end
elseif ((abs(x2-x3)<nula)&&(abs(x2)>=nula)&&(abs(x3)>=nula))
if (abs(y2-y3)<nula)
if (abs(z2-z3)<nula)
if (abs(r2^2-r3^2)>=nula)
t_1=[2*i, 2*i, 2*i];
t_2=[2*i, 2*i, 2*i];
%write('nema riesenie')
else t_1=[3*i, 3*i, 3*i];
t_2=[3*i, 3*i, 3*i];
%write('nekonecne vela rieseni - na urcenie ciela potrebujem dalsi prijimac')
end
else %(z2~=z3)
p1=-y2/x2;
p2=(s2/x2)-((z2*s1)/(x2*(z2-z3)));
p3=s1/(z2-z3);
if (((2*p1*p2)^2-4*(1+p1^2)*(p2^2+p3^2-r1^2))>=nula)
y_1=((-2*p1*p2)+sqrt((2*p1*p2)^2-4*(1+p1^2)*(p2^2+p3^2-r1^2)))/(2*(1+p1^2));
y_2=((-2*p1*p2)-sqrt((2*p1*p2)^2-4*(1+p1^2)*(p2^2+p3^2-r1^2)))/(2*(1+p1^2));
z=p3;
x_1=p1*y_1+p2;
x_2=p1*y_2+p2;
t_1=[x_1,y_1,z];
t_2=[x_2,y_2,z];
% r_1=[sqrt((t_1(1,1)-x1)^2+(t_1(2,1)-y1)^2+(t_1(3,1)-z1)^2);
% sqrt((t_1(1,1)-x2)^2+(t_1(2,1)-y2)^2+(t_1(3,1)-z2)^2);
% sqrt((t_1(1,1)-x3)^2+(t_1(2,1)-y3)^2+(t_1(3,1)-z3)^2)]
% r_2=[sqrt((t_2(1,1)-x1)^2+(t_2(2,1)-y1)^2+(t_2(3,1)-z1)^2);
% sqrt((t_2(1,1)-x2)^2+(t_2(2,1)-y2)^2+(t_2(3,1)-z2)^2);
% sqrt((t_2(1,1)-x3)^2+(t_2(2,1)-y3)^2+(t_2(3,1)-z3)^2)]
elseif (abs((2*p1*p2)^2-4*(1+p1^2)*(p2^2+p3^2-r1^2))<nula)
y=(-2*p1*p2)/(2*(1+p1^2));
x=p1*y+p2;
z=p3;
t_1=[x,y,z];
t_2=[i,i,i];
% r_1=[sqrt((t_1(1,1)-x1)^2+(t_1(2,1)-y1)^2+(t_1(3,1)-z1)^2);
% sqrt((t_1(1,1)-x2)^2+(t_1(2,1)-y2)^2+(t_1(3,1)-z2)^2);
% sqrt((t_1(1,1)-x3)^2+(t_1(2,1)-y3)^2+(t_1(3,1)-z3)^2)]
else t_1=[2*i, 2*i, 2*i];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -