
Реальные размеры (миллиметры) в C#.
Всем добрый день!
Вопрос состоит в следующем: нужно узнать реальные размеры (РР) нарисованного на экране (скажем диаметр сферы), как это сделать?
[spoiler]
Читал, что можно находить РР через пиксели, разрешение экрана и его диагональ, может есть какие-то готовые решения.
Вопрос состоит в следующем: нужно узнать реальные размеры (РР) нарисованного на экране (скажем диаметр сферы), как это сделать?
[spoiler]
Читал, что можно находить РР через пиксели, разрешение экрана и его диагональ, может есть какие-то готовые решения.
Гугл подсказал (возможно самый верный путь):
int glutGet(GLenum state);
Возможные параметры state
GLUT_SCREEN_WIDTH
Width of the screen in pixels. Zero indicates the width is unknown or not available.
GLUT_SCREEN_HEIGHT
Height of the screen in pixels. Zero indicates the height is unknown or not available.
GLUT_SCREEN_WIDTH_MM
Width of the screen in millimeters. Zero indicates the width is unknown or not available.
GLUT_SCREEN_HEIGHT_MM
Height of the screen in millimeters. Zero indicates the height is unknown or not available.
P.S. Сами пиксели (зерно) на экране разного размера у разных мониторов.
Но чтобы перевести размер нужно много считать, в зависимости от типа проекции, по каким-либо контрольным точкам считать размер проекции 3д модели на экране.
Зато если 2D ортогональная проекция, то все проще
Т.е. разСами пиксели (зерно) на экране разного размера у разных мониторов.нельзя их физический размер программными средствами узнать?
Дело все в том, что мне нужно, чтобы на экране размеры отображались ТОЧНО — 5 сантиметров, 123 миллиметра и т.д. Инженерная точность нужна (настолько точно насколько можно выжать из Джеля).