Kreis 1: Mittelpunkt
M1 = <0.35,0,0>, Radius r1= 0.22.
Kreis 2: Mittelpunkt auf der y-Achse, tangiert Kreis 1 von außen im Punkt S. |
Problem 1:
Kreis 2 hat den Radius r2 = 0.30 .
Wo auf der y-Achse (Höhe: y2) ist der Mittelpunkt von Kreis 2 ? (M2 = <0,?,0>)
Problem 2:
Kreis 2 has the center M2 = <0,0.40,0>.
Wie groß muß der Radius von Kreis 2 sein, wenn er den Kreis 1 in einem Punkt S berührt, der so nahe wie möglich ist?
Problem 3:
Wie lauten die Koordinaten von Punkt S ?
Problem 4:
Wie groß ist der Winkel bei M1 und bei M2 innerhalb des Dreiecks(0,M1,M2)?
|
Das Dreieck(O,M1,M2) ist rechtwinklig!
Daher verwenden wir den Satz des Pythagoras:
// Problem 1: //--------------------------
Wir kennen zwei Seiten des Dreiecks(O,M1,M2):
d(0,M1) = x1 und d(M1,M2) = r1+r2.
y2 = sqrt( (r1+r2)2 - x12)
M2 = <0,y2,0>.
// Problem 2: //--------------------------
Weil gilt
r1+r2 = d(M1,M2) = sqrt(x12 + y22),
erhalten wir
d(M1,M2) = sqrt( x12 - y22 )
und r2 = d(M1,M2) - r1.
// Problem 3: //--------------------------
Hier gibt es eine einfache Proportionalität (Strahlensätze!):
xS1/xM1 = r2/ (r1+r2) und
yS/yM2 = r1/ (r1+r2),
daher gilt: xS = xM1 · r2/ (r1+r2)
yS = yM2 · r1/ (r1+r2).
// Problem 4: //--------------------------
Mit der trigonometrischen Umkehrfunktion z.B. von tan(x):
Angle(M1) = atan ( y2/ x1),
Angle(M2) = 90 - Angle(M1).
|
|
Tangierende Kreise gerendert mit POV-Ray
Anmerkung: Um eine Kollision mit fest vordefinierten Bezeichnern und in POV-Ray reservierten Wörter zu vermeiden,
wird dringend empfohlen, als Bezeichnern für Variable und Objekte, welche vom Benutzer definiert werden,
nur Wörter zu verwenden, die mit einem Großbuchstaben beginnen.
D.h.: Man verwende "R1" anstatt "r1"
und man verwende "Y2" anstelle von "yM2".
#local R1= 0.22;
#local R2= 0.30;
#local M1 = <0.35,0,0>
#local Y2 = sqrt( pow(R1+R2, 2) - pow(M1.x, 2));
#local M2 = <0,Y2,0>; |
Problem 1 in POV-Ray
#local R1= 0.22;
#local M1 = <0.35,0,0>
#local M2 = <0.40,0,0>
#local R2 = sqrt( pow(M1.x,2)-pow(M2.y,2)) - R1;
|
Problem 2 in POV-Ray
#local XS = M1.x * R2/(R1+R2);
#local YS = M2.y * R1/(R1+R2);
#local S = <XS,YS,0>
#local Angle_M1 = degrees( atan( M2.y / M1.x) );
#local Angle_M2 = 90 - Angle_M1; |
Problem 3 + 4 in POV-Ray
|