Другие языки программирования и технологии

Наведение курсора на оружность

Есть задачка : рисуем несколько окружностей, при наведении курсора уничтожать окружность. Как это реализовать?
Запоминаем окружности в массив:
type mType = record X, Y, R : Integer; Vis : Boolena; end; { координаты центра и радиус + видимость }
var Okr : array [1..Size] of mType;
...
{ для N-ой окружности }
Okr[N].X := X; Okr[N].Y := Y; Okr[N].R := R; Okr[N].Vis := True;
В обработке перемещений мыши исходя из координат курсора X и Y :
for N := 1 to Size do
if Okr[N].Vis then
if (X-Okr[N].X)*(X-Okr[N].X)+(Y-Okr[N].Y)*(Y-Okr[N].Y) <= R*R then { расстояние от координат X,Y до центра окружности <= радиуса окружности }
begin
... { погасить окружность }
Okr[N].Vis := False; { запомнить, что окружность погашена }
end;
ЕП
Е. Пумпурс
55 424
Лучший ответ
Берем и учим математику старших классов (: Точный ответ дать не смогу, но дам понять куда копать.
Попробуйте решить задачу: дана окружность O в точке (0, 0) с радиусом R, и точка с координатами (x, y). Определите, лежит ли точка внутри окружности O. Как один из способов решения: вычислить длину отрезка, соединяющего координаты окружности (0, 0) и точку (x, y). Если этот отрезок равен или меньше радиуса - точка лежит на этому круге (: В программе - следует удаление объекта через Free либо Destroy. Решили задачу - получили алгоритм решения - реализовали все программно.
Необходимо знание html программирование

Похожие вопросы