Графика: почему плавает по координатам? - PullRequest
2 голосов
/ 16 апреля 2011

Во многих графических библиотеках я видел координаты, хранящиеся как floats или doubles.Мой вопрос: почему они не должны храниться как простые целые числа?Чем больше точности вы можете получить, тем не менее в какой-то момент двойное число все равно придется преобразовывать в целое число (вы не можете перетянуть изображение на экране, начиная с 45,8 пикселя, например: P).

1 Ответ

1 голос
/ 16 апреля 2011

Теоретически вы можете блицнуть изображение с 45.8.Это больше о системе координат, в которой используется графическая библиотека, и как они управляют переводом и преобразованием графики и т. Д. Перемещение изображения с помощью Векторов является хорошим примером ...

т.е. полярные координаты, илиДекартова система координат относительно двумерных систем координат ...

Например, вы хотите, чтобы графика шаров случайным образом отскакивала от оконной формы.Интуитивно понятный способ сделать это:

  • сначала верните канонический способ (dx = -dx или dy = -dy в зависимости от столкновения)

  • затем преобразуйте dx и dy в полярные координаты (тэта и r)

  • тэта дрожания на небольшое количество (+ или - на несколько градусов, по вашему вкусу)

  • убедитесь, что тета не направляется в стену, от которой вы только что отскочили

  • конвертируйте тета и r обратно в dx (x) и dy(y) координаты (которые имеют целочисленный тип данных) ...

Получить дрейф?

Может найти это полезным .

...