Мне кажется, что путаете вы. Какое угодно расстояние в реальной жизни можно измерить в
. Другой вопрос, если вам надо перевести это в другие единицы, например в метры. Тогда нужно замерить диагональ подходящим измерительным прибором и приравнять
к измеренному результату.
Я имел в виду, что в первом посте вы написали, что в
измеряется некоторое расстояние прямо на экране, не выходя за его пределы (и показывает «качество» проекции). Если это так, то это неверно, как описывается на странице, на которую ссылался
wrest. Вообще это технический момент, фокус не на нём, но если вдруг нам пригодится эта величина и вы её не так понимаете, проблемы будут именно на вашей стороне.
А что вы здесь понимаете под экраном и параметрами изображения?
Под экраном собственно экран — ту (предположительно плоскую) штуковину, на которой изображение, которое должно сходить за реальное. Параметры в случае упомянутой центральной проекции — обычно остаётся только один, эквивалентный как раз упомянутому расстоянию от зрачка фиктивной камеры до экрана. Но если будут упоминаться другие проекции, у них может быть больше параметров.
А вот как получается такое изображение, т.е. как происходит рендеринг — это именно то, чем я интересуюсь.
Если вас интересует только рендеринг и даже не интересует его реалистичность (в том смысле, который обсуждался начиная с первого поста), то это вопрос одновременно простой и сложный. Простой рендерер фигур, состоящих из точек и отрезков, и использующий центральную проекцию (или более простую ортогональную, или какую-нибудь ещё менее связанную с реализмом типа косоугольной) пишется на раз. Рендер же как реалистичных изображений, так и просто в производственных масштабах (типа как в играх — надо быстро и много, но не обязательно физически точно) требует использования множества оптимизаций и приёмов.
Простой рендер делается вот как: вся сцена (точки и отрезки в случае выше) сначала соответствующим образом (зависящим от положения и поворота камеры) параллельно переносится и поворачивается, после чего ко всем координатам точек применяется преобразование
[кажется, в к. графике принято направлять оси
по направлениям экрана и
ортогонально ему, тоько не помню в какую сторону]. Две полученные координаты — это экранные координаты, их может быть необходимость умножить на скаляр, который и есть тот таинственный параметр проекции в данном случае. И ещё, правда, может быть полезным даже в таком простом рендере обрезать точки и части отрезков, которые лежат по ту сторону экрана или «внутри камеры» (если призвать физическую аналогию). Иначе можно получить смесь обычной перспективы, обратной перспективы и чёрт знает чего, очень странно выглядящих.
Как вычислить расстояние от глаза до экрана, которое потребуется для совпадения реальной комнаты указанных размеров с любым из изображнений этой комнаты?
Нарисуйте схемку с учётом описаний процедуры изображения, написанных
wrest и мной. Потребуется, конечно, знать физические размеры экрана (которые можно прикинуть, взяв DPI и разрешение устройства — обычно ведь рамка вокруг не очень толстая). Я вообще когда писал свои велосипеды, выдумал центральную проекцию с нуля
и выжил.
-- Пн сен 10, 2018 02:31:58 --А, ну и, очевидно, для такого расчёта камеру надо поставить на место зрачка вашего усреднённого глаза (а можете по базе между зрачками двух глаз оценить неточности экрана для интересующих расстояний до него и до объекта «за ним»).