В какой-то момент их нужно преобразовать в целые числа, чтобы нарисовать фактические пиксели.
В общем, однако, вы не хотите просто привести каждый тип с плавающей точкой к int и рисовать - вы почти наверняка получите беспорядок. Вместо этого вам нужно / хотите масштабировать числа с плавающей точкой, , а затем округлить масштабированное значение до целого числа. В большинстве случаев вы захотите изменить коэффициент масштабирования, чтобы пользователь мог увеличивать и уменьшать масштаб по мере необходимости.
Другая возможность состоит в том, чтобы позволить аппаратному обеспечению выполнять большую часть работы - вы можете использовать OpenGL (для одного примера) для рендеринга ваших точек, оставляя их в виде плавающей запятой внутри, и позволяя драйверу / оборудованию решать такие проблемы, как масштабирование и преобразование. в целые числа. Это довольно дорого обходится заранее (изучая достаточно OpenGL, чтобы заставить его делать что-нибудь полезное), но также может иметь довольно существенную отдачу, такую как быстрый аппаратный рендеринг, и облегчает управление некоторыми вещами. например, масштабирование и (если вам это когда-нибудь понадобится) возможность отображать 3D-точки так же легко, как 2D.
Редактировать: (в основном ответ на комментарий): В конечном итоге все сводится к следующему: разрешение экрана ниже, чем разрешение числа с плавающей запятой. Например, экран действительно высокого разрешения может отображать 2048 пикселей по горизонтали - это разрешение 11 бит. Даже число с плавающей запятой одинарной точности имеет точность около 24 бит. Независимо от того, как вы это сделаете, уменьшение 24-битного разрешения до 12-битного разрешения приведет к потере чего-либо - обычно lot .
Вот почему у вас почти есть для изменения коэффициента масштабирования - так что пользователь может выбрать, нужно ли уменьшить масштаб и просмотреть всю картинку с уменьшенным разрешением, или увеличить, чтобы увидеть небольшую часть в высокое разрешение.
Так как было упомянуто субпиксельное разрешение: оно помогает, но только немного . Он не будет разрешать тысячи различных элементов, которые отображаются в один пиксель.