На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Сдвиг 3D , куда?
    Рисую 2 картинки для каждого глаза (красную и зеленую). Положим, я уже нарисовал картинку для левого глаза, теперь вопрос. Как правильно сдвинуть камеру, чтобы нарисовать для правого глаза, учитывая, что монитор находится на расстоянии 0.5 метра? (для упрощения используемая единица измерения в проге - тоже метры). Я было думал взять сделать оборот вокруг точки (0, 0, 0.5) на соотв. угол, но потом понял, что это ерунда.

    Точки на расстоянии 0.5 метра должны остаться (возможно не все, но приближенно) на месте. Точки дальше чем 0.5 должны сдвинуться влево (в бесконечности — где-то на 8 см на мониторе).
    Точки ближе чем 0.5 должны сдвинуться вправо.

    Кто знает, скажите метод (или линк, да что угодно по теме).
      я думаю, что просто надо сдвинуть камеру на межглазное расстояние, и всё нарисуется правильно, если ты всё остальное правильно сделал
        QUOTE (wormball @ 17.11.03, 16:07)
        я думаю, что просто надо сдвинуть камеру на межглазное расстояние, и всё нарисуется правильно, если ты всё остальное правильно сделал

        Я тоже так думал, но это неправильно =) Смотри: таким образом точки в бесконечности на мониторе будут без сдвига. Т.е. чтобы посмотреть на точку в бесконечности тебе надо будет смотреть на точку на расст. до монитора; мозг — не дурак, поймет, что фигня какая-то =)
          в том то и дело, что точки на бесконечности ДОЛЖНЫ оставаться на местах. ты сам подумай: когда ты едешь в поезде, вблизи всё проносится, а вдалеке вобще незаметно, как движется.

          зы. я понял! не надо ничего вертеть. надо камеру сдвинуть на межглазное расстояние и получаемое изображение сдвинуть в обратную сторону на такое же расстояние!! кстати угол перспективы должен быть равен углу, под которым ты смотришь на монитор
          Сообщение отредактировано: wormball -

          Прикреплённая картинка
          Прикреплённая картинка
            QUOTE (wormball @ 17.11.03, 16:16)
            в том то и дело, что точки на бесконечности ДОЛЖНЫ оставаться на местах. ты сам подумай: когда ты едешь в поезде, вблизи всё проносится, а вдалеке вобще незаметно, как движется.

            Если точку в бесконечности оставишь без сдвига на мониторе, то чтобы на нее смотреть, глаза надо косить так, как в случае когда смотришь на монитор. Т.е. как будто точка находится на мониторе. Прочитай мои условия, думаю, там все правильно.
              А что не так? Мозг сам не разберет ничего, потому, что его левый глаз _смотрит_ в какую-то точку ЗА монитором, а _сфокусирован_ на поверхности монитора smile.gif То же и правый. Так ведь тоже может быть smile.gif Не такое уж у нас, человеков, острое зрение, шоп на движущейся картинке 0.5м от +oo отличить smile.gif
              --
              Во я щас тут целую минуту пальцАми у себя перед носом вертел. smile.gif По-моему, мозг >> сильнее реагирует на поворот глазного яблока, чем на напряжение мышцЫ хрусталика. smile.gif
              Сообщение отредактировано: Visitor -
                QUOTE (Visitor @ 17.11.03, 17:11)
                А что не так? Мозг сам не разберет ничего, потому, что его левый глаз _смотрит_ в какую-то точку ЗА монитором, а _сфокусирован_ на поверхности монитора smile.gif То же и правый. Так ведь тоже может быть smile.gif Не такое уж у нас, человеков, острое зрение, шоп на движущейся картинке 0.5м от +oo отличить smile.gif
                --
                Во я щас тут целую минуту пальцАми у себя перед носом вертел. smile.gif По-моему, мозг >> сильнее реагирует на поворот глазного яблока, чем на напряжение мышцЫ хрусталика. smile.gif

                Дык дело не в фокусировке, а именно в повороте глаз к центру. Когда смотришь на точку в бесконечности, глаза практически параллельны. Когда смотришь на монитор, глаза под углом где-то 10 градусов. Разница огромная.
                  Когда смотришь "как обычно" на обьекты размером с екран монитора (у меня 15" smile.gif), или чуть меньше, ето расстояние, ну, хде-то метр. Вот исходя из етого попробуй нарисовать?
                    Все, решена вещь! Надо действительно оборачивать камеру где-то на 6-10 градусов вокруг точки совпадающей с центром монитора (например (0, 0, 0.5) ).
                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                    0 пользователей:


                    Рейтинг@Mail.ru
                    [ Script execution time: 0,0813 ]   [ 15 queries used ]   [ Generated: 25.04.24, 01:20 GMT ]