📄 intersection.m
字号:
t_2=[2*i, 2*i, 2*i];
%write('nema riesenie - komplexne cisla')
end
end
else %(y2~=y3)
p1=s1/(y2-y3);
p2=-(z2-z3)/(y2-y3);
p3=(s2/x2)-(y2*p1/x2);
p4=-(y2*p2/x2)-(z2/x2);
k1=p2^2+p4^2+1;
k2=2*p1*p2+2*p3*p4;
k3=p1^2+p3^2-r1^2;
if ((k2^2-4*k1*k3)>=nula)
z_1=(-k2+sqrt(k2^2-4*k1*k3))/(2*k1);
z_2=(-k2-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
end
else %((x2==x3)&&(x2==0)&&(x3==0))
if ((abs(y2-y3)<nula) && (abs(y2)<nula) && (abs(y3)<nula))
if (abs(z2-z3)<nula)
if (abs(r2^2-r3^2)<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')
else t_1=[2*i, 2*i, 2*i];
t_2=[2*i, 2*i, 2*i];
%write('nema riesenie - druhy a treti prijimac su rovnake, ale vzdial. ciela ine')
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(y2-y3)<nula) && (abs(y2)>=nula) && (abs(y3)>=nula))
if (abs(z2-z3)<nula)
if (abs(r2^2-r3^2)<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')
else
t_1=[2*i, 2*i, 2*i];
t_2=[2*i, 2*i, 2*i];
%write('nema riesenie - druhy a treti prijimac su rovnake, ale vzdial. ciela ine')
end
else z=s1/(z2-z3);
y=(s2/y2)-((z2*z)/y2);
if ((r1^2-y^2-z^2)>=nula)
x_1=sqrt(r1^2-y^2-z^2);
x_2=-sqrt(r1^2-y^2-z^2);
t_1=[x_1,y,z];
t_2=[x_2,y,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-y^2-z^2)<nula)
t_1=[0,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
end
elseif (abs(y2-y3)>=nula)
if ((abs(z2-z3)<nula) && (abs(z2)>=nula) && (abs(z3)>=nula))
y=s1/(y2-y3);
z=(s2/z2)-((y2*y)/z2);
if ((r1^2-y^2-z^2)>=nula)
x_1=sqrt(r1^2-y^2-z^2);
x_2=-sqrt(r1^2-y^2-z^2);
t_1=[x_1,y,z];
t_2=[x_2,y,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-y^2-z^2)<nula)
t_1=[0,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
elseif ((abs(z2-z3)<nula) && (abs(z2)<nula) && (abs(z3)<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')
else %(z2~=z3)
if (abs(y2*z3-y3*z2)>=nula)
z=((y2*s3)-(y3*s2))/(y2*z3-y3*z2);
if (abs(y2)>=nula)
y=(s2/y2)-((z2*z)/y2);
if ((r1^2-y^2-z^2)>=nula)
x_1=sqrt(r1^2-y^2-z^2);
x_2=-sqrt(r1^2-y^2-z^2);
t_1=[x_1,y,z];
t_2=[x_2,y,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-y^2-z^2)<nula)
t_1=[0,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 y=(s3/y3)-((z3*z)/y3);
if ((r1^2-y^2-z^2)>=nula)
x_1=sqrt(r1^2-y^2-z^2);
x_2=-sqrt(r1^2-y^2-z^2);
t_1=[x_1,y,z];
t_2=[x_2,y,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-y^2-z^2)<nula)
t_1=[0,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
end
else %(y2*z3==y3*z2)
if (abs((y2*s3)-(y3*s2))>=nula) || (abs((z2*s3)-(z3*s2))>=nula)
t_1=[2*i, 2*i, 2*i];
t_2=[2*i, 2*i, 2*i];
%write ('nema riesenie 0~=1')
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
end
end
end
end
%% Date: 03.04.2007
%% Author: Maria Riskova
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -