|
Autor |
Dreiecksberechnung mit 3 Winkelhalbierenden |
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 277
 | Themenstart: 2021-09-18
|
Hallo,
in einem mathematischen Dreieck sind 3 Winkelhalbierende
wa = 10 wb = 7 u. wc = 8 gegeben.
Die Berechnung der restlichen ca. 19 Dreieck-Elemente ist für mich jetzt
nicht durchführbar.
Ich kann die Programmiersprache Python anwenden, aber z. Zeit mit dem Tool PIP (für mich ein Hilfsprogramm) die ersten Werte nicht bestimmen.
Ich benötige nur diese ersten Zeilen der Programmierung und folglich die Ergebnisse( evtl. a,b,c u. Winkel)
Für alle Hinweise bin ich sehr dankbar.
Gruß ebikerni
|
Profil
|
Diophant
Senior  Dabei seit: 18.01.2019 Mitteilungen: 10896
Wohnort: Rosenfeld, BW
 | Beitrag No.1, eingetragen 2021-09-18
|
Hallo ebikerni,
mit Zirkel und Lineal konstruierbar ist ein Dreieck mit diesen Angaben jedenfalls nicht.
Hier ein Beweis des Sachverhalts.
Siehe auch die Nr. 138 in dieser Liste.
Gruß, Diophant
|
Profil
|
Caban
Senior  Dabei seit: 06.09.2018 Mitteilungen: 3104
Wohnort: Brennpunkt einer Parabel
 | Beitrag No.2, eingetragen 2021-09-18
|
Hallo ekiberni
Die Frage hast du doch hier schon gestellt:
https://matheplanet.com/matheplanet/nuke/html/viewtopic.php?rd2&topic=249938&start=0#p1819173
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 277
 | Beitrag No.3, vom Themenstarter, eingetragen 2021-09-18
|
Hallo Diophant,
danke für die Mitteilung.
Ich konnte auch feststellen, dass die graphische Darstellung (mit ZuL) nicht
möglich ist. In der Wernicks Liste wird 138. Ta Tb Tc U unlösbar dargestellt. Rechentechnisch ist es aber möglich.
Mit unter www.arndt-brunner kann ich in der Dreiecksberechnung die 3 Winkelhalbierende eingeben und die restlichen Ergebnisse erhalten. Wenn das
möglich ist, dann muss es also auch mit Python und PIP realisierbar sein.
Wie werden aber die ersten Werte errechnet?
Gruß ebikerni
|
Profil
|
Diophant
Senior  Dabei seit: 18.01.2019 Mitteilungen: 10896
Wohnort: Rosenfeld, BW
 | Beitrag No.4, eingetragen 2021-09-18
|
Hallo ebikerni,
ja auf den Webseiten von Arndt Brünner kannst du dich darauf verlassen, dass das auch stimmt. Wie man in dem Fenster 'Rechenweg' schön sehen kann, führt gleich die Berechnung der Seitenlängen zu Beginn allerdings auf ein kubisches Gleichungssystem.
Diesen Sachverhalt hat dir werner ja in dem weiter oben verlinkten Thread zum gleichen Thema schon einmal erläutert: was man mit Zirkel und Lineal nicht konstruieren kann, das kann man entweder nicht berechnen oder es treten dabei Gleichungen mit mindestens dritter Ordnung auf.
Wie man das mit Python angeht, dazu kann ich leider nichts beisteuern.
Mir ging es heute morgen nur darum, dass die Frage zunächst einmal nicht unbeantwortet untergeht.
PS: dein Link oben funktioniert nicht, daher hier nochmal eine funktionierende Version: Arndt Brünner, Dreiecksrechner.
Gruß, Diophant
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 277
 | Beitrag No.5, vom Themenstarter, eingetragen 2021-09-18
|
Hallo,
kann das Programm mit Python und PIP vollständig erstellt und
die Werte a, b, c, alpha, beta und gamma berechnet werden?
Ich kann es jetzt fehlerfrei rechnen, aber keine Ausgabe der Werte, da ich
noch keine Literatur über die Schreibweise in dem Hilfsprogramm PIP habe.
begin
.
.
.
wa=10
wb=7
wc=8
from scipy.optimize import root
import numpy as np
def F(X,Angle_Bisects):
wa,wb,wc = Angle_Bisects
a,b,c,alpha,beta,gamma = X
return 2*np.cos(alpha/2)/wa-1/b-1/c,\
2*np.cos(beta/2)/wb-1/c-1/a,\
2*np.cos(gamma/2)/wc-1/a-1/b,\
a**2+b**2-c**2-2*a*b*np.cos(gamma),\
b**2+c**2-a**2-2*b*c*np.cos(alpha),\
c**2+a**2-b**2-2*c*a*np.cos(beta)
def solve(wa,wb,wc):
X0 = [1,1,1,np.pi/3,np.pi/3,np.pi/3]
return root(F,X0,args=[wa,wb,wc]).x
.
.
.
end
Für Hinweise bin ich sehr dankbar.
Gruß ebikerni
|
Profil
|
MontyPythagoras
Senior  Dabei seit: 13.05.2014 Mitteilungen: 3414
Wohnort: Werne
 | Beitrag No.6, eingetragen 2021-09-19
|
Hallo ebikerni,
das ist sicherlich die komplizierteste Aufgabe, und dementsprechend findest Du auch keine analytische Lösung. Da Du ja in Python programmierst, habe ich Dir einen Code gebastelt, der mithilfe des mehrdimensionalen Newton-Verfahrens die Dreieckseiten berechnet:
\sourceon Python
wa = 10
wb = 7
wc = 8
s = wa + wb + wc
a = wb + wc
b = wa + wc
c = wa + wb
d = s
while d > 1e-16 * s:
f = (wa ** 2 - b * c) * (b + c) ** 2 + a ** 2 * b * c
fa = 2 * a * b * c
fb = -c * (b + c) ** 2 + 2 * (wa ** 2 - b * c) * (b + c) + a ** 2 * c
fc = -b * (b + c) ** 2 + 2 * (wa ** 2 - b * c) * (b + c) + a ** 2 * b
g = (wb ** 2 - a * c) * (a + c) ** 2 + a * b ** 2 * c
ga = -c * (a + c) ** 2 + 2 * (wb ** 2 - a * c) * (a + c) + b ** 2 * c
gb = fa
gc = -a * (a + c) ** 2 + 2 * (wb ** 2 - a * c) * (a + c) + a * b ** 2
h = (wc ** 2 - a * b) * (a + b) ** 2 + a * b * c ** 2
ha = -b * (a + b) ** 2 + 2 * (wc ** 2 - a * b) * (a + b) + b * c ** 2
hb = -a * (a + b) ** 2 + 2 * (wc ** 2 - a * b) * (a + b) + a * c ** 2
hc = fa
d = fa * (gb * hc - gc * hb) - fb * (ga * hc - gc * ha) + fc * (ga * hb - gb * ha)
da = -(f * (gb * hc - gc * hb) - fb * (g * hc - gc * h) + fc * (g * hb - gb * h)) / d
db = -(fa * (g * hc - gc * h) - f * (ga * hc - gc * ha) + fc * (ga * h - g * ha)) / d
dc = -(fa * (gb * h - g * hb) - fb * (ga * h - g * ha) + f * (ga * hb - gb * ha)) / d
a = a + da
b = b + db
c = c + dc
d = (da ** 2 + db ** 2 + dc ** 2) ** 0.5
print("a = ", a)
print("b = ", b)
print("c = ", c)
\sourceoff
Ciao,
Thomas
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4494
 | Beitrag No.7, eingetragen 2021-09-20
|
was bedeuten die doppelsternchen ** in python?
|
Profil
|
zippy
Senior  Dabei seit: 24.10.2018 Mitteilungen: 4965
 | Beitrag No.8, eingetragen 2021-09-20
|
\quoteon(2021-09-20 06:36 - haribo in Beitrag No. 7)
was bedeuten die doppelsternchen ** in python?
\quoteoff
Wie schon in Fortran: a**b = $a^b$.
(Während a^b das bitweise XOR bezeichnet.)
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4494
 | Beitrag No.9, eingetragen 2021-09-20
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 277
 | Beitrag No.10, vom Themenstarter, eingetragen 2021-09-20
|
Hallo MontyPythagoras,
ich habe Deine Formelsammlung in mein Programm eingebaut und konnte die
Werte für a b c berechnen. Diese Werte sind mit Arndt Brünner,Dreieckrechner erstellten Werten identisch( 13 - 15stellig).
Herzlichen Dank
ebikerni
|
Profil
|
ebikerni hat die Antworten auf ihre/seine Frage gesehen. |
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|