Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 27. 08. 2013 16:33 — Editoval buff (27. 08. 2013 17:32)

buff
Příspěvky: 213
Škola: ZŠ
Reputace:   
Web
 

sinus a cosinus

Zdravím,
potřeboval bych poradit kde dělám chybu při výpočtu sinus a cosinus úhlu a výpočet souřadnic. Jedná se o násobky pěti až po 360, a dostávám záporné hodnoty.

http://forum.matweb.cz/viewtopic.php?pid=378392#p378392


Dobré na ukládání dokumentů, aby byly přístupné ke čtené online *.doc, *.rtf aj. http://www.viewdocsonline.com

Offline

 

#2 27. 08. 2013 17:22

Rumburak
Místo: Praha
Příspěvky: 8691
Reputace:   502 
 

Re: sinus a cosinus

↑ buff:

Ahoj. 

Pokud vidíš problém pouze v tom,  že funkce sinus a kosinus nabývají i záporných hodnot,  tak v tom Tě mohu uklidnit: 
tyto funkce skutečně nabývají i záporných hodnot.

Je-li problém v něčem jiném, pak uděláš dobře, když ho zde popíšeš podrobněji (a srozumitelně).   Odhaduji, že vyhlídka
prolézat nějaké neznámé zdroje a případně spouštět neznámý software leckoho odradí.   Máš-li zájem o  nějakou pomoc,
počínej si tak, aby bylo snadné Ti ji poskytnout.

Offline

 

#3 27. 08. 2013 17:52 — Editoval buff (27. 08. 2013 18:04)

buff
Příspěvky: 213
Škola: ZŠ
Reputace:   
Web
 

Re: sinus a cosinus

↑ Rumburak:

Ale přiložil jsem k vláknu obrázek s tím jaké hodnoty to ukazuje. některé hodnoty x a y vychází v záporu a to je divné.

Z obrázku jsou patrné úhly: 5°, 10°, 15°, 20°, 25°  atd.

Dále tam je ten výpočet:
radian:=deg2rad(angle_deg)
// conversion deg*(M_PI/180);   

cos := cos(radian) ; cosinus always for calculation of width

sin := sin(radian)  ; sinus always for calculation of height

x := radius * cos
y := radius * sin

Radius jsem měl nastavený 250.
Střed byl umístěný na 0,0.
Ty x,y vychází v nechativních hodnotáchj i když střed posunu někde doprostřed obrazovky tedy 250,250

Z pouhého shlédnutí obrázku vidíte, že při 5° je x -207 a při 10° je 93 což je jasný nesmysl. Aspoň mi to tak připadá, protože při 15° dostanete zase 52° atd. Lítá to tam až moc zběsile

deg2rad() je funkce která převádí stupně na radiany
(x*180)/3.1415925635


Dobré na ukládání dokumentů, aby byly přístupné ke čtené online *.doc, *.rtf aj. http://www.viewdocsonline.com

Offline

 

#4 27. 08. 2013 19:35

buff
Příspěvky: 213
Škola: ZŠ
Reputace:   
Web
 

Re: sinus a cosinus

Problém vyřešen, nebylo to výpočtem, ale tím programem, ještě to AHK neumím tak dobře takže tam vznikly chyby.


Dobré na ukládání dokumentů, aby byly přístupné ke čtené online *.doc, *.rtf aj. http://www.viewdocsonline.com

Offline

 

#5 28. 08. 2013 07:41 — Editoval buff (28. 08. 2013 08:05)

buff
Příspěvky: 213
Škola: ZŠ
Reputace:   
Web
 

Re: sinus a cosinus

tak jsem se spletl. Problémy v AHK jsem sice vyřešil, ale jádro problému spočívá v nesprávném výpočtu, ale tady mi stejně nikdo nepomůže, že?

Střed: 150,150}
průměr := 200
radius := diameter/2
Počáteční stupeň: (0°)
deg += 5 navyšuje stupně po pěti

Toto mi to vykresluje:

http://oi44.tinypic.com/331zlz6.jpg

Je to špatně! Mají tam být stupně 0° , 5° , 15° , 20°  !

Převod na radiány mám
(x*180)/3.1415925635
To by mělo být dobře a co se se týče x a y počítám x z cosinu úhlu
x = radius * cos
a y ze sinu úhlu
y = radius * sin

Tak co je špatně?

Edit
Pozicí toho 0° si nejsem jistý, možná je to napravo otočeno o 90°, protože když vypíšu jen dvě rysky pro 0° a 5° tak nula je na třetí hodině.


Dobré na ukládání dokumentů, aby byly přístupné ke čtené online *.doc, *.rtf aj. http://www.viewdocsonline.com

Offline

 

#6 28. 08. 2013 09:48 — Editoval Rumburak (28. 08. 2013 12:49)

Rumburak
Místo: Praha
Příspěvky: 8691
Reputace:   502 
 

Re: sinus a cosinus

↑ buff:

Takže nejprve shrńme fakta:

Tvým cílem je napsat programovou proceduru pro nakreslení kružnice. Vycházíš z parametrických rovnic

                       $x = r \cos t  ,  y = r \sin t  ,   t \in \langle 0,  2\pi\rangle$ ,

které jsou správné.

Je-li dán parametrisační úhel $\alpha$ ve stupních, je nutno převést ho dříve na radiány vzorcem $t = \frac{2\pi}{360}\,\alpha  =  \frac{\pi}{180}\,\alpha $ ,

což je rovněž správně.  EDIT:  Ale když si to čtu znovu, vidím, že píšeš

Převod na radiány mám
(x*180)/3.1415925635
To by mělo být dobře a co

,
což dobře není. Těch 3.1415925635 má být v čitateli ,  180 ve jmenovateli.

Tato chyba by ale teoreticky neměla ovlivnit tvar kružnice, leda snad vlivem případné klesající přesnosti těch gon. funkcí při velkých hodnotách proměnných.
Další chybu tedy nutno hledat ještě jinde.

Doporučoval bych kresbu toho obrázku  z přísběvku 4 si odkrokovat , abys především zjistil, při kterém průchodu smyčkou
chyba vzniká (z obrázku se zdá, že většina průchodů dopadla dobře) .

V tom svém příspěvhu Také používáš proměnnou x ve dvou významech : jednou jako parametr úhlu, podruhé jako souřadnici bodu.
Pokud to tak máš i ve svém programu, je to chyba.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson