Witam ! Piszę program który tworzy mapę pobierając dane położenia robota i pomiary z jego sensorów odległości. Robot jeździ po mapie i za pomocą jego wyników tworzy się mapę. Mapa jest to tablica dwuwymiarowa w której każda komórka zajmuje 20cmx20cm. Więc jeśli robot znajduje się w punkcie x =10cm, y =10 to znajduje się w komórce (0,0). jeśli x =33cm, y =35 to jest w komórce (2,2). Komórkę na której zostało coś wykryte wyszukuje w ten sposób:
cellX = robot.x + sensorReadings() * cos((robot.obrocenie + i * 45) * PI / 180);
cellY = robot.y + sensorReadings() * sin((robot.obrocenie + i * 45) * PI / 180);
indexX = (int) (cellX * 100 + 10) / 20;
indexy = (int) (cellY * 100 + 10) / 20;
czyli
X = xrobota + dlugosc wyniku × cos(α + β),
Y = yrobota + dlugosc wyniku × sin(α + β), gdzie α to obrócenie robota a β obrócenie sensora.
Ale słaby jestem jeśli chodzi o wektory i nie wiem jak znaleźć również X,Y pól które przecina ten wektor. Czy ktoś mógłby jakoś podpowiedzieć?