Hogyan tudom megírni ezt a programot? EV3 as robot
Egy versenyen volt és szeretném megcsinálni de nem tudom hogy hogyan érjem el.
Röviden: a robot sorsoljon egy véletlen helyet és arra a koordinátára rajzoljon egy kört, ha megnyomjuk az ütközés érzékelőt akkor 0;0 koordinátából induljon egy kör amifolyamatossan mozog 0.1 másodperccel a sorsolt koordináta fele és érje el.
Szóval hogyan érjem el azt hogy rézsutosan lefé elinduljon a kör?
Az x és y koordinátákat kell külön-külön szorozni 0-tól 1-ig.
Tehát a mozgáskor a koordináták pl:
0 ; 0
0.1*x ; 0.1*y
0.2*x ; 0.2*y
0.3*x ; 0.3*y
0.4*x ; 0.4*y
...
x ; y
De lehet kisebb lépésekben is.
Egy pontba nem lehet kort rajzolni, viszont lehet a pont a kor kozeppontja.
Viszont ha a sorsolt hely a kozeppont, akkor az sosem fogja elerni.
Ha ugy ertelmezzuk a feladatot, hogy mindket pont a koriven legyen, akkor viszont vegtelen darab kor lehetseges.
Onkenyesen kivalaszthatjuk a legkisebb sugaru kort. Ennek sugara sqrt(x^2+y^2)/2, kozeppontja az (x/2, y/2) pont.
Kiszamoljuk, hogy jelenleg a korben mekkora fi szognel vagyunk eppen (0, 0) pontban:
fi = atan2(-y/2, -x/2)
Ettol a szogtol (2*PI + fi) szogig bejarjuk a teljes kort. Ha kelloen kicsi lepesekkel haladunk, akkor megkozelitjuk az (x, y) pontot is.
Egy koordináta rendszerben van a 0;0 koordináta középpontú kör és egy sorsolt középpontú kör és elkezd "mozogni a 0 ás koordinátájú kör a másik fele
Éz az a lényeg hogy egyszerű matematikai függvényekkel eljutni a véletlen sorsolt körbe
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!