Форум: "Прочее";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
ВнизПодскажите программу для измерения расстояния Найти похожие ветки
← →
Карелин Артем © (2006-01-10 12:46) [0]между точками на экране.
Самому делать времени/желания нет. Нужно просто расстояние в пикселях и все.
← →
Думкин © (2006-01-10 12:48) [1]Фотошоп наверное или Маткад. Не знаю.
← →
syte_ser78 © (2006-01-10 12:51) [2]Да это очень сложная программа... :)
примерно следующего содержания
лабел1.каптион=sqrt(sqr(х-х_олд)-sqr(y-y_олд));
где х=моусе.курсорпоз.х
аналогично для у
И это вре запихнуть в обработчик таймера.
← →
syte_ser78 © (2006-01-10 12:53) [3]sqrt(sqr(х-х_олд)+sqr(y-y_олд));
есесно
← →
Карелин Артем © (2006-01-10 13:04) [4]
> syte_ser78 © (10.01.06 12:51) [2]
Еще отслеживать тыки/перемещения мыши в неклиентской части экрана. Честно - не занимался ловлей таких событий и не хочу.
← →
Барлог(с) (2006-01-10 13:09) [5]Если наро расстояние на рисунке померить - сними скриншот и вставь на форму.
← →
Карелин Артем © (2006-01-10 13:13) [6]На экране надо. Пока скриншоты делаю и в пайнт.
← →
DiamondShark © (2006-01-10 13:13) [7]
> syte_ser78 © (10.01.06 12:53) [3]
> sqrt(sqr(х-х_олд)+sqr(y-y_олд));
. . . . . .
. . . . * .
. . . . . .
. . . . . .
. * . . . .
. . . . .
.
не работает формула ;)
← →
Джо © (2006-01-10 13:34) [8]
Distance := Sqrt (Sqr(Pt1.x-Pt2.x)+Sqr(Pt1.y-Pt2.y))
← →
Джо © (2006-01-10 13:36) [9]Сорри, как-то проглядел [3] syte_ser78 ©
← →
Ломброзо © (2006-01-10 13:38) [10]Карелин Артем © (10.01.06 13:04) [4]
А формочку полупрозрачную поверх всего и на весь экран и на ней мерять. Выход - по Esc
← →
syte_ser78 © (2006-01-10 14:21) [11]Карелин Артем © (10.01.06 13:04) [4]
Неклиентская в смысле то что не в форме или то что не влезло в экран?
Если в первом смысле то алгоритм прокатит.
← →
DiamondShark © (2006-01-10 14:29) [12]
> Джо © (10.01.06 13:34) [8]
>
> Distance := Sqrt (Sqr(Pt1.x-Pt2.x)+Sqr(Pt1.y-Pt2.y))
Если Pt1 = (0,0), Pt2=(100,100) формула даёт 141,42
А если пальцем по точкам посчитать, то там ровно 100
← →
Карелин Артем © (2006-01-10 14:31) [13]
> syte_ser78 © (10.01.06 14:21) [11]
За пределами формы.
Как-то встречал в нете программу для вэб-мастера. Там экранная линейка была удобная и еще пара простеньких, но полезных приблуд. Думал подскажет кто это дело...
← →
Джо © (2006-01-10 14:36) [14]> [12] DiamondShark © (10.01.06 14:29)
> Если Pt1 = (0,0), Pt2=(100,100) формула даёт 141,42
> А если пальцем по точкам посчитать, то там ровно 100
Вывод: не нужно считать пальцем по точкам :)
А если серьезно, то понятие "расстояние по диагонали в пикселах" требует уточнения, конечно.
← →
Юрий Зотов © (2006-01-10 14:46) [15]А задача вообще-то решение имеет?
Пусть расстояние по X - 50 пикселей, по Y - 70 пикселей. Сколько пикселей будет по диагонали?
Ответ: уж точно не целое число. А "дробные пиксели" - это как-то что-то не то, видимо.
Так что решение есть только тогда, когда обе точки лежат на горизонтали, вертикали или диагонали квадрата. И оно тривиально.
← →
Хинт © (2006-01-10 14:51) [16]var
pt1,pt2:TPoint;
...
function Distance:integer;
begin
result:=Round(sqrt(sqr(pt1.x-pt2.x)+sqr(pt1.y-pt2.y)));
end;
...
procedure ...
begin
GetCursorPos(pt1);
end;
procedure ...
begin
GetCursorPos(pt2);
end;
← →
DiamondShark © (2006-01-10 14:52) [17]
> А если серьезно, то понятие "расстояние по диагонали в пикселах"
> требует уточнения, конечно.
Если взять самое общее понятие "расстояние", как "кратчайший из возможных путей", то сразу видно, что в дискретном пространстве возможно два типа путей, в зависимости от того, какие точки считать соседними, -- четырёхсвязный и восьмисвязный.
Для четырёхсвязных путей расстояние бедет abs(x1-x2) + abs(y1-y2)
Для восьмисвязных -- max(abs(x1-x2), abs(y1-y2))
← →
Ega23 © (2006-01-10 14:59) [18]Screen надо использовать, вроде...
← →
Jeer © (2006-01-10 16:32) [19]CoolRuler.exe поищи.
← →
Джо © (2006-01-10 17:11) [20]А ведь, с другой стороны, почему допустимо считать расстояние только в целых пикселах? Например, разработчики GDI+ спокойно ввели в библиотеку возможность использования координат, заданных вещественными числами.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.038 c