|
|
Geradenscharen
> |
restart; with (geom3d): with (plots):
Warning, the name polar has been redefined
Warning, the name changecoords has been redefined |
Definition zweier Geradenscharen ga und hb:
> |
g:= a -> line (gline, [point (A,[0,0,4]), [a, 4-a, -4]]):
h:= b -> line (hline, [point (B,[4,6,-3]), [-4, b, 2]]): |
Gesucht: die Schnittpunkte von ga und
hb mit jeweils passend gewählten Werten für a und b:
> |
gl1:= s*a = 4 - t*4:
gl2:= s*(4-a) = 6 + t*b:
gl3:= 4 - s*4 = -3 + t*2:
gl1; gl2; gl3; |



Eliminieren der Parameter s und t:
> |
eliminate ({gl1, gl2, gl3}, {s,t}); |

Auflösen der Gleichung −16 − 8a + 7ba
− 16b = 0 nach b:
> |
b:= rhs (isolate (op (1, op (2, %)) = 0, b)); |

Der Schnittpunkt von ga und hb in Abhängigkeit von a:
> |
intersection (S, g(a), h(b)):
S[a]:= coordinates (S); |
![S[a]](images-grdnsch/grdnsch13.gif)
> |
S[1]:= eval (S[a], a = 1);
S[2]:= eval (S[a], a = 2); |
![S[1] := [10/7, 30/7, -12/7]](images-grdnsch/grdnsch14.gif)
![S[2] := [10/3, 10/3, -8/3]](images-grdnsch/grdnsch15.gif)
Die Schnittgerade sline der oben definierten Geradenscharen:
> |
point (S1, S[1]):
point (S2, S[2]):
line (sline, [S1, S2]); |

Zeichnen von ga und hb für bestimmte Werte von
a bzw. b; Zeichnen der Schnittgeraden:
> |
i:= 0:
for a from -5 by 0.5 to 5 do
i:= i + 1:
gdraw[i]:= draw (g(a), color = red):
od:
imax:= i:
j:= 0:
for b from -10 by 0.5 to 5 do
j:= j + 1:
hdraw[j]:= draw (h(b), color = blue):
od:
jmax:= j:
ldraw:= draw (sline, color = black,
thickness = 2):
display ([seq (gdraw[i], i = 1..imax),
seq (hdraw[j], j = 1..jmax),
ldraw],
view = [-8..12, -8..12, -8..8],
axes = boxed,
labels = ["x1", "x2", "x3"],
orientation = [53, 77]); |
|