Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
 Аватар для BeginerMan
51 / 50 / 14
Регистрация: 17.11.2012
Сообщений: 427

Новая позиция точки при масштабировании

08.06.2016, 13:44. Показов 3255. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здрасьте.

Есть задание:
Получить новую позицию точки на экране при масштабировании.
Есть переменная zoom, отвечающая за масштаб, и есть точка P(x,y).
Надо найти новые координаты для P, при масштабе zoom.

Проблема в том, что надо масштабировать относительно чего-то.

Например, у нас дана плоскость 10000х10000, а мой экран показывает только 1600х900 и находится в левом верхнем углу.
Понятное дело тут относительно верхнего левого угла.
И решение тут простое:
x *= zoom;
y *= zoom;

А вот ещё пример, если мы находимся где-нибудь не около краёв, то надо относительно центра того что мы видим, но что тогда делать с координатами ?

Может есть нехитрое решение ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.06.2016, 13:44
Ответы с готовыми решениями:

Новая позиция в шаблоне
есть шаблон, в котором 2 позиции для колонок меню и новости (общий размер 100%). как добавить 3 позицию для колонки реклама, чтобы...

Новая позиция в шаблоне. Joomla 1.5
Вечер добрый! Как добавить новую позицию в шаблон gk-yourshop? Как 2й логотип, но указать для него новое место, новую фотку и новую...

Сайт съезжает при масштабировании и при изменении размера браузера
Здравствуйте. Делал задание одно, все получилось, но в конце, когда начал проверять, что будет если уменьшить размер окна браузера или...

22
 Аватар для Nosey
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
09.06.2016, 16:16
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от BeginerMan Посмотреть сообщение
Мне получается надо приписать 3 число к вектору ? И что за число.
1 - число один
Цитата Сообщение от BeginerMan Посмотреть сообщение
И как применить преобразования матрицы на мой вектор ?
Умножить матрицу на вектор.

Т.е.: (x',y',1) = M*(x,y,1);

Построение матриц : загуглите affine transformation 2d и вы получите очень много вкусных pdf'ок.

И если разговаривать о указателе и обратном преобразовании кординат, то вспоминаем про обратную матрицу :
(x,y,1) = M-1*(x',y',1)
0
 Аватар для Vort_
200 / 200 / 78
Регистрация: 10.07.2012
Сообщений: 409
09.06.2016, 16:54
Ещё хочу добавить, что порядок трансформаций очень важен (в общем случае).
Грубо говоря, "пройти два шага, затем повернуть налево" и "повернуть налево, затем пройти два шага" дадут разный результат.
0
 Аватар для BeginerMan
51 / 50 / 14
Регистрация: 17.11.2012
Сообщений: 427
09.06.2016, 17:02  [ТС]
Спасибо !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.06.2016, 17:02

Смещение при масштабировании
Всем привет! При вёрстке столкнулся с такой проблемой-при масштабировании некоторые элементы смещаются на расстояние, а некоторые остаются....

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

Интерполяция при масштабировании в pictureBox
Как избавиться от интерполяции при масштабировании изображения в pictureBox. Ожидание: А получается:

Глюк при масштабировании шаблона
Есть шаблон http://demo.joomagic.com/business/ Баг заключается в следующем. Если окно браузера сделать не на весь экран, а скажем...

Мерцание контрола при масштабировании
Доброго времени суток! Масштабирую контрол, и он при этом мерцает. Update(), Refresh(), DoubleBuffer ничего не меняют.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru