Stran 1 od 1

Še ena za žebelj v možgane

OdgovorObjavljeno: 22 Okt 2019, 14:28
Napisal/-a Kroko
Koda: Izberi vse
   
double angle = 0;
while (angle < 3.14)
{
  double x = abs(sin(angle));
  double y = abs(cos(angle));
  printf("A:%f X:%f Y:%f\n", angle, x, y);
  angle += 0.1;
}


Kaj se izpiše?

Re: Še ena za žebelj v možgane

OdgovorObjavljeno: 22 Okt 2019, 14:36
Napisal/-a gumby
0 in 1... abs() je za integer in malo casta vmes. fabs() daj in bo delalo...
Je pa res, da na prvi pogled ne opaziš tega.

Re: Še ena za žebelj v možgane

OdgovorObjavljeno: 22 Okt 2019, 14:44
Napisal/-a Kroko
Ne bo tako preprosto.
In C++, this function is also overloaded in header for floating-point types.


In ja, uporabljam C++.

Re: Še ena za žebelj v možgane

OdgovorObjavljeno: 22 Okt 2019, 15:52
Napisal/-a radix
Koordinatni sistem ima zamenjani osi glede na konvencijo.

Re: Še ena za žebelj v možgane

OdgovorObjavljeno: 22 Okt 2019, 17:02
Napisal/-a zanka
Kakšno konvencijo?

S skico se definira vse!

Ker je kosinus fi v bistvu sinus z argumentom pi/2 - fi, je mogoče s shranjevanjem enkrat zmanjšati potrebno računanje. Tudi sinus je dovolj izračunati samo od 0 do pi/2. Torej imamo 8-krat manj dela. Priznam, da sem lene vrste.

Re: Še ena za žebelj v možgane

OdgovorObjavljeno: 22 Okt 2019, 17:29
Napisal/-a radix
Konvencijo za polarni koordinatni sistem.
Slika
To je edina stvar, ki sem jo tako na hitro videl, ker se na programiranje ne spoznam dovolj, da bi znal povedati kaj več.
Seveda se glede na lastno definicijo kota in osi zadeve lahko spremenijo. Pri pretvorbi koordinat bi bil tudi predznak pomemben in verjetno ni trik v zamenjavi osi.

Ti predlogi glede zmanjševanja količine računanja so pa vprašljive uporabnosti, saj moraš potem računati ostanek pri deljenju s pi itd. Ampak to so že druge teme ...

Re: Še ena za žebelj v možgane

OdgovorObjavljeno: 22 Okt 2019, 17:50
Napisal/-a gumby
Kroko je napisal/-a:In ja, uporabljam C++.

Na C sem mislil... C++ ne poznam tako v detajle.

Re: Še ena za žebelj v možgane

OdgovorObjavljeno: 22 Okt 2019, 18:40
Napisal/-a Kroko
Gumby je sicer zadel poanto. Bi bilo zanimivo, če bi objavili izpise in kateri prevajalnik/platforma je bil uporabljen.

Re: Še ena za žebelj v možgane

OdgovorObjavljeno: 22 Okt 2019, 19:51
Napisal/-a gumby
GCC (ne vem verzije na pamet) na win7

Izpisalo je pa same 0.00000 in eno 1.00000