Мені в дипломній роботі треба навчити комп'ютер визначати швидкість, прискорення, траекторію, пройдений шлях візочка на колесах. Тобто автоматизована система збору даних на фізичних експеремерементах.
Я подумав і вирішив: нащо мені конструювати нову установку, якщо можна використати те що є в кожного під руками.
Я написав оболонку програми на Delphi вона маючи час і пройдений шлях, визначає все що треба і будує графіки.
Виміри часу буде проводити годинник комп'ютера.
Відстань або пройдений шлях, я планую вимірювати мишкою, тобто зв'язати мишку з годинником, і при початкові руху мишки вмикається секундомір і програма починає фіксувати скільки мишка пройшла в тому чи іншому напрямку"по осях координат (x:y). при зупинці мишкисекундомір також зупиняється
А тепер суть проблеми:
мені не получається навчити програму вимірювати пройдену мишкою відстань, я вже не говорю про розкладання її по осях координат.
через що в мене питання!!!!!! Чи можливо взагалі розв'язати дану задачу на Delphi? Якщо ні то на чому буде най легше це зробити?
27 октября 2009 в 12:05
в #14 уже все написал
и ускорение, и траектория, и скорость, и все остальное нормально снимаются при таком методе (по крайней мере в 3D-шутерах мы видим что все эти параметры настраиваемые, например в Квейк)
27 октября 2009 в 12:04
а не приходила мысль то что мышь движется и таймер работает. но мышь может двигаться с разной скоростью-следовательно только координаты.
13 октября 2009 в 20:00
Кажется, еще приемлемо использовать хуки.
13 октября 2009 в 19:05
Ну, по крайней мере начиная с Windows XP, DirectInput внутренне работает через тот же Raw Input (в какой-то статье DirectX SDK было сказано), так что преимуществ не имеет, да и использовать Raw Input на мой взгляд проще.
13 октября 2009 в 18:04
Точно, для такого ввода также можно использовать DirectInput
13 октября 2009 в 18:02
Мда, драйвер это по-моему, перебор Проще использовать сырой ввод (Raw Input), который возвращает данные о перемещении с максимальной точностью, обеспечиваемой мышью, при этом никаких проблем с границами экрана нет. Подробности в MSDN //msdn.microsoft.com/en-us/library/ms645536.
13 октября 2009 в 16:00
та не про планшеты это к тому что он постоянно позиционирует курсор – причем гоооораздо чаще чем мышь или глупые шутеры… и получается что я непрерывно махаю мышкой хотя я вообще не двигаю пером.
13 октября 2009 в 15:02
абсолютно ничем не ограниченная площадка и не требующая позиционирования – фильтр на драйвер мыши (или планшета)
//msdn.microsoft.com/en-us/library/aa973512.aspx
13 октября 2009 в 14:04
[На будущее - тему и посты пишем по-русски]
13 октября 2009 в 14:03
делайте как в три дэ шутерах:
в начале работы программы позиционируем мышь в центр рабочего стола
1) обрабатываем в цикле чтение координат мыши.
2) если мышь сдвинулась от центра, то вычисляем насколько она от центра сдвинулась и прибавляем к общей сумме
3) снова позиционируем мышь в центр, идем в пункт 1
таким образом ты не ограничен площадкой 20 на 20. вообще в принципе ничем не ограничен
13 октября 2009 в 14:03
так вот почему в этих шутерах планшет не работает>:[
13 октября 2009 в 14:02
Есть один косяк. Мышка, как известно, движется только в двух координатах. И если слишком часто вызывать getCursorPos(), получится что мышка едет либо по вертикали, либо по горизонтали (особенно если возить медленно). При этом погрешность может быть (на глазок) в 1.4 раза
13 октября 2009 в 14:00
Но у меня вопрос.
мышка в реальности не покидает пределы экрана, что будет выдавать эта процедура, когда курсор будет пытаться покинуть эти пределы?
13 октября 2009 в 14:00
от 0 до screen.width или чтото типа того, по другому только программно задать координаты.
13 октября 2009 в 14:00
то есть получается что моя коляска на колесах должна будет ездить на площади не более 20х20 см что-ли?
13 октября 2009 в 14:00
напиши что это метры =)
13 октября 2009 в 14:00
логично =).
13 октября 2009 в 13:05
Мне в дипломной работе надо научить компьютер определять скорость, ускорение, траекторию, пройденный путь коляски на колесах. То есть автоматизированная система сбора данных на физических експеремерементах.
Я подумал и решил: зачем мне конструировать новую установку, если можно использовать то что есть у каждого под руками.
Я написал оболочку программы на Delphi она имея время и пройденный путь, определяет все что нужно и строит графики.
Измерения времени будет проводить часы компьютера.
Расстояние или пройденный путь, я планирую измерять мышкой, т.е. связать мышку с часами, и при начальные движения мыши включается секундомер и программа начинает фиксировать сколько мышка прошла в том или ином направлении "по осям координат (x: y) при остановке мишкисекундомир также останавливается
А теперь суть проблемы:
мне не получается обучить программу измерять пройденное мышкой расстояние, я уже не говорю о разложении ее по осям координат.
за чего у меня вопрос !!!!!! Возможно ли вообще решить данную задачу на Delphi? Если нет то на чем будет самым легче это сделать?
13 октября 2009 в 13:05
Вкратце. Мне надо с помощью компьютерной мыши измерять расстояния которое она проедет, то есть мышь.
13 октября 2009 в 13:05
getcursorpos() вызываешь раз в 10 милсекунд например и смотришь координаты.. сравниваешь с предыдущими – получаешь .. ну ты понял идею.
13 октября 2009 в 13:05
Да, ясно. Спасибо!! Буду пробовать.
13 октября 2009 в 13:05
посмотри в гугле про горячие клавиши
будет удобнее чтобы запись вести
13 октября 2009 в 13:04
а по русски?