Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.05;
Скачать: CL | DM;

Вниз

задача с оффсетом   Найти похожие ветки 

 
Batoon   (2004-08-17 22:55) [0]

такая вот "задачка":
Есть дуга, из центра ее к самой дуге проведена прямая, например, как аналоговый метер, на старых магнитофонах стояли еще.
Когда пользователь щелкает на на каком-то участке, то линия должна закончиться на этой дуге в позиции курсора и выдать мне значение. У меня есть хороший компонент TA3nalogGauge. У него есть свойства mousedown,mousemove,mouseup. Подскажите что-нибудь, что бы осуществить такую функцию.


 
akvilon ©   (2004-08-17 23:23) [1]

Ну а в чем проблема? Есть координаты центра дуги, координаты щелчка мыши пользователем. Рассчитать угол и нарисовать прямую, используя элементарную геометрю. Чтобы линия не выскочила за дугу, можно задать отсекающий регион.


 
akvilon ©   (2004-08-17 23:23) [2]

Ну а в чем проблема? Есть координаты центра дуги, координаты щелчка мыши пользователем. Рассчитать угол и нарисовать прямую, используя элементарную геометрю. Чтобы линия не выскочила за дугу, можно задать отсекающий регион.


 
Batoon   (2004-08-17 23:35) [3]

а как расчитать угол


 
akvilon ©   (2004-08-17 23:47) [4]

допустим (x0,y0) - координаты центра
(x, y) - сюда кликнул пользователь
Тогда угол A считается из формулы:
tgA = (y - y0) / (x - x0) вот и все :)
A = arcTan(tgA);



Страницы: 1 вся ветка

Текущий архив: 2004.09.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.048 c
14-1092570661
GanibalLector
2004-08-15 15:51
2004.09.05
Оса укусила прямо в глаз


1-1092884302
FastByte
2004-08-19 06:58
2004.09.05
Картинки в Excel


11-1080229086
Sewix
2004-03-25 18:38
2004.09.05
ListView ScrollBar


3-1092308994
Руслан
2004-08-12 15:09
2004.09.05
Как проверить существует ли заданная запись в базе?


4-1090317648
TRyaSS
2004-07-20 14:00
2004.09.05
COM-порт.Немогу записать в порт.