PDA

Pogčedajte punu verziju : zanimljivo parce koda...


krcko
05. 12. 2006., 01:08
bachite pogled ovde:
http://www.beyond3d.com/articles/fastinvsqrt/

veoma zanimljiva InvSqrt funkcija, ja sam procitao objasnjenje ali i dalje na kontam na koji nacin radi :)
ima i zanimljivu istoriju.. :)

zark0vac
05. 12. 2006., 08:06
Zanimljivo iskodirana funkcija mada licno ne volim previse matematike u programiranju, a ovde je ima... dosta... :) Detaljniju analizu koda mozete naci ovde (http://www.lomont.org/Math/Papers/2003/InvSqrt.pdf) kao i diskusiju (http://www.beyond3d.com/forum/showthread.php?t=36238) na B3D forumima.

krcko
06. 12. 2006., 00:43
pa kakvo je to programiranje bez mate? :)

to je onda samo pisanje unapred naucenog koda :D

LiquidBrain
06. 12. 2006., 08:31
Nije matematika ta koja cini programiranje, to su algoritmi koje sam programer smishlja.
Naravno da se izracunavanja ne mogu odraditi bez matematike, ali za neke aplikacije matematika je nebitna. Primer mrezni servisi... Naravno u aplikacijama koje obradjuju grafiku matematika je neizbezna i to uglavnom vektori i analiticka geometrija u ravni i prostoru. Ostatak se svodi na osnovne matematicke operacije. Izuzetak su tu igrice koje mogu da koriste engine za fiziku, pa ce onda trebati i malo fizike ali nishta strashno. I josh jedan izuzetak je taj da ukoliko imamo algoritam koji radi mozemo ga optimizovati nekom naprednijom matematikom (pod uslovom da se radi o nekim izracunavanjima).

Inace, da, i mene smara matematika ali je za neke stvari neizbezna, pa je uvek korisno poznavati je.

Ilija Studen
06. 12. 2006., 09:36
pa kakvo je to programiranje bez mate? :)

to je onda samo pisanje unapred naucenog koda :D

Tvoj profesor bi bio ponosan da pročita ovo :p Nisam baš siguran za budućeg poslodavca, ali nikad se ne zna...

bNasty
06. 12. 2006., 09:36
pa ce onda trebati i malo fizike ali nishta strashno

:1064:

LiquidBrain
06. 12. 2006., 09:59
Dobro de, to je bilo samo da ne obeshrabrim neke potencijalne game developere :)
LoLz

krcko
06. 12. 2006., 23:50
ma znam ja da matematika nije obavezna za programiranje (vidis da sam turio smajlija :)) ali ja volim da ubacim matematiku gde god je to moguce :)

@ilija: ne znam dal si mislio na profesora matematike ili informatike (jer ovaj sto mi predaje informatiku me je pitao kako da podeblja tekst u wordu!?!?!*)


* nije mogao da se snadje jer mu je neko iskljucio toolbarove :)
(stvarno je zalosno ko sve predaje informatiku u srednjim skolama u zemlji srbiji...)

LiquidBrain
07. 12. 2006., 07:40
Heh... to nishta nije cudno... znaju samo ono shto procitaju u knjigama za sr. shkolu... i to je to... mada cast izuzecima :)

Ilija Studen
07. 12. 2006., 09:03
@ilija: ne znam dal si mislio na profesora matematike ili informatike (jer ovaj sto mi predaje informatiku me je pitao kako da podeblja tekst u wordu!?!?!*)

Mislio sam na profesora matematike. Na FTN kruže priče kako je profesor Kovačević (matematika) rekao generaciji računaraca kako ne mogu da upale računar ukoliko ne znaju integrale ;)

Što se profesora informatike tiče, mi smo u srednjoj imali bisera. Kada god profesorica nešto zezne, ugasi monitor da se ne vidi i čeka drugog profesora na odmoru da joj reši problem.

djipko
20. 12. 2006., 14:09
Za prof. Kovacevica je apsolutno istina da je ovo rekao, ja sam licno prisustvovao njegovom predavanju pre par godina (sto bas i nije bila cesta pojava u to vreme :) kada je ovo rekao, samo mislim da se nije odnosilo na integrale, nego na neku analizu funkcija ili neke izvode, nebitno.
Dakle ziva istina! Cesto to ponavlja! Pozdravio bih ga ovim putem, jaka je faca :)!
Kod je zanimljiv, ali je to u principu najobicnija izvedba Njutn-Rapsonove metode za racunanje vrednosti fje u nekoj tacki. Castovi i dereferenciranja su tu samo radi foliranja koliko vidim, a ona konstanta se moze jako lepo napisati i kao float bez poziranja sa hex vrednostima...
Fora je u konstanti jer se metoda zasniva na Tejlorovom polinomu u okolini tacke kao i vecina iterativnih numerickih postupaka, ali je ona mogla biti i normalno napisana. Koga zanima:
http://mathworld.wolfram.com/NewtonsMethod.html
ili wikipedia
Inace ako se neko ikad bavio bilo kakvim numerickim proracunima, ovakve i gore stvari su skoro svakodnevna pojava...

ivanhoe
20. 12. 2006., 18:21
pa nije foliranje, radi se grafickoj rutini, pa se radi maximalna optimizacija.. u to vreme kad je ovo pisano sve se radilo sa celobrojnim vrednostima jer su opercije sa pokretnim zarezom bile par redova velicine sporije.. takodje ovde je izbegnuta lookup tabela kod aproksimacije (jer je konstana tako birana da je dovoljna preciznost), pa je jos brze... posto sam se ja nekad davno bavio malkice programiranjem demo-a i grafike pod DOS-om, meni je ovo ultra impresivna funkcija sa blagom notom nostalgjie.. :)