Še ena za žebelj v možgane

Vse o programiranju na in za PC

Moderatorji: Kroko, tilz0R

Še ena za žebelj v možgane

OdgovorNapisal/-a Kroko » 22 Okt 2019, 13:28

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?
http://www.planet-cnc.com poskakuješ na eni nogi in žvižgaš alpske podoknice Kroko was here!
Uporabniški avatar
Kroko
 
Prispevkov: 4515
Pridružen: 14 Jan 2015, 11:12
Kraj: Ljubljana
Zahvalil se je: 650 krat
Prejel zahvalo: 1486 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

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

OdgovorNapisal/-a gumby » 22 Okt 2019, 13:36

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.
my brain hurts
Uporabniški avatar
gumby
 
Prispevkov: 2435
Pridružen: 14 Jan 2015, 18:49
Kraj: Lendava
Zahvalil se je: 102 krat
Prejel zahvalo: 567 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 61

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

OdgovorNapisal/-a Kroko » 22 Okt 2019, 13:44

Ne bo tako preprosto.
In C++, this function is also overloaded in header for floating-point types.


In ja, uporabljam C++.
http://www.planet-cnc.com poskakuješ na eni nogi in žvižgaš alpske podoknice Kroko was here!
Uporabniški avatar
Kroko
 
Prispevkov: 4515
Pridružen: 14 Jan 2015, 11:12
Kraj: Ljubljana
Zahvalil se je: 650 krat
Prejel zahvalo: 1486 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

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

OdgovorNapisal/-a radix » 22 Okt 2019, 14:52

Koordinatni sistem ima zamenjani osi glede na konvencijo.
radix
 
Prispevkov: 1348
Pridružen: 04 Feb 2015, 19:19
Kraj: Ljubljana
Zahvalil se je: 211 krat
Prejel zahvalo: 327 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 23

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

OdgovorNapisal/-a zanka » 22 Okt 2019, 16:02

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.
Uporabniški avatar
zanka
 
Prispevkov: 2377
Pridružen: 17 Mar 2016, 00:16
Zahvalil se je: 105 krat
Prejel zahvalo: 216 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 42

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

OdgovorNapisal/-a radix » 22 Okt 2019, 16:29

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 ...
radix
 
Prispevkov: 1348
Pridružen: 04 Feb 2015, 19:19
Kraj: Ljubljana
Zahvalil se je: 211 krat
Prejel zahvalo: 327 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 23

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

OdgovorNapisal/-a gumby » 22 Okt 2019, 16:50

Kroko je napisal/-a:In ja, uporabljam C++.

Na C sem mislil... C++ ne poznam tako v detajle.
my brain hurts
Uporabniški avatar
gumby
 
Prispevkov: 2435
Pridružen: 14 Jan 2015, 18:49
Kraj: Lendava
Zahvalil se je: 102 krat
Prejel zahvalo: 567 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 61

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

OdgovorNapisal/-a Kroko » 22 Okt 2019, 17:40

Gumby je sicer zadel poanto. Bi bilo zanimivo, če bi objavili izpise in kateri prevajalnik/platforma je bil uporabljen.
http://www.planet-cnc.com poskakuješ na eni nogi in žvižgaš alpske podoknice Kroko was here!
Uporabniški avatar
Kroko
 
Prispevkov: 4515
Pridružen: 14 Jan 2015, 11:12
Kraj: Ljubljana
Zahvalil se je: 650 krat
Prejel zahvalo: 1486 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

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

OdgovorNapisal/-a gumby » 22 Okt 2019, 18:51

GCC (ne vem verzije na pamet) na win7

Izpisalo je pa same 0.00000 in eno 1.00000
my brain hurts
Uporabniški avatar
gumby
 
Prispevkov: 2435
Pridružen: 14 Jan 2015, 18:49
Kraj: Lendava
Zahvalil se je: 102 krat
Prejel zahvalo: 567 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 61


Vrni se na Programski jeziki

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost