Hallo ich hab ein Skript erstellt, der verschiedene spezielle Punkte im Dreieck berechnen kann.
Die Punkte im einzelnen:
Inkreisschnittpunkt eines Dreiecks
Schwerpunkt eines Dreiecks
Umkreismittelpunkt eines Dreiecks
Orthozentrum (Höhenschnittpunkt) eines Dreiecks
Der Gergonnepunkt eines Dreiecks
Hier der Code (hoffe, dass dieser auch gut funktioniert):
Viele Grüße
Hakki
Die Punkte im einzelnen:
Inkreisschnittpunkt eines Dreiecks
Schwerpunkt eines Dreiecks
Umkreismittelpunkt eines Dreiecks
Orthozentrum (Höhenschnittpunkt) eines Dreiecks
Der Gergonnepunkt eines Dreiecks
Hier der Code (hoffe, dass dieser auch gut funktioniert):
Code:
##################################################################
A="N 50 45.212 E 6 28.327"
B="N 50 44.529 E 6 31.282"
C="N 50 45.697 E 6 30.219"
##################################################################
cls();deg()
Laengea=dist(B,C)
Laengeb=dist(A,C)
Laengec=dist(A,B)
"Laenge a ist "Laengea"m"
"Laenge b ist "Laengeb"m"
"Laenge c ist "Laengec"m"
""
WinkelvonLinieab=bearing(A,B)
WinkelvonLinieac=bearing(A,C)
WinkelvonLinieba=bearing(B,A)
WinkelvonLiniebc=bearing(B,C)
WinkelvonLiniecb=bearing(C,B)
WinkelvonLinieca=bearing(C,A)
"Der Winkel von A nach B ist "WinkelvonLinieab"°"
"Der Winkel von A nach C ist "WinkelvonLinieac"°"
"Der Winkel von B nach A ist "WinkelvonLinieba"°"
"Der Winkel von B nach C ist "WinkelvonLiniebc"°"
"Der Winkel von C nach B ist "WinkelvonLiniecb"°"
"Der Winkel von C nach A ist "WinkelvonLinieca"°"
""
alpha=(WinkelvonLinieab-WinkelvonLinieac)
beta=(WinkelvonLiniebc-WinkelvonLinieba)
gamma=(WinkelvonLinieca-WinkelvonLiniecb)
IF alpha<0 THEN alpha=alpha*(-1) ENDIF
IF alpha>180 THEN alpha=360-alpha ENDIF
IF beta<0 THEN beta=beta*(-1) ENDIF
IF beta>180 THEN beta=360-beta ENDIF
IF gamma<0 THEN gamma=gamma*(-1) ENDIF
IF gamma>180 THEN gamma=360-gamma ENDIF
"Der Winkel von Alpha ist "alpha"°"
"Der Winkel von Beta ist "beta"°"
"Der Winkel von Gamma ist "gamma"°"
""
$PositionaHalb=proj(B,bear(B,C),dist(B,C)/2)
LaengeaHalb=dist(B,$PositionaHalb)
"Linie a/2 ist "LaengeaHalb"m und der Mittelpunkt der Linie liegt bei "$PositionaHalb
$PositionbHalb=proj(A,bear(A,C),dist(A,C)/2)
LaengebHalb=dist(A,$PositionbHalb)
"Linie b/2 ist "LaengebHalb"m und der Mittelpunkt der Linie liegt bei "$PositionbHalb
$PositioncHalb=proj(A,bear(A,B),dist(A,B)/2)
LaengecHalb=dist(A,$PositioncHalb)
"Linie c/2 ist "LaengecHalb"m und der Mittelpunkt der Linie liegt bei "$PositioncHalb
""
U=Laengea+Laengeb+Laengec
"Der Umfang des Dreiecks ist "U"m"
s=U/2
"Der halbe Umfang s betraegt "s"m"
""
sminusa=(s-Laengea)
sminusb=(s-Laengeb)
sminusc=(s-Laengec)
FlaecheA=sqrt(s*sminusa*sminusb*sminusc)/1000
"Der Flaecheninhalt des Dreiecks betraegt "FlaecheA"qm"
RadiusInkreis=2*FlaecheA/U*1000
"Der Radius des Inkreises betraegt "RadiusInkreis"m"
RadiusUmkreismittelpunkt=Laengea/1000*Laengeb/1000*Laengec/1000/(4*FlaecheA)*1000000
"Der Radius des Umkreismittelpunktes betraegt "RadiusUmkreismittelpunkt"m"
""
alphaHalb=(WinkelvonLinieab+WinkelvonLinieac)/2
betaHalb=(WinkelvonLinieba+WinkelvonLiniebc)/2
gammaHalb=(WinkelvonLinieca+WinkelvonLiniecb)/2
"Alpha/2 betraegt "alphaHalb"°"
"Beta/2 betraegt "betaHalb"°"
"Gamma/2 betraegt "gammaHalb"°"
""
InkreisSchnittpunkt=cb(A,alphaHalb,B,betaHalb)
"--------------------------------------------------------------------------------------------"
"Der Inkreisschnittpunkt liegt bei "InkreisSchnittpunkt
$Schwerpunkt=cb($PositioncHalb,bear($PositioncHalb,C),$PositionaHalb,bear($PositionaHalb,A))
"Der Schwerpunkt liegt bei "$Schwerpunkt
Umkreismittelpunkt=cb($PositioncHalb,mod(WinkelvonLinieab+90,360),$PositionaHalb,mod(WinkelvonLiniebc+90,360))
"Der Umkreismittelpunkt liegt bei "Umkreismittelpunkt
$LotLinieab=cb(A,bear(A,B),C,mod(bear(A,B)+90,360))
$LotLiniebc=cb(B,bear(B,C),A,mod(bear(B,C)+90,360))
$Orthozentrum=cb($LotLinieab,mod(bear(A,B)+90,360),$LotLiniebc,mod(bear(B,C)+90,360))
"Der Orthozentrum liegt bei "$Orthozentrum
AnachCsminusa=project(A,WinkelvonLinieac,s-Laengea)
BnachAsminusb=project(B,WinkelvonLinieba,s-Laengeb)
WinkelAnachCsminusa=bear(AnachCsminusa,B)
WinkelBnachAsminusb=bear(BnachAsminusb,C)
GergonnePunkt=cb(AnachCsminusa,WinkelAnachCsminusa,BnachAsminusb,WinkelBnachAsminusb)
"Der GergonnePunkt liegt bei "GergonnePunkt
Viele Grüße
Hakki