Informatika gyűjtemény

Egy szinttel feljebb Megoldás

2004050607080910

NézetNyomtat

Kör

Nyers erő módszer

Ha az előző két visszapattanás pontja $P_1$ és $P_2$ volt, akkor a következő visszapattanás $P_3$ helyét úgy kapjuk, hogy $P_1$-et tükrözzük az $OP_2$ egyenesre. Kellő elszántsággal (esetleg "wolframalpha" segítségével) ez a tükrözés kiszámolható.
$OP_2$ egyenlete: $y=\frac{y_2}{x_2}\cdot x$.
Erre merőleges $P_1P_3$, egyenlete: $y-y_1=-\frac{x_2}{y_2}(x-x_1)$.
A kör egyenlete: $x^2+y^2=100$.
A másodfokú egyenletrendszer $x_1$-től különböző megoldása a Viete-formala alapján: $x_3=\frac{x_2^2x_1+y_1y_2x_2}{50}-x_1$.
A megoldás második koordinátája: $y_3=-\frac{x_2}{y_2}(x_3-x_1)+y_1$.
(Az $x_2=0$ és $y_2=0$ eseteket érdemes külön kezelni: ilyenkor a másik koordináta előjelet vált.)
Erben Péter (pascal): ep_cella0.pas
11 visszapattanás és 1487 visszapattanás

Okosabban

Palincza Ricsi és Frankl Nóri ötlete alapján. A tükrözésnél mindig ugyanakkora középponti szöggel "megy arrébb" $P_3$ a $P_2$-höz képest. (Az ábrán $\alpha=\beta$.) Tehát elegendő az aktuális ponthoz tartozó szög követése, ami egyszerű összeadással történhet, "modulo $2\pi$".

Ellipszis

Erben Péter (java): ep_cella.java (A függőleges egyenes kezelése még hiányzik.)