Wyznaczanie linii przecięcia 2 stożków:
y
z
d
Rys. 1 Konstruowanie linii przecięcia stożków metodą cięcia płaszczyznami
Obliczanie współrzędnych punktów przecięcia:
Równanie stożka o osi pionowej:
2 2 2 at
z
y
x
(1) Równania parametryczne stożka o osi poziomej:
sin
cos
b bt
y
d
z
t
y
x
(2) gdzie:
tg
tg
b at
t
Wstawiając (2) do (1) otrzymamy równanie linii przecięcia:
0
2 2
d
by
ay
, (3) gdzie:
sin
sin
/
)
cos
1
(
2 2 2 2 2d
t
b
t
t
t
a
b b a b
Zmieniając parametr (kąt) w granicach -90o …+90o i rozwiązując kwadratowe równanie (3), otrzymamy linię przecięcia pokazaną na rys. 3.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 X Y 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 Z
Rzut linii przecięcia stożków na płaszczyznę YZ Rzut linii przecięcia stożków na płaszczyznę XZ
Rys. 3 Obliczona linia przecięcia 2 stożków
Program w Pascalu wykonujący te obliczenia z krokiem co 5o oraz tg= 0.5, tg= 0.5, d=1.0 wygląda następująco:
program PrzeciecieStozkow;
var ta,tb,deg5,d:single;
i:integer;
procedure Oblicz(psi:double);
var a,b,s,c,x,y,z,w:single; begin s:=sin(psi); c:=cos(psi); a:=(sqr(tb*c)+1)/sqr(ta)-sqr(tb*s); b:=2*d*tb*s; w:=sqr(b)+4*a*sqr(d);
if w<0 then writeln('brak przecięcia') else
begin y:=0.5*(b+sqrt(w))/a; x:=y*tb*c; z:=d+y*tb*s; writeln(x:13,' ',y:13,' ',z:13) end; end; begin {dane:} ta:=0.5; tb:=0.5; d:=1.0; {obliczenia:} deg5:=pi/36;
for i:=-18 to 18 do Oblicz(deg5*i)
end.