Найти точку, в зависимости от расположения курсора мыши
Добрый вечер, коллеги. Проблема следующая: есть 3Д модель, которую нужно вращать лицевой частью в зависимости от расположения мыши: вперёд, назад, влево, вправо. Чтобы вращать модель, функция возвращает точку, к которой будет повернута лицевая часть модели. На изображении показаны 4 зоны, при наведении мыши которых будет задано направление. Требуется написать функцию, которая будет определять две точки x и z, в зависимости от расположения курсора мыши в какой-либо зоне, т.е. если мышь расположена в верхней зоне, она должна вернуть точку с координатами x = 0, z = 1. Снизу мой рабочий кусок кода, но чувствую, что его можно сократить чуть ли не до одной строчки, но так как я не силён в математике, обращаюсь к вам. (Ответ принимаю на любом ЯП)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
protected getStrictPointerPosition(pointerPosition: Vector3): Vector3 { let directionX: number = 0; let directionZ: number = 0; let relPointerPositionX: number = pointerPosition.x - this.root.position.x; let relPointerPositionZ: number = pointerPosition.z - this.root.position.z; let absPointerPositionX: number = Math.abs(relPointerPositionX); let absPointerPositionZ: number = Math.abs(relPointerPositionZ); if (relPointerPositionX > 0 && relPointerPositionZ > 0) { if (absPointerPositionX >= absPointerPositionZ) { directionX = 1; } else { directionZ = 1; } } else if (relPointerPositionX 0 && relPointerPositionZ > 0) { if (absPointerPositionX >= absPointerPositionZ) { directionX = -1; } else { directionZ = 1; } } else if (relPointerPositionX 0 && relPointerPositionZ 0) { if (absPointerPositionX >= absPointerPositionZ) { directionX = -1; } else { directionZ = -1; } } else { if (absPointerPositionX >= absPointerPositionZ) { directionX = 1; } else { directionZ = -1; } } return new Vector3(this.root.position.x + directionX, this.root.position.y, this.root.position.z + directionZ); }
Вопросы с меткой [мышь]
Руководство по использованию метки мышь отсутствует.
93 вопроса
Конкурсные
Неотвеченные
- Конкурсные 0
- Неотвеченные
- Цитируемые
- Рейтинг
- Неотвеченные (мои метки)
13 голосов
2k показов
Движение блока по кривой во время прокрутки страницы
Добрый день! Подскажите, пожалуйста, каким образом это сделано. На примере этой страницы — http://krym.dramina.ru (после нажатия кнопки «начать путешествие»). Одновременно при скроллинге страницы вниз .
задан 4 авг 2016 в 13:36
554 показа
Общение с USB-мышью на Windows — как? (обратная разработка)
Здравствуйте! Ситуация вкратце такова: есть USB-мышь, имеющая дополнительную функциональность — переключение режимов чувствительности, в частности. К ней есть программа для Windows от изготовителя, .
задан 18 июн 2013 в 7:05
693 показа
wheel event и сенсорная мышь
Столкнулась с проблемой при отлавливания события wheel при использовании сенсорной мыши. Дело в том что у мыши с колёсиком wheel срабатывает при переключении порога (или как там называется шаг .
задан 30 апр 2015 в 19:34
2k показов
Масштабирование страницы колёсиком мыши
Подскажите, как реализовать масштабирование страницы колёсиком мыши, без применения каких-либо клавиш дополнительно?
задан 25 янв 2014 в 17:08
2k показов
Скрипт Python не кликает в игровом окне
Пишу бота. Есть некое окно игры, куда не проходят клики из Python. Пробовал и ctypes, и autopy и pyautogui. Не хочет и всё, вне окна игры работает замечательно Мало того, что он в самой игре не .
задан 18 мая 2020 в 11:30
2k показов
Горизонтальная прокрутка по ходу вертикальной прокрутки страницы
Добрый день! Подскажите, пожалуйста, каким образом это сделано. На примере этой страницы — http://recruit.aif.ru/#id=3 Во время вертикальной прокрутки страницы как колесиком мыши, так и скроллингом, .
задан 2 июл 2016 в 17:00
3k показов
Самопроизвольное отключение мышки
На ноутбуке самопроизвольно отключается мышка. Происходит это как во время работы, так и после выхода ноутбука из режима сна. Однако после перезагрузки мышь возобновляет работу. Операционная система —.
задан 22 мая 2016 в 7:35
460 показов
Как Drop-нуть объект из окна формы наружу?
Как Drop-нуть объект из окна формы за пределы всех окон своей программы? Например, на рабочий стол или ещё куда. На самом деле, «на что» именно дропнуть, на этом этапе мне не важно, зато важно «куда».
задан 4 июл 2012 в 21:34
680 показов
Синхронизация событий мыши в WPF
Я хочу, чтобы у меня объекты в Canvas двигались при нажатие мыши и перемещение по горизонтали. Всё получается отлично, кроме того, что если я не двигаю мышь и отпускаю левую кнопку, всё успешно, но .
задан 23 ноя 2017 в 14:03
414 показов
Выделение элементов мышкой
Как реализовать такое выделение на React или хотя бы на js ?
задан 3 апр 2021 в 9:32
138 показов
Мышь отправляет сообщения, но куда? Откуда их доставать для использования?
У меня обычный «пустой проект» в VS2019(С++), я нашёл как найти координаты окна и курсора, POINT mouse;//точка с координатами мыши while (1) /тут я просто определяю координаты куда нажал мышкой .
задан 5 янв 2020 в 17:52
916 показов
Как получить девайс мыши/клавиатуры из хука?
Всем привет) Собственно вопрос в сабже. Подробнее: к компу подключено несколько (2+) мышей и клавиатур. Задача в том, чтобы на каждое движение/нажатие иметь какой-то уникальный идентификатор .
задан 29 авг 2012 в 12:55
Как в Delphi в обработчике `OnMouseMove` определить источник события относительный или абсолютный (мышь или планшет)?
У моего ПК есть 2 устройства ввода с которыми я работаю попеременно — мышь и графический планшет (Wacom). Мышь, как известно, генерирует относительные координаты (типа X +5 Y +1), а планшет — .
задан 9 сен 2022 в 19:07
Получить время неподвижности мыши java
Здравствуйте. Нужно получить время простоя мыши на Java. Т.е., чтобы метод (или класс) подсчитывал время неподвижности мыши и возвращал его. Пишу на JavaFX. Может кто сталкивался или знает решение, .
задан 22 ноя 2016 в 13:08
Определение сенсорных устройств Windows
Существует ли возможность через WinAPI узнать, является ли данное устройство сенсорным? Подразумевается не возможность подключить сенсорный ввод, а именно наличие сенсорного экрана. Единственное, что .
задан 24 фев 2015 в 19:36
15 30 50 на странице
-
Важное на Мете
Связанные метки
Подписаться на ленту
Лента вопросов с наивысшим рейтингом по меткам [мышь]
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Показать чувствительность мышки (DPI)
Как в Линуксе показать (или рассчитать) чувствительность мышки?
У меня следующая модель:
Bus 003 Device 008: ID 046d:c062 Logitech, Inc. M-UAS144 [LS1 Laser Mouse]
В сети я, к сожалению, не нашел инфу.
Хочу сравнить мышки по юзабилити в плане DPI.

forest22 ★
21.10.17 13:09:37 MSK
Попробуй что-нибудь из этого. Могу ошибаться.
/usr/sbin/hwinfo --mouse
xinput --list-props
sudo apt install python-pip sudo pip install rivalcfg rivalcfg -l
ult ★
( 21.10.17 13:41:34 MSK )
Ответ на: комментарий от ult 21.10.17 13:41:34 MSK

Пока без успеха.
forest22 ★
( 21.10.17 14:02:05 MSK ) автор топика

Знаю, как узнать/настроить refresh/polling rate в герцах: https://gitlab.com/iankelling/evhz. Задается через параметр ядра usbhid.mousepoll. Но это немного другое.
На счет DPI не знаю. Нужен специфический софт/драйвер для конкретной мыши. В системе оно задается обычно через настройки мыши с «ползунками» скорости, чувствительности и т.д.
Ну а если тебе просто надо:
Хочу сравнить мышки по юзабилити в плане DPI
то смотри в инете их технические характеристики. Как-то так.
Gonzo ★★★★★
( 21.10.17 16:28:37 MSK )
Ответ на: комментарий от ult 21.10.17 13:41:34 MSK

Он вроде только для SteelSeries Rival мышей, как razercfg — для Razer девайсов. Слишком специфично и вряд ли будет работать.
Gonzo ★★★★★
( 21.10.17 16:32:24 MSK )
Ответ на: комментарий от Gonzo 21.10.17 16:32:24 MSK

Именно на эту мышку (Logitech) не могу найти. Разные сведения. Пишут «5000» и «1100». Конечно, скорее 1100.
Шпаргалка по Python для Django
В Python очень много полезных функций, библиотек и других элементов, перечислить которые в одном материале очень сложно. Мы поделимся базовой шпаргалкой по Python, которая ориентирована на создание веб-приложений с фреймворком Django. Сохраняйте статью в закладки, чтобы не потерять!
![]()
Этот набор инструкций напомнит вам об основных операциях с Django, если вы работаете над веб-проектом. Сюда входят такие действия, как установка Django, запуск проекта, работа с моделями, создание домашней страницы, использование шаблонов и создание учётных записей пользователей.
Шпаргалка предназначена для тех, кто уже знаком с Python, понимает, что такое виртуальное окружение, и имеет начальные знания о веб-разработке.
Что такое Django?
Django — веб-фреймворк для создания интерактивных веб-сайтов на Python. В Django вы определяете тип данных, с которыми ваш сайт должен работать, а затем указываете, как пользователи могут взаимодействовать с этими данными. Все описанные ниже действия актуальны для Django 3.0.
Установка Django
Лучше установить Django в виртуальном окружении — virtualenv или pipenv, где ваш проект будет изолирован от других. Большинство команд, приведённых ниже, предполагают, что вы работаете в виртуальной среде.