|
Autor |
Dreiecksberechnung mit 3 Seiten-Mitte-Senkrechten |
|
haegar90
Wenig Aktiv  Dabei seit: 18.03.2019 Mitteilungen: 935
 | Beitrag No.40, eingetragen 2020-11-12
|
Hallo,
warum verstehe ich das nicht,
so wäre doch mit
$$(|\pm m_a|, |\pm m_b|, |\pm m_c|)$$
nur eine einzige Lösung für alle $\pm$ Permutationen möglich ?
Im Fall $(7, -2, 5)$ nur die einzige Lösung für $(7, 2, 5)$
Edit: Klar mit #41, war da vorher gedanklich ohne Kontext unterwegs.
|
Profil
|
Wario
Aktiv  Dabei seit: 01.05.2020 Mitteilungen: 1324
 | Beitrag No.41, eingetragen 2020-11-12
|
\quoteon(2020-11-12 10:46 - Caban in Beitrag No. 37)
Wenn der Themenstarter alle Werte positiv angegeben hätte, wie es eigentlich üblich ist, debb negative Längen gibt es eigentlich nicht, würde es noch eine andere Lösung geben:
a=13.2 cm
b=18.8 cm
c=16.4 cm
\alpha=43,3°
\beta=78°
\gamma=58.7°
\quoteoff
Das ist ein vernünftiger Einwand.
Allerdings muss dann in einer der beiden Lösungen für $\beta$ der Supplementwinkel verwendet werden (vgl. 2. Lösung).
Das ist mir gerade noch unklar, wie man das der Formel $
|\cos(\beta)| =\dfrac{m_b}{R}
$ absieht.
\showon 1. Lösung
$
\pgfmathsetmacro\Scale{0.333}
\begin{tikzpicture}[scale=\Scale,
font=\footnotesize,
>={Triangle[length=0pt 9,width=0pt 3]},
]
\pgfmathsetmacro\ma{5}
\pgfmathsetmacro\mb{2}
\pgfmathsetmacro\mc{7}
\def\Case{-}
\pgfmathsetmacro\R{9.6204}
\pgfmathsetmacro\RI{-1.8801}
\pgfmathsetmacro\RII{-7.7403}
%\def\Case{+}
%\pgfmathsetmacro\R{7.7403}
%\pgfmathsetmacro\RI{1.8801}
%\pgfmathsetmacro\RII{-9.6204}
\pgfmathsetmacro\alphaRes{acos(\ma/\R)}
\pgfmathsetmacro\betaRes{acos(\mb/\R)}
\pgfmathsetmacro\gammaRes{180-\alphaRes-\betaRes}
\pgfmathsetmacro\a{2*\R*sin(\alphaRes)}
\pgfmathsetmacro\b{2*\R*sin(\betaRes)}
\pgfmathsetmacro\c{2*\R*sin(\gammaRes)}
\coordinate[label=below:$A$] (A) at (0,0);
\coordinate[label=below:$B$] (B) at (\c,0);
\coordinate[label=$C$] (C) at (\alphaRes:\b);
\draw[local bounding box=dreieck] (A) -- (B) -- (C) --cycle;
% Umkreis
\draw[red] ($(A)!0.5!(B)$) coordinate[label=-90:$M_c$] (Mc) -- +(90:\mc) coordinate[label=-5:$U$](U) node[near start, right] {$m_c$};
\draw[densely dashed] (U) -- (A) node[midway, above] {$R$};;
\draw[local bounding box=umkreis] (U) circle[radius=\R];
\draw pic [angle radius=2mm, %angle eccentricity=1.2,
draw, "$\cdot$", red
] {angle =U--Mc--A};
% Restliche Mittelsenkrechte
\draw[red] ($(B)!0.5!(C)$) coordinate[label=0:$M_a$] (Ma) -- +(\alphaRes+\gammaRes+90:\ma) node[midway, above]{$m_a$};
\draw[densely dashed] (U) -- (B) node[near end, above] {$R$};;
\draw pic [angle radius=2mm, %angle eccentricity=1.2,
draw, "$\cdot$", red
] {angle =C--Ma--U};
\draw[red] ($(A)!0.5!(C)$) coordinate[label=180:$M_b$] (Mb) -- +(\alphaRes+90:-\mb) node[near start, right]{$m_b$};
\draw[densely dashed] (U) -- (C) node[midway, above] {$R$};
\draw pic [angle radius=2mm, %angle eccentricity=1.2,
draw, "$\cdot$", red
] {angle =A--Mb--U};
% Radiusvektor
%\draw[->](U) -- +(55:\R) node[midway, right]{$R$};
%% Punkte
\foreach \P in {U, Ma, Mb, Mc}
\draw[fill=black!1, draw=red] (\P) circle (3pt);
% Annotations
\node[anchor=north west, align=left,
fill=lightgray, text width=\Scale*2*9 cm-0mm
](Anno) at ([yshift=-\R cm-4mm]umkreis.west){
$\begin{array}{l @{\hspace{11mm}}l}
\multicolumn{2}{l}{
m_a=\ma \text{ cm},~ m_b=\mb \text{ cm},~ m_c=\mc \text{ cm}
} \\ \hline \\
\multicolumn{2}{l}{
R^3-(m_a^2+m_b^2+m_c^2)R \textcolor{red}{\Case} 2m_a m_b m_c=0
} \\
\Rightarrow \\
\multicolumn{2}{l}{
R \approx \RI,~ R \approx \RII,~ R \approx \R
} \\[1em]
\Rightarrow ~ R &=\R \text{ cm} \\ \hline \\
\alpha =\arccos\left( \dfrac{m_a}{R} \right) & =\alphaRes^\circ \\[1em]
\beta = \arccos\left( \dfrac{m_b}{R} \right) &= \betaRes^\circ \\[1em]
\gamma = 180^\circ-\alpha-\beta &=\gammaRes^\circ \\ \hline \\
a = 2R\sin(\alpha) &=\a \text{ cm} \\
b = 2R\sin(\beta) &=\b \text{ cm} \\
c = 2R\sin(\gamma) &=\c \text{ cm} \\
% \multicolumn{2}{l}{aaa}
\end{array}$
};
\end{tikzpicture}
$
\showoff
\showon 2. Lösung
$
\pgfmathsetmacro\Scale{0.533}
\begin{tikzpicture}[scale=\Scale,
font=\footnotesize,
>={Triangle[length=0pt 9,width=0pt 3]},
]
\pgfmathsetmacro\ma{5}
\pgfmathsetmacro\mb{2}
\pgfmathsetmacro\mc{7}
\def\Case{-}
\pgfmathsetmacro\R{9.6204}
\pgfmathsetmacro\RI{-1.8801}
\pgfmathsetmacro\RII{-7.7403}
\def\Case{+}
\pgfmathsetmacro\R{7.7403}
\pgfmathsetmacro\RI{1.8801}
\pgfmathsetmacro\RII{-9.6204}
\pgfmathsetmacro\alphaRes{acos(\ma/\R)}
\pgfmathsetmacro\betaRes{180-acos(\mb/\R)}
\pgfmathsetmacro\gammaRes{180-\alphaRes-\betaRes}
\pgfmathsetmacro\a{2*\R*sin(\alphaRes)}
\pgfmathsetmacro\b{2*\R*sin(\betaRes)}
\pgfmathsetmacro\c{2*\R*sin(\gammaRes)}
\coordinate[label=below:$A$] (A) at (0,0);
\coordinate[label=below:$B$] (B) at (\c,0);
\coordinate[label=$C$] (C) at (\alphaRes:\b);
\draw[local bounding box=dreieck] (A) -- (B) -- (C) --cycle;
% Umkreis
\draw[red] ($(A)!0.5!(B)$) coordinate[label=-90:$M_c$] (Mc) -- +(90:\mc) coordinate[label=$U$](U) node[near start, right] {$m_c$};
\draw[densely dashed] (U) -- (A) node[midway, above] {$R$};;
\draw[local bounding box=umkreis] (U) circle[radius=\R];
\draw pic [angle radius=2mm, %angle eccentricity=1.2,
draw, "$\cdot$", red
] {angle =U--Mc--A};
% Restliche Mittelsenkrechte
\draw[red] ($(B)!0.5!(C)$) coordinate[label=0:$M_a$] (Ma) -- +(\alphaRes+\gammaRes+90:\ma) node[near start, above]{$m_a$};
\draw[densely dashed] (U) -- (B) node[near end, above] {$R$};;
\draw pic [angle radius=2mm, %angle eccentricity=1.2,
draw, "$\cdot$", red
] {angle =C--Ma--U};
\draw[red] ($(A)!0.5!(C)$) coordinate[label=-15:$M_b$] (Mb) -- +(\alphaRes+90:\mb) node[near start, above, sloped, inner sep=1pt]{$m_b$};
\draw[densely dashed] (U) -- (C) node[midway, above] {$R$};
\draw pic [angle radius=2mm, %angle eccentricity=1.2,
draw, "$\cdot$", red
] {angle =U--Mb--A};
% Radiusvektor
%\draw[->](U) -- +(55:\R) node[midway, right]{$R$};
%% Punkte
\foreach \P in {U, Ma, Mb, Mc}
\draw[fill=black!1, draw=red] (\P) circle (3pt);
% Annotations
\node[anchor=north west, align=left,
fill=lightgray, text width=\Scale*2*10cm-0mm
](Anno) at ([yshift=-\R cm-4mm]umkreis.west){
$\begin{array}{l @{\hspace{11mm}}l}
\multicolumn{2}{l}{
m_a=\ma \text{ cm},~ m_b=\mb \text{ cm},~ m_c=\mc \text{ cm}
} \\ \hline \\
\multicolumn{2}{l}{
R^3-(m_a^2+m_b^2+m_c^2)R \textcolor{red}{\Case} 2m_a m_b m_c=0
} \\
\Rightarrow \\
\multicolumn{2}{l}{
R \approx \RI,~ R \approx \RII,~ R \approx \R
} \\[1em]
\Rightarrow ~ R &=\R \text{ cm} \\ \hline \\
\alpha =\arccos\left( \dfrac{m_a}{R} \right) & =\alphaRes^\circ \\[1em]
\beta = {\color{red} 180^\circ-}\arccos\left( \dfrac{m_b}{R} \right) &= \betaRes^\circ \\[1em]
\gamma = 180^\circ-\alpha-\beta &=\gammaRes^\circ \\ \hline \\
a = 2R\sin(\alpha) &=\a \text{ cm} \\
b = 2R\sin(\beta) &=\b \text{ cm} \\
c = 2R\sin(\gamma) &=\c \text{ cm} \\
% \multicolumn{2}{l}{aaa}
\end{array}$
};
\end{tikzpicture}
$
\showoff
Edit: Ach so, an sich ist es klar.
Aus z.B. $|\cos(\alpha)| =\dfrac{m_a}{R}$ folgt nicht einfach $
\alpha = \arccos\left( \dfrac{m_a}{R} \right)$.
Es folgt stattdessen
$\alpha = \arccos\left( \dfrac{m_a}{R} \right)$ oder $
\alpha = \arccos\left(-\dfrac{m_a}{R} \right)$
Letzteres ist auch gleichbedeutend mit $
\alpha = \arccos\left(-\dfrac{m_a}{R} \right)
= 180^\circ -\arccos\left(\dfrac{m_a}{R} \right)
$
Man muss aus den vier Lösungen $\alpha$ und $\beta$ jene auswählen, dass $\gamma=180^\circ-\alpha-\beta$ einen positiven Wert hat.
|
Profil
|
werner
Senior  Dabei seit: 23.10.2004 Mitteilungen: 2297
Wohnort: österreich
 | Beitrag No.42, eingetragen 2020-11-12
|
\quoteon(2020-11-11 22:48 - Caban in Beitrag No. 36)
Hallo
Wenn man Mittelsenkrechte von Seiten, die stumpfen Winkeln gegenüber liegen als negativ angibt, muss man keine Beträge nutzen, wenn man meine Formel benutzt. Davon bin ich weiterhin überzeugt. Wenn jedoch alle Mittlesenkrechte als positiv angibt, muss man vier Fälle prüfen.
Gruß Caban
\quoteoff
dem stimme ich voll und ganz zu (insbesondere wenn man meine einfache Formel nutzt)!
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 277
 | Beitrag No.43, vom Themenstarter, eingetragen 2020-11-14
|
Hallo haegar90,
ich kann Dir in Deinem Beitrag 33 dem Ergebnis Deiner Berechnung dem Wert des Dreieckumkreisradius r,ru,R = 7.740 345 775 222 11 zustimmen.
Ich habe nicht durch Erstellung eines Programms mit Python 3.6 sondern
durch schrittweise Annäherung das Ergebnis ru=7.740 345 775 222 mit einer Genauigkeit von 1.6*10^-12 erstellt.
Wir stimmen sehr gut überein.
Für mich aber sehr interessant wie mit W O L F R A M A L P H A
Deine Gleichung r^3 -78*r = -140 erstellt und berechnet wird.
Für eine freundschaftliche Mitteilung bin ich trotz Mitternacht sehr dankbar.
ebikerni
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 277
 | Beitrag No.44, vom Themenstarter, eingetragen 2020-11-14
|
Hallo heagar90,
in Deinem Beitrag 30 ist in dem Ansatz scipi.optimize as se
in/für auch vielleicht meinem Python 3.6 die Berechnung möglich.
Wie komme ich durch Installation zu diesem Beitrag ?
Gruß ebikerni
|
Profil
|
haegar90
Wenig Aktiv  Dabei seit: 18.03.2019 Mitteilungen: 935
 | Beitrag No.45, eingetragen 2020-11-14
|
Hallo,
welches Betriebssystem verwendest Du ?
Falls Windows dann könnte ich dir ggf. die erforderlichen Schritte nennen.
Hast Du schon mal "pip" verwendet ?
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 277
 | Beitrag No.46, vom Themenstarter, eingetragen 2020-11-14
|
Hallo heagar90,
ich besitze das Betriebssystem Windows 10 und wende die Programmier-
sprache Python 3.6.0 an.
Im Startmenue steht der Eintrag IDLE(Python 3.6 64-bit)
Besten Dank für wertvolle Hinweise für die Erstellung 19 Elemente des Dreiecks mit den 3 gegebenen Elementen ma=7 mb=-2 u. mc=5
Mit Python 3.6 werden alle Elemente nach dem Komma 15 stellig berechnet.
Gruß ebikerni
|
Profil
|
haegar90
Wenig Aktiv  Dabei seit: 18.03.2019 Mitteilungen: 935
 | Beitrag No.47, eingetragen 2020-11-15
|
Hallo,
Windows 10, rechte Maustaste auf Windows Start-Button.
Im Menü dann Windows PowerShell (Administrator) klicken.
Im Fenster PowerShell dann pip eingeben.
Es sollten dir nun alle pip Befehle angezeigt werden.
Wenn das so ist, einfach
pip install scipy
eingeben.
Oder so ein Command-Fenster aufrufen:
pip
\showon
\sourceon Python
# Positive Werte verwenden!
from Finder import *
ma = 7
mb = 2
mc = 5
for k in range(-1, 2, 2):
rst = find(k, ma, mb, mc)
for i in range(0, 3):
print(rst[i] / pi * 180)
print('R = ', rst[3], '\n')
# 25.263801855433236
# 75.02566226149378
# 79.71053588307299
# R = 7.740345775222111
# 43.31281627318596
# 78.00119806473879
# 58.68598566207525
# R = 9.620415096422864
\sourceoff
\sourceon Python
# Finder.py
import scipy.optimize as se
from math import *
def wr(x, given):
k, ma, mb, mc = given
alpha, beta, gamma, r = x
return ma - r * cos(alpha), mb - r * cos(beta), alpha + beta + gamma - pi, \
r ** 3 - r * (ma ** 2 + mb ** 2 + mc ** 2) - (k * 2 * ma * mb * mc)
def find(k, ma, mb, mc):
xs = [pi/3, pi/3, pi/3, ma]
return se.root(wr, xs, args=[k, ma, mb, mc], method='krylov', options={'nit': 100}).x
\sourceoff
\showoff
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 277
 | Beitrag No.48, vom Themenstarter, eingetragen 2020-11-18
|
Hallo haegar90,
ich konnte mit Deinem berechneten Radius des Dreieckumkreises R=9.6204.. alle Winkel (15 stellig) mit meinem erstelltem Programm berechnen und bestätigen.
Ich bin aber noch nicht in der Lage das zusätzliche Modul scipy.optimize
anzuwenden.
Es ist nicht realisierbar:
......
alle pip Befehle
pip install scipy
In Deinem Programm für mich sehr wertvolle Hinweise :
import scipy.optimize
from math import
also muß scipy in math vorhanden sein.
In meinem Fachbuch " Einstieg in Python " ist scipy im Index nicht auffindbar.
Wer hat eigentlich scipy erstellt, wie kann ich das installieren
und in das Modul math kopieren.
wenn z.Bsp. in einem Dreick die wa wb wc oder die ma mb mc gegeben
sind, dann kann ich noch nicht die Programme in Python 3.6.0 erstellen.
Sicherlich habe ich schon alle möglichen gegebenen 3 Elemente eines Dreiecks die restlichen 19 Elemente berechnen können.
Für die Hinweise um scipy anzuwenden, wäre ich sehr dankbar.
Gruß ebikerni
|
Profil
|
DerEinfaeltige
Senior  Dabei seit: 11.02.2015 Mitteilungen: 3291
 | Beitrag No.49, eingetragen 2020-11-18
|
Eine Googlesuche sollte die entsprechende Homepage inklusive Hinweisen zu Installation und Anwendung ergeben.
Mit der Standardbibliothek math haben numpy/scipy nichts zu tun.
Entsprechend wird da auch nichts "in ein Modul kopiert", sondern die Bibliothek wird bspw. via pip zusätzlich installiert.
In der Windows-Kommandozeile cmd wäre ein möglicher Befehl:
python -m pip install scipy
Das obige Script nutzt math für die trigonometrischen Funktionen und die Konstante pi.
Da selbige natürlich auch in numpy/scipy enthalten sind, kann man auf das Mischen der Bibliotheken auch verzichten.
\sourceon Python
# Importiere die numerische Optiomierungsfunktion
import scipy.optimize as se
# Importiere trigonometrische Funktionen
from numpy import sin,cos,pi
# Alternativ: from math import sin,cos,pi
def wr(x, halfs):
ma, mb, mc = halfs
alpha, beta, gamma, r = x
return ma - r * cos(alpha), mb - r * cos(beta), alpha + beta + gamma - pi, \
r ** 3 - r * (ma ** 2 + mb ** 2 + mc ** 2) - 2 * ma * mb * mc
def find(ma, mb, mc):
xs = [pi/3, pi/3, pi/3, 5]
return se.root(wr, xs, args=[ma, mb, mc]).x
erg = find(7, -2, 5)
for i in range(0, 3):
print(erg[i] / pi * 180)
print('R = ', erg[3])
\sourceoff
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 277
 | Beitrag No.50, vom Themenstarter, eingetragen 2020-11-18
|
Hallo DerEinfaeltige,
im Beitrag 49 habe ich den dargestellten Programmteil übernommen.
Wie immer kam bei mir die Fehlerangabe:
ModuleNotFoundErrori: No module named 'scipy'
Vorher habe ich in der Windows-Kommandozeile cmd
'python -m pip install scipy' eigegeben.
Das Ergebnis wurde im LWC dargestellt.
War eventl. meine cmd-Zeile fehlerhaft ?
Nochmals Grüße von ebikerni
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 277
 | Beitrag No.51, vom Themenstarter, eingetragen 2021-01-04
|
Allen Teilnehmern ein gesundes neues Jahr !
Hallo,
ich beschäftige mich immer noch als Programmiereinsteiger in Python und
erstelle mathematische Programme zur Berechnung von Dreiecken. In der
Regel sind immer 3 Dreieckgrößen gegeben und
19 Dreieckgrößen werden berechnet.
In dem jetzigen Beispiel sind ma = 7, mb = -2 und mc = 5 und damit können
die 19 Dreieckgrößen mit 15 Stellen nach den Komma berechnet werden.
scipy kann ich nicht mit python -m pip install scipy installieren.
Mit Sicherheit fehlt auf meinem Rechner das pip und ich kann es nicht erstellen. Wie könnte ich das scipy auf meinen Rechner bringen ?
Herzliche Grüße ebikerni
|
Profil
|
DerEinfaeltige
Senior  Dabei seit: 11.02.2015 Mitteilungen: 3291
 | Beitrag No.52, eingetragen 2021-01-04
|
Ohne alle möglichen Details zu Versionen, Verzeichnisstrukturen und Umgebungsvariablen zu kennen, kann dir kaum jemand aus der Ferne helfen.
Eine Anleitung zur Installation von pip unter Windows findet man bspw. hier.
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 277
 | Beitrag No.53, vom Themenstarter, eingetragen 2021-01-06
|
Hallo DerEinfaeltige,
herzlichen Dank für die Mitteilung. Ich habe mich in den letzten Tagen
und Wochen für die Installation des pip " pip installs packages "
interessiert. Auch Dein Hinweis war mir bekannt. Für mich aber unverständlich und nicht realisierbar. Deshalb kein "scipy" möglich.
Trotzdem habe ich aber mein Beispiel ma=7, mb=-2 und mc=5 mit der 15 stell. Genauigkeit nach dem Komma berechnet. Für die Berechnung der Dreiecksfläche sind 2 Gleichungen mit den bekannten Werten ma mb mc und
dem Dreieckumkreisradius ru ( > 7 ) bekannt. Wie in Python beschrieben, habe ich mit 6 Schleifen ru mit der geforderten Genauigkeit bestimmen können. Alle möglichen Kontrollberechnungen habe ich auch durchgeführt
und verglichen.
Als d i e Ergebnisse für ru = 7.740 345 775 222 105 und z.Bspl.
beta = 104.974 337 738 506 490 habe ich berechnet.
Vielleicht kannst Du die Ergebnisse bestätigen.
Mit freundlichen Grüßen
ebikerni
|
Profil
|
haegar90
Wenig Aktiv  Dabei seit: 18.03.2019 Mitteilungen: 935
 | Beitrag No.54, eingetragen 2021-01-06
|
\quoteon(2021-01-06 11:16 - ebikerni in Beitrag No. 53)
...
Als d i e Ergebnisse für ru = 7.740 345 775 222 105 ...
Vielleicht kannst Du die Ergebnisse bestätigen.
\quoteoff
Hallo ebikerni,
interessant dass Du hier einen Lösungsweg ohne scipy gefunden hast.
Die von dir geforderte Genauigkeit von 15 Nachkommastellen passt verglichen
mit #47 und WolframAlpha: ru≈7.740345775222110980180958 bis zur 13. Stelle.
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 277
 | Beitrag No.55, vom Themenstarter, eingetragen 2021-01-07
|
Hallo haegar90,
die Differenz in der 15. Nachkommastelle ist 6.
Gruß ebikerni
|
Profil
|
ebikerni
Aktiv  Dabei seit: 17.10.2020 Mitteilungen: 277
 | Beitrag No.56, vom Themenstarter, eingetragen 2021-03-06
|
Hallo.
nochmals ein Beitrag zur Kontrolle.
Gruß ebikerni
|
Profil
|
ebikerni hat die Antworten auf ihre/seine Frage gesehen. | Seite 2 | Gehe zur Seite: 1 | 2 |
|
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]
|