Kezdőoldal » Számítástechnika » Programozás » Python programozás gondolatmen...

Kogazo kérdése:

Python programozás gondolatmenetben tudnátok segíteni?

Figyelt kérdés

Szóval a gyakorlat az lenne, hogy több 'golyó' legyen a vászon, melyek össze vissza gurúlnak, de ha össze ütköznek lepattanjanak egymásról (nyílván a falról is le kell, hogy pattanjanak). Namost nekem sikerült egy müködő programot írnom 2 golyóra, de annak a vizsgálatát, hogy összemennek-e szerintem túl bonyolítom, meg talán magát az egész programot. Tudnátok segíteni, hogy jó-e a gondolatmenetem, mert otthon tanúlgatok egyedül, és soha nem mondja meg senki, hogy mit lehetne rövidebben, gyorsabban, egyszerűbben... Remélem tudtok segíteni :)


[link]



2013. nov. 1. 11:58
 1/4 anonim ***** válasza:

Itt lenne érdemes kicsit objektum orientáltan gondolkozni és csinálni egy golyó osztályt, majd mindet ebből példányosítani.


Ha ezt még nem érted az nem baj, nézz utána a Python class-oknak.

2013. nov. 1. 12:50
Hasznos számodra ez a válasz?
 2/4 iostream ***** válasza:
100%

Körök ütközése helyett te a befoglaló négyzetet vizsgálod, amennyire nézem, és még azt is rosszul. Ez nem feltétlenül rossz közelítés általában, de itt az, hiszen kevés kör pontos(abb) ütközését szeretnénk.


Először is, két kör akkor ér össze, ha a középpontjuk távolsága kisebb, mint a sugaruk összege. A távolság pithagorasz tétellel számolható, de egyszerűbb, ha négyzetre emeled a sugarak összegét, akkor nem kell gyököt vonni a távolságból. Mivel a gyökvonás szigorúan monoton függvény, ebből nincs gond.


Az, hogy egy kör egy síkról/egyenesről merre pattan, azt ugye a beérkezés szögének a tükrözése adja meg. Körök ütközésénél nincsenek síkok, de odaképzelhetsz egyet. Ez persze nem lesz tökéletes, mert a sebességek nem fognak változni, ami ellentmond a fizikának, de ennyit azt hiszem engedhetünk kezdőként.

2013. nov. 1. 13:05
Hasznos számodra ez a válasz?
 3/4 A kérdező kommentje:
Ahogy nézem az osztályok komolyabb alkalmazása még az anyagban hátrébb van, de mindenképpen oda fogok kacsingatni előre, hogy merre hány méter :) Második válaszolónak köszönöm, hogy felhívta a figyelmemet, hogy a kör középpontjának a távolságát kell figyelni... Azt még fel kell dolgoznom agyilag, hogy hogyan alakítsam át a lepattanást :) köszi a válaszokat!
2013. nov. 1. 19:59
 4/4 iostream ***** válasza:
Mellesleg nem kell osztály, már az is sokat segít, ha csoportosítod az adatot (egy kört jelképezhet egy tuple vagy egy lista), és akkor nem kell globális változókkal szüttyögni.
2013. nov. 1. 20:11
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!