![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
AD |
![]()
Сообщение
#21
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
AD, сделай курсор графика там всё и увидишь. А как сделать курсор графика? Подскажи, пожалуйста. Раньше не делал никогда... Хочу чтобы курсор представлял собой точку и бегал за кончиком указатель мыша. Это возможно? Сообщение отредактировал AD - 17.7.2009, 14:14 |
|
|
AD |
![]()
Сообщение
#22
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
А есть какие-нибудь примеры с курсором графика? Я не знаю с чего начать его делать.... Что именно надо сделать, чтобы он был?
Сообщение отредактировал AD - 20.7.2009, 12:51 |
|
|
BRE |
![]()
Сообщение
#23
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
У нас есть виджет на котором рисуется график.
Его размер в точках - sizeWidget, пусть будет sizeWidget.x = 200, sizeWidget.y = 100. Есть позиция мыши внутри этого виджета, пусть будет posMouse.x = 180, posMouse.y = 23. Есть размер системы координат графика sizeGraph, пусть будет sizeGraph.x = 1000, sizeGraph.y = 200. Что бы получить значение координаты мыши делаем: point.x = posMouse.x * sizeGraph.x / sizeWidget.y -> point.x = 180 * 1000 / 200 = 900. График рисуется по формуле y = f(x), подставляем полученное значение по горизонтали и получаем point.y. Сообщение отредактировал BRE - 21.7.2009, 13:38 |
|
|
AD |
![]()
Сообщение
#24
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
У нас есть виджет на котором рисуется график. Его размер в точках - sizeWidget, пусть будет sizeWidget.x = 200, sizeWidget.y = 100. Есть позиция мыши внутри этого виджета, пусть будет posMouse.x = 180, posMouse.y = 23. Есть размер системы координат графика sizeGraph, пусть будет sizeGraph.x = 1000, sizeGraph.y = 200. Что бы получить значение координаты мыши делаем: point.x = posMouse.x * sizeGraph.x / sizeWidget.y -> point.x = 180 * 1000 / 200 = 900. График рисуется по формуле y = f(x), подставляем полученное значение по горизонтали и получаем point.y. Дело в том, что приблизительно такой алгоритм и используется.
initXY(&events -> pos()) - как раз и переводит в координаты графика. Что указанная функция initXY работает правильно - я уверен - проверено и давно. Все дело в координатах events -> pos(), которые выдаются с погрешностью, которая недопустима. |
|
|
BRE |
![]()
Сообщение
#25
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Все дело в координатах events -> pos(), которые выдаются с погрешностью, которая недопустима. Ты уверен, что эти координаты возвращаются с погрешностью? ![]() Попробуй добавить вывод в консоль этих координат и посмотреть что выводиться. P.S. Покажи функцию initXY. Сообщение отредактировал BRE - 21.7.2009, 15:06 |
|
|
AD |
![]()
Сообщение
#26
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
P.S. Покажи функцию initXY. Без проблем. Реализация этой функции в большей степени переписана из Бланшета и Саммерфилда:
|
|
|
BRE |
![]()
Сообщение
#27
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Без проблем. Реализация этой функции в большей степени переписана из Бланшета и Саммерфилда: А как определены spanX() и spanY()? --- Попробуй так:
Сообщение отредактировал BRE - 21.7.2009, 17:17 |
|
|
AD |
![]()
Сообщение
#28
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Так и определены ![]() А функцию initXY(), попробую сейчас. |
|
|
AD |
![]()
Сообщение
#29
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Ну... алгоритм ведь тот же. Единицу ток не вычитаем. Ничего не изменилось. Нет плавного перемещения визира.
|
|
|
BRE |
![]()
Сообщение
#30
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 17.5.2025, 12:27 |