Point distance
Описание
Возвращает расстояние между двумя точками в виде дробного числа, представленного строкой.
Синтаксис
Привязка к окну: нет. <br>Работа со свернутым окном: да.
point_distance (<#x1> <#y1> <#x2> <#y2>)
<#x1>, <#y1> - координаты x и y 1-й точки <br><#x2>, <#y2> - координаты x и y 2-й точки.
Примеры
// пример использования 1 set #x1 0 // координаты 1-й точки set #y1 0 set #x2 3 // координаты 2-й точки set #y2 5 set $d point_distance(#x1 #y1 #x2 #y2) // получили дробное число в виде строки set #dist round( $d ) // округлили число в виде текста до ближайшего целого числа msg Округлённое расстояние $d = #dist end_script
// пример использования 2 // поиск ближайшей к персу точки set linedelay 1 // устанавливаем задержку между строк в 1 мс set #persX 10 // координаты перса set #persY 10 init_arr %a(1) 3 2 // координаты X Y 1-й точки init_arr %a(2) 16 14 // координаты X Y 2-й точки init_arr %a(3) 25 30 // координаты X Y 3-й точки //init_arr %a(1 2) 3 2, 16 14, 25 30 // а можно было и в одну строчку сделать set #min 9999999 // тут будем подбирать расстояние set #minNum -1 // тут будем хранить номер строки массива с "оптимальными" координатами set #a size(%a) // число строк в массиве %a for #i 1 #a set #x %a[#i 1] set #y %a[#i 2] log x=#x, y=#y // записали данные в лог (для справки) set $d point_distance(#persX #persY #x #y ) // получили дробное число в виде строки set #dist round( $d ) // округлили число в виде текста до ближайшего целого числа log #dist // записали данные в лог (для справки) if #dist < #min set #min #dist set #minNum #i end_if end_for if #minNum > 0 msg Ближайшая точка № #minNum, расстояние = #min else msg Почему-то не удалось найти ближайшую точку end_if end_script
Смотрите также
mod (x y) - Возвращает остаток от деления 'x' на 'y'. <br>div (x y) - Возвращает целую часть от деления 'x' на 'y'.
История развития
2.32 <br>Добавил несколько ненужных функций обработки вещественных чисел и строковых переменных. Десятичным разделителем считается запятая. <br>Почти все функции при ошибках возвращают '-1'. <br>abs(x) - Возвращает абсолютную величину x. <br>round(x) - Возвращает x, округлённый до самого близкого целого числа. <br>floor(x) - Возвращает x округлённый до ближайшего целого числа, которое меньше x. <br>ceil(x) - Возвращает x округлённый до ближайшего целого числа, которое больше x. <br>frac(x) - Возвращает дробную часть x, то есть часть, стоящую позади десятичной точки. <br>sqrt(x) - Возвращает квадратный корень из абсолютного значения x. <br>power(x n) - Возвращает x в степени n. <br>exp(x) - Возвращает e в степени x. <br>ln(x) - Возвращает натуральный логарифм от x. <br>log(n x) - Возвращает логарифм от x по основанию n. <br>sin(x) - Возвращает синус x (в радианах). <br>cos(x) - Возвращает косинус x (в радианах). <br>tan(x) - Возвращает тангенс x (в радианах). <br>arcsin(x) - Возвращает арксинус x. <br>arccos(x) - Возвращает арккосинус x. <br>arctan(x) - Возвращает арктангенс x. <br>degtorad(x) - Преобразовывает градусы в радианы. <br>radtodeg(x) - Преобразовывает радианы в градусы. <br>trunc(x) - Отбрасывает дробную часть. <br>minx(val1 val2 val3 ...) - Возвращает минимальную из величин. <br>maxx(val1 val2 val3 ...) - Возвращает максимальную из величин. <br>mean(val1 val2 val3 ...) - Возвращает среднее арифметическое. <br>point_distance(x1 y1 x2 y2) - Возвращает расстояние между точкой (x1,y1) и (x2,y2). <br>point_direction(x1 y1 x2 y2) - Возвращает угол (в градусах) между осью X и вектором с началом в точке (x1,y1) и окончанием в точке (x2,y2). <br>lengthdir_x(len dir) - Возвращает горизонтальный x-катет вектора определённый указанной длиной и направлением. <br>lengthdir_y(len dir) - Возвращает вертикальный y-катет вектора определённый указанной длиной и направлением. <br>в lengthdir_x и lengthdir_y направление dir задаётся в градусах, причем отсчет угла идет от направления "Север" (от оси Y). По часовой стрелке "+", против часовой "-". <br>is_real(x) - Возвращает 1, если x число. <br>is_string(x) - Возвращает 1, если x является строкой (не число). <br>chr(val) - Возвращает символ с ASCI кодом val. <br>ord(str) - Возвращает ASCI код первого символа в строке str. <br>string_replace(str substr newstr [all]) - Возвращает строку str, в которой встречающаяся подстрока substr будет заменена на подстроку newstr. <br>string_count(substr str) - Возвращает число, показывающее, сколько раз подстрока substr встречается в строке str. <br>string_lower(str) - Возвращает строку str, записанную маленькими буквами. <br>string_upper(str) - Возвращает строку str, записанную большими буквами. <br>string_letters(str) - Возвращает строку str, выбрасывая из неё все числа. <br>string_digits(str) - Возвращает строку str, выбрасывая из неё все буквенные символы. <br>Pi - 3,1415926535897932385.