El tudná nekem valaki magyarázni ezt nekem?
"for(ter=0, i=1;i*dx<r;ter+=dx*sqrtf(powf(r,2)-powf(i++*dx,2))*4);"
Arra kérnék valakit, hogy azt hosszabban írja le nekem ne ennyire tömören, mert így nem látom át, hogyan lehet ebből a kör területét kiszámolni.
Vesszük az origo középpontú, r sugarú kör negyedét (x>=0, y>=0).
Az x mentén feldaraboljuk dx szélességű részekre, de egy ilyen szeletet nem próbáljuk meg kiszámítani, mert ennek a teteje a körív része, így íves, hanem egy dx szélességű téglalappal közelítjük. A téglalap magasságát a kör képletéből számolja ki:
origó középpontú kör képlete: x^2+y^2=r^2
ebből y = gyök(r^2-x^2), a kódban i értéke az x, ezt növeli mindig dx-el.
Ezek négyszeresét (mert most csak a kör negyedét nézzük) összesítjük és megkapjuk közelítőleg a kör területét.
Minél kisebb dx, annál több téglalappal közelíti, így annál pontosabb lesz.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!