Zistenie uhla v Pascale cez gon. funkcie

Programovacie jazyky, rady, poradňa...
Pilifo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 7001
Registrovaný: 12 okt 2007, 16:41
Kontaktovať používateľa:

Zistenie uhla v Pascale cez gon. funkcie

Príspevok od používateľa Pilifo »

Dá sa v Pascale zistiť veľkosť uhla pomocou goniometrických funkcií? Lebo ani za svet nemôžem prísť na to, ako by sa to dalo urobiť spätne, nie iba vypočítať, napr. sínus uhla, ale aj zistiť veľkosť uhla z pomeru 2 strán trojuholníka.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

V pascale máš iba arctan, ale na zistenie uhla ti to bude stačiť (samozrejme o kvadranty... sa musíš postarať ty).
Pilifo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 7001
Registrovaný: 12 okt 2007, 16:41
Kontaktovať používateľa:

Príspevok od používateľa Pilifo »

Veď pokiaľ viem tangens uhla, ktorý je napr. 1, tak ako zistím, že takýto tangens prislúcha 45 stupňom, resp. pi/4?

Keď som priradil premennej arctan (1), tak to vypísalo nejakých 0,7854...
Takže vedel by si mi poradiť ako? :)

//Tak som na to nakoniec prišiel, musel som to ešte vydeliť pi a vynásobiť 180 :oops:
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

function uhol(x; y : real) : real;
var vysl : real;
begin
  if x<>0 then vysl := arctan(y/x)/ pi * 180;
  if x < 0 then vysl := vysl - 180; 
  if vysl < 0 then vysl := vysl + 360;
  uhol := vysl;
end; 
Pilifo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 7001
Registrovaný: 12 okt 2007, 16:41
Kontaktovať používateľa:

Príspevok od používateľa Pilifo »

No ale ešte by ma zaujímalo, prečo mi zle program vypisuje sínusy uhlov? Dal som ich vypísať od 1 po 90 stupňov a vypisuje veľmi záhadné čísla, napr. 45 - 0,8509; 90 - 0,8940. Pri niektorých dokonca mínusové hodnoty. Ako je to možné? :shock:

//Ach, som asi blbý, musím to prehadzovať ešte na radiány :)

Tak na ten arctan som už prišiel, ale teraz by som potreboval tiež arcsin, ktorý by sa mal zapísať takto : arctan (sin (x)/sqrt (1-sqr(sin (x)))/pi*180, ale nevypisuje mi to presne ten uhol.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Správny tvar tej funkcie pre arcsin vypočitaný pomocou arctan si pozri napr. tu http://en.wikipedia.org/wiki/Inverse_tr ... c_function
Napísať odpoveď