Obliczenie boku

Dział całkowicie poświęcony zagadnieniom związanymi z trójkątami. Temu co się w nie wpisuje i na nich opisuje - też...
Kubaz
Użytkownik
Użytkownik
Posty: 54
Rejestracja: 2 mar 2009, o 20:33
Płeć: Mężczyzna
Podziękował: 9 razy

Obliczenie boku

Post autor: Kubaz »

matma.png
matma.png (21.79 KiB) Przejrzano 905 razy
Jest taki obrazek. I teraz mając \(\displaystyle{ x_{0}, x_{1} }\) i \(\displaystyle{ φ_{0} }\) da radę obliczyć \(\displaystyle{ φ_{1}}\) ?
Ostatnio zmieniony 1 kwie 2022, o 14:52 przez Jan Kraszewski, łącznie zmieniany 1 raz.
Powód: Teraz nie linkujemy zdjęć, tylko załączamy jako załączniki.
Awatar użytkownika
kerajs
Użytkownik
Użytkownik
Posty: 8570
Rejestracja: 17 maja 2013, o 10:23
Płeć: Mężczyzna
Podziękował: 306 razy
Pomógł: 3347 razy

Re: Obliczenie boku

Post autor: kerajs »

Z układu:
\(\displaystyle{ \begin{cases} \frac{D}{ \frac{x_0}{2} }=\ctg \frac{\phi_0}{2} \\ \frac{D}{ x_1 }=\ctg \phi_1 \end{cases} }\)
wychodzi:
\(\displaystyle{ \ctg \phi_1 = \frac{x_0\ctg \frac{\phi_0}{2} }{2x_1} \\
\phi_1 = \arcctg \frac{x_0\ctg \frac{\phi_0}{2} }{2x_1}}\)
Kubaz
Użytkownik
Użytkownik
Posty: 54
Rejestracja: 2 mar 2009, o 20:33
Płeć: Mężczyzna
Podziękował: 9 razy

Re: Obliczenie boku

Post autor: Kubaz »

Dodano po 47 sekundach:
kerajs pisze: 2 kwie 2022, o 08:06 Z układu:
\(\displaystyle{ \begin{cases} \frac{D}{ \frac{x_0}{2} }=\ctg \frac{\phi_0}{2} \\ \frac{D}{ x_1 }=\ctg \phi_1 \end{cases} }\)
wychodzi:
\(\displaystyle{ \ctg \phi_1 = \frac{x_0\ctg \frac{\phi_0}{2} }{2x_1} \\
\phi_1 = \arcctg \frac{x_0\ctg \frac{\phi_0}{2} }{2x_1}}\)
Dziękuję ślicznie :D
Kubaz
Użytkownik
Użytkownik
Posty: 54
Rejestracja: 2 mar 2009, o 20:33
Płeć: Mężczyzna
Podziękował: 9 razy

Re: Obliczenie boku

Post autor: Kubaz »

Pozwolę sobie kontynuować wątek. Czy Twój wynik jest równoznaczny z tym zapisem (wersja w jednej linii z nawiasami na potrzeby pisania programu):

Kod: Zaznacz cały

φ1 = Math.atan(1 / ((x0 * ( 1 / Math.tan(φ0/2))) / (2 * x1)));
? Mylą mi się te nawiasy i nie wiem czy to poprawne przekształcenie Twojego wyniku (chyba niekoniecznie, bo wynik wychodzi trochę zły, ale może źle coś wyliczam gdzie indziej, a tu jest git).

Oprócz tego, mając już φ1 wyliczam

Kod: Zaznacz cały

D = x1 / Math.tan(φ1);
?

@kerajs i inni proszę o odpowiedź :)
Awatar użytkownika
Janusz Tracz
Użytkownik
Użytkownik
Posty: 4060
Rejestracja: 13 sie 2016, o 15:01
Płeć: Mężczyzna
Lokalizacja: hrubielowo
Podziękował: 79 razy
Pomógł: 1391 razy

Re: Obliczenie boku

Post autor: Janusz Tracz »

Kubaz pisze: 14 kwie 2022, o 11:53

Kod: Zaznacz cały

φ1 = Math.atan(1 / ((x0 * ( 1 / Math.tan(φ0/2))) / (2 * x1)));
To jest nieczytelne (to znaczy można to odszyfrować ale to sprawia fizyczny ból). Nie pisz jedno linijkowych kodów. A jak już bardzo chcesz to najpierw uprość maksymalnie wynik (ułamki piętrowe w kodzie to nie jest dobry pomysł). Ja uważam, że najwygodniej będzie wynik zapisać w postaci

\(\displaystyle{ \phi_1=\arctg\left( \frac{2x_1}{x_0} \cdot \tan \left( \frac{\phi_0}{2} \right) \right) }\)


i to w jednej linijce już się sensownie zapisze, choć i tak osobiście proponuje dla czytelności wprowadzić dwie nowe zmienne \(\displaystyle{ A=2x_1/x_0}\) oraz \(\displaystyle{ B=\tan (\phi_0/2)}\). Wtedy \(\displaystyle{ \phi_1=\arctg \left( AB\right) }\).
Kubaz pisze: 14 kwie 2022, o 11:53 Oprócz tego, mając już φ1 wyliczam

Kod: Zaznacz cały

D = x1 / Math.tan(φ1);
Możesz tylko po co? \(\displaystyle{ D}\) już masz policzone. Wartość \(\displaystyle{ D}\) była potrzebna po drodze aby policzyć \(\displaystyle{ \phi_1}\), którego szukałeś. Zobacz, że kerajs policzył już w pierwszym równaniu, a potem \(\displaystyle{ D}\) wstawił do kolejnego. Ty licząc tak \(\displaystyle{ D}\) możesz traktować to jako sprawdzenie rachunków. Wartość \(\displaystyle{ D}\) i jej poznanie jest tylko drogą do celu poznania \(\displaystyle{ \phi_1}\).
Kubaz
Użytkownik
Użytkownik
Posty: 54
Rejestracja: 2 mar 2009, o 20:33
Płeć: Mężczyzna
Podziękował: 9 razy

Re: Obliczenie boku

Post autor: Kubaz »

Dzięks Panie Januszu
Awatar użytkownika
Mariusz M
Użytkownik
Użytkownik
Posty: 6903
Rejestracja: 25 wrz 2007, o 01:03
Płeć: Mężczyzna
Lokalizacja: 53°02'N 18°35'E
Podziękował: 2 razy
Pomógł: 1246 razy

Re: Obliczenie boku

Post autor: Mariusz M »

Możesz tylko po co? \(\displaystyle{ D}\) już masz policzone.
Jak spojrzysz na jego pierwszy wpis to możesz tam przeczytałbyś że \(\displaystyle{ D}\) nie jest dane
Po to że kerajs jak zwykle użył funkcji których nie ma w językach programowania
i trzeba ten wynik przekształcić
Zauważ że wysłał tą swoją wiadomość przed tym jak ty wysłałeś odpowiedź wyrażoną za pomocą funkcji które już w większości
języków programowania są dostępne
Ten twój wynik będzie łatwiej zapisać w kodzie

Poza tym chyba lepiej zamienić wynik kerajsa na arcus tangensa korzystając ze wzorów redukcyjnych

\(\displaystyle{ \arctan{x}+\arcctg{x}=\frac{\pi}{2}\\
\ctg{x} = \tg{\left( \frac{\pi}{2}-x\right) }
}\)


bo

\(\displaystyle{ \arcctg{x}=\arctan{\frac{1}{x}}}\)

nie jest prawdziwe dla każdego x
Awatar użytkownika
Janusz Tracz
Użytkownik
Użytkownik
Posty: 4060
Rejestracja: 13 sie 2016, o 15:01
Płeć: Mężczyzna
Lokalizacja: hrubielowo
Podziękował: 79 razy
Pomógł: 1391 razy

Re: Obliczenie boku

Post autor: Janusz Tracz »

mariuszm pisze: 15 kwie 2022, o 05:47 Jak spojrzysz na jego pierwszy wpis to możesz tam przeczytałbyś że \(\displaystyle{ D}\) nie jest dane
Spojrzałem i podtrzymuje swoje zdanie. Autor nie szuka \(\displaystyle{ D}\) w pierwszym wpisie chciał tylko wyznaczyć \(\displaystyle{ \phi_1}\), a nie \(\displaystyle{ D}\). Wartość \(\displaystyle{ D}\) jest tylko wartością która w naturalny sposób pojawia się aby dojść do wyniku \(\displaystyle{ \phi_1}\). Nie twierdze, że autorowi \(\displaystyle{ D}\) nie jest potrzebne. Twierdze jedynie, że \(\displaystyle{ D}\) już jest policzone i nie widzę sensu liczyć go tak jak autor proponuje. Nie wspominając już o tym, że \(\displaystyle{ D}\) jest już w pamięci komputera, gdy \(\displaystyle{ \phi_1}\) jest policzone.
mariuszm pisze: 15 kwie 2022, o 05:47 Po to że kerajs jak zwykle użył funkcji których nie ma w językach programowania
i trzeba ten wynik przekształcić
Zauważ że wysłał tą swoją wiadomość przed tym jak ty wysłałeś odpowiedź wyrażoną za pomocą funkcji które już w większości
języków programowania są dostępne
Ten twój wynik będzie łatwiej zapisać w kodzie
Powiedzieć jak zwykle to chyba lekka przesada zważając na to, że tak nie jest, jest to forum matematyczne, a temat trafił do działu geometrii. Tak czy inaczej kerajs nie mógł wiedzieć, że autor będzie to programować. Ja zrobiłem obliczenia niezależnie (i z wiedzą, że autor będzie to programować) więc starałem się użyć tylko \(\displaystyle{ \arctg}\) oraz \(\displaystyle{ \tg}\). Moje obliczenia są niezależne.
mariuszm pisze: 15 kwie 2022, o 05:47 Poza tym chyba lepiej zamienić wynik kerajsa na arcus tangensa korzystając ze wzorów redukcyjnych
Możliwe.
Awatar użytkownika
kerajs
Użytkownik
Użytkownik
Posty: 8570
Rejestracja: 17 maja 2013, o 10:23
Płeć: Mężczyzna
Podziękował: 306 razy
Pomógł: 3347 razy

Re: Obliczenie boku

Post autor: kerajs »

mariuszm pisze: 15 kwie 2022, o 05:47 Po to że kerajs jak zwykle użył funkcji których nie ma w językach programowania
Co więcej, nie tylko nie ma jej w językach programowania, ale nawet w kalkulatorach! Oburzające!
ODPOWIEDZ