Цитата: codegrinder от 06.10.2009 22:18:26
Ну, я может и уточню немного о чём речь, чтобы и ежу было ясно. Если всё упирается только в этот критерий, я вам его обеспечу, хотя ваш интеллект явно выше ежового. Но уже завтра.
Держите.
Из формул получения экранных координат для перспективной проекции следует следующее:
Для кадра 1: xs1 = x*f/z
Для кадра 2 в системе координат связаной с экраном для той же точки мы получим: xs2 = (x+Δ)*f/z
Смещение точки будет: xs2-xs1 = Δ*f/z
Отсюда следует, что чем больше z-координата объекта, тем слабее будет смещение объекта на снимке. Конечно, у нас нет абсолютных значений смещения точек относительно друг друга, но даже относительного вполне хватает для получения стереоэффекта. Так как ЛМ на стереопаре имеет объём, это означает, что разные его точки по разному смещены относительно друг друга, что означает, что даже на таком расстоянии у нас получаются разные смещения для точек с разной (и не слишком отличающейся) z-координатой. Следовательно, для более близких расстояний эти смещения будут ещё сильнее.
К сожалению, у нас вероятно не чистый сдвиг, а сдвиг и поворот, что означает, что перспективные искажения на фотографиях могут внести дополнительные искажения. К счастью, эти искажения явно невелики, раз нам не приходится настраивать глаза в зависимости от горизонтального места на стереопаре на которое мы смотрим (поворот кадра около всего 9°). Попробуем их оценить. Мы уже знаем, что смещение зависит от z-координаты. В системе координат связаной с экраном поворот экрана приведёт к такому же эффекту, как если бы мы повернули нашу точку вокруг фотоаппарата. Также следует учесть перспективные искажения. Не прибегая к полному анализу этих эффектов для всего снимка (т.к. он будет гораздо сложнее и в нём нет необходимости) я оценю эти искажения для вертикали отстоящей на 890 точек от центрального креста на AS11-40-5950 (Это левый край PSE не считая его "крыла"). Для начала найдём углы между вертикалью проходящей через центральный крест и интересущую нас вертикаль на обоих фото:
AS11-40-5949: arctg(144*10/740/61,1) = 1,82°
AS11-40-5950: arctg(890*10/740/61,1) = 11,18°
Дальше оценим изменение z-координаты: cos(1,82°) / cos (11,18°) = 1,0188 или 1,88%
Теперь перспективные искажения: (tg(11,18°)-tg(11,18°-0,01°)) / (tg(1,82°)-tg(1,82°-0,01°)) = 1,038 или 3,8%
Тупо суммируем (можно точнее, будет капельку меньше): 1,88%+3,8% = 5,68%
Таким образом, максимальные искажения(перспективные+поворот) на нашей вертикали будут меньше 6%, это одна точка на 17,5. Совсем немного, и вероятно будет даже незаметно глазам, во всяком случае, стереоэффект наблюдать они не мешают. Немного ближе к центральному кресту от этого места искажения будут ещё гораздо меньше
, порядка 1-2%, а кратер должен быть виден и там. Также, специально для эстетов и любителей точности привожу стереопару на основе всё тех же снимков, но преобразованных уже описанной мной программой в эквидистантную проекцию. Увы, ничего похожего на наш кратер нет и там.
Программу проверил на другой, уже описаной мной ранее программе, использован поворот по горизонтали. Некоторая неточность совмещения связана с двумя причинами, во-первых, расстояние между крестиками получается дробное (и я просто не могу его ввести), во-вторых, программа генерации изображения в случае если несколько точек пола попадают в одну точку экрана, не усредняет их, а выбирает только одну, это обычно случается достаточно далеко от наблюдателя.
Исходные кадры в перспективной проекции:
Попробуйте посмотреть на тени астронаффта на AS11-40-5949 и AS11-40-5950. Судя по ней, краем кратера там и не пахнет. Единственный излом тени - за PSE на AS11-40-5950 не тянет на край кратера по двум причинам: он находится не там и слишком короткий.
Я полагаю, это всё закрывает вопрос. N.A., я думаю уже всё. Если хотите продолжать этот цирк - то уже без меня, мне за него зарплату не платят. Я немного жду на всякий случай, и помещаю в ЧаВо (FAQ) всё что относится к вопросу.