Показано с 1 по 19 из 19

Тема: Задача

  1. #1
    забанен навсегда
    Регистрация
    02.07.2012
    Сообщений
    10

    Задача

    Здравствуйте, надеюсь, среди уймы тролей и школьников на ск2тв найдутся действительно умные люди. Есть одна трабла, которую очень нужно решить, помогите, пожалуйста с этим.





    Есть 2 системы координат- глобальная и локальная. Глобальные координаты могут быть любыми- и отрицательными и положительными, в любом диапазоне. Локальные- только положительные. Х в диапазоне от 0 до значения переменной SCR_W, У в диапазоне от 0 до SCR_H. При этом две эти переменные в начале работы программы становятся известны, во время работы программы они неизменны. Локальная система координат находится в глобальной, локальная система координат может перемещаться внутри глобальной.
    В глобальной и локальной системе находится квадратный объект, мы знаем его глобальные координаты.
    Известные в ходе работы программы переменные:
    позиция центра локальной системы координат в глобальных координатах
    глобальная координата маленького объекта, длина, ширина объекта
    диапазон локальной системы координат


    Нужно вывести формулу перевода точки из шлобальной системы координат в локальную, т.е. к примеру у объекта глобальная координата 500 900 а мы должны найти локальную и она, к примеру будет (рандомные числа) 300 500.

    (на картинке две оси- глобальная координата. Квадрат в правом верхнем углу- локальная система координат, она может перемещаться и быть в любом месте. Красный квадрат- объект. При перемещении локально системы он не перемещается, он статичен)
    Последний раз редактировалось press_x_to_yay; 18.07.2012 в 22:13.

  2. #2
    Активный участник Аватар для Fichtenstein
    Регистрация
    17.05.2010
    Адрес
    Moscow, RF
    Сообщений
    10,205
    press_x_to_yay, ничего не понятно. Ты можешь на более-менее математическом языке сформулировать задачу?
    Ребрейк улитка | Убей Пеппера - спаси Конца Света
    Все ИМХО

  3. #3
    Новобранец
    Регистрация
    14.07.2011
    Сообщений
    78
    9 сообщений ?!?! Ты нас Абузишь! Давай до свидания_/

  4. #4
    забанен навсегда
    Регистрация
    02.07.2012
    Сообщений
    10
    Цитата Сообщение от Fichtenstein Посмотреть сообщение
    press_x_to_yay, ничего не понятно. Ты можешь на более-менее математическом языке сформулировать задачу?
    Конечной целью является перевод формулы в код и встраивание в программу, а математик из меня никакой, но я постараюсь.

    Итак:


    Мы имеем двухмерную систему координат. Внутри неё распологается прямоугольник и квадрат. Квадрат перемещать нельзя как и систему координат. От верхнего левого угла прямоугольника до нижнего левого У единиц. До правого верхнего Х единиц. Предположим квадрат лежит внутри прямоугольника, координата левого верхнего угла квадрата нам известна, это две переменные- sprpos_x и sprposY.
    Проведём в прямоугольнике две диагонали, точка их пересечения имеет координаты camX и camY.

    Задача: найти количество единиц которое отдаляет верхнее ребро и левое ребро прямоугольника от левой верхней точки квадрата. Всё это надо записать формулой, на выходе икс и игрек.


    Известные величины:
    координата квадрата
    координата середины прямоугольника
    длина и ширина прямоугольника
    Последний раз редактировалось press_x_to_yay; 18.07.2012 в 22:25.

  5. #5
    Активный участник
    Регистрация
    17.05.2010
    Сообщений
    334
    Погугли сложение и вычитание векторов. Тогда сам все поймешь. Формулы на 5 класс.

  6. #6
    Активный участник
    Регистрация
    12.10.2011
    Адрес
    Zagreb
    Сообщений
    4,989
    я прям чувствую в Тебе будущее российского гейм-дева, бро.
    Днём — тимлид; ночью — StarCraft-энтузиаст.

  7. #7
    забанен навсегда
    Регистрация
    04.02.2012
    Сообщений
    130
    абитуриенты совсем обленились ...

  8. #8
    Новичок
    Регистрация
    17.04.2011
    Адрес
    Пони
    Сообщений
    19
    Цитата Сообщение от Bolshevik Посмотреть сообщение
    Формулы на 5 класс.
    5 класс уверен?
    \

  9. #9
    Активный участник
    Регистрация
    12.10.2011
    Адрес
    Zagreb
    Сообщений
    4,989
    Цитата Сообщение от broodwarman Посмотреть сообщение
    абитуриенты совсем обленились ...
    был бы абитуриентом — была бы нормально сформулированная задача.
    полагаю, что этот товарищ — интересующийся™.
    Днём — тимлид; ночью — StarCraft-энтузиаст.

  10. #10
    Активный участник
    Регистрация
    27.03.2011
    Адрес
    Неизвестно
    Сообщений
    483
    Наверное, надо было учить сложение и вычитание векторов, гугли, чего поделать. Там всё предельно просто, если мы тебе её решим толку из этого минимум выйдет.

  11. #11
    Активный участник
    Регистрация
    17.05.2010
    Сообщений
    334
    Цитата Сообщение от degred Посмотреть сообщение
    5 класс уверен?
    Ну вообще-то сложение и вычитание проходится во 2 классе. Ну а дроби в 3 вроде как. Так что да, я погорячился, задача на 3 класс.

  12. #12
    Новобранец
    Регистрация
    17.05.2010
    Сообщений
    40
    если я правильно понял задачу то будет так: x=Xт+X; y=Yт+Y; где Xт, Yт- координаты точки в глобальной СК , а X и Y- координаты СК локальной в глобальной СК

  13. #13
    забанен навсегда
    Регистрация
    05.11.2011
    Сообщений
    496
    Цитата Сообщение от Bolshevik Посмотреть сообщение
    Ну вообще-то сложение и вычитание проходится во 2 классе. Ну а дроби в 3 вроде как. Так что да, я погорячился, задача на 3 класс.
    Прости, но мне кажется тут не 1+2 учатся складывать. Или векторы тоже в третьем классе проходят?
    Последний раз редактировалось Clase; 18.07.2012 в 22:45.

  14. #14
    Новобранец
    Регистрация
    17.05.2010
    Сообщений
    40
    Цитата Сообщение от Shirvan Посмотреть сообщение
    если я правильно понял задачу то будет так: x=Xт+X; y=Yт+Y; где Xт, Yт- координаты точки в глобальной СК , а X и Y- координаты СК локальной в глобальной СК
    а нет я зафейлился, не так будет
    Последний раз редактировалось Shirvan; 18.07.2012 в 22:58.

  15. #15
    Новобранец
    Регистрация
    24.04.2011
    Сообщений
    84
    Shirvan, ты опять перепутал, x=Xт+X y=Yт-Y

  16. #16
    Новобранец
    Регистрация
    17.05.2010
    Сообщений
    40
    x=Xт-X y=Y-Yт во теперь все ровно должно быть

  17. #17
    забанен навсегда
    Регистрация
    13.12.2011
    Сообщений
    4,325
    Вместо того, чтобы самому мучиться с созданием движка под очередной убогий платформер-арканоид-скроллшутер, возьми готовый графический, например, Ogre3D, и реализуй логику. Это даст тебе гораздо более глубокое понимание процесса создания + больше фана. Ну а если потом приспичит, сам реализуешь то, что тебе надобно.

    Кроме того, книги тоже читать стоит. «Физика для разработчиков компьютерных игр» поищи, там, вроде, неплохо операции над векторами расписаны.

    «а лисички взяли спички, к морю синему пошли, море синее в говно...»

  18. #18
    Освоившийся
    Регистрация
    17.05.2010
    Сообщений
    240
    Ориентируясь на 4 пост...
    Начало(нулевая точка) лок. системы лежит в [camX-X/2;camY-Y/2]
    Формула перевода из глобальной системы в локальную получается Xloc=X-(camX-X/2)
    Итого, в локальной системе координат твой квадрат начинается в [sprpos_x-camX+X/2;sprposY-camY+Y/2]
    KMFDM forever sucks!

    Скрытый текст

    Здесь могла бы быть ваша пека...
    [свернуть]

  19. #19
    забанен навсегда
    Регистрация
    02.07.2012
    Сообщений
    10
    Впрочем, ларчик просто открывался... Я думал проблема в формуле, оказалось что те, что выводил я и вывели вы правильны, проблема была в части кода. Собсна дописал, теперь работает.

    Скрытый текст

    вот что вышло: http://zalil.ru/33586006
    [свернуть]
    Последний раз редактировалось press_x_to_yay; 19.07.2012 в 02:32.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •