Do mojej gry potrzebuję funkcji do tłumaczenia między dwoma układami współrzędnych. Cóż, to głównie pytanie matematyczne, ale potrzebuję tego kodu C++ i wyjaśnienia, jak rozwiązać mój problem.Tłumaczenie współrzędnych kartezjańskich i ekranowych
ekranu coordiantes:
a) lewy górny róg jest 0,0
b) bez wartości minus
C) bezpośrednio + = x (im więcej jest wartość X, tym więcej na prawo to punkt)
d) dolny + = Y
współrzędne kartezjańskie2D:
a) punkt środkowy jest (0, 0)
b) bez wartości istnieją
C) w prawo + = X
d) dolny - = r (mniej y, tym bardziej w na dole jest punkt)
Potrzebuję łatwego sposobu na przetłumaczenie z jednego systemu na inny i odwrotnie. Aby to zrobić (myślę) potrzebuję wiedzy, np. Gdzie jest (0, 0) [lewy górny róg w współrzędnych ekranu] umieszczonych we współrzędnych kartezjańskich.
Istnieje jednak problem, że dla pewnego punktu we współrzędnych kartezjańskich po przetłumaczeniu go na ekrany, pozycja na współrzędnych ekranu może być ujemna, co jest nonsensem. Nie mogę umieścić lewego górnego rogu współrzędnych ekranu w (-ififity, + nieskończoność) kartezjańskich współrzędnych ...
Jak mogę to rozwiązać? Jedyne rozwiązanie, jakie mogę wymyślić to umieszczenie ekranu (0, 0) w kartezjańskim (0, 0) i używać tylko czwartej ćwiartki systemu kartezjańskiego, ale w takim przypadku użycie systemu kartezjańskiego jest bezcelowe ...
Ja " Jestem pewien, że istnieją sposoby tłumaczenia współrzędnych ekranu na współrzędne kartezjańskie i odwrotnie, ale robię coś złego w moim myśleniu z tymi wartościami ujemnymi.
Współrzędna ekranu ** to ** kartezjański? kiedy stało się niekartezjańskie? – thang
chce mieć ujemne współrzędne – sgonzalez
@thang oś Y jest inna na ekranie i kartezjańskim. – user1873947