Автокликер Clickermann :: Форум
Основной раздел => Предложения => Topic started by: Сергей on October 18, 2012, 12:18:09 AM
-
Предлагаю добавить дополнительные математические и тригонометрические функции. Согласитесь, куда же без тригонометрических функций в языке который работает с двумерным пространством?
Для начала:
atan2($x, $y) - Для вычисление угла между точками. Использование: $angle = atan2($x1-$x2, $y1-$y2)
tan($angle) - Тангенс. Косинус и синус есть, а без тангенса куда?
atan($value) - Обратный тангенс. Как в лучших языках Европы.
acos($value) - Обратный косинус.
asin($vlaue) - Обратный синус.
C тригонометрическими разобрались. Теперь алгебраические:
abs($value) - Модуль числа. Очень удобно вычислить его одной функцией.
floor($value, $prec) - Округляет число вниз. round есть, а floor нету, как же так? $prec - точность как и в round($value, $prec).
ceil($value, $prec) - Округляет число вверх. Тоже в дополнение к round. $prec - точность.
min($value1, $value2[, ...]) - Возвращает самое маленькое число из всех переданных аргументов.
max($value1, $value2[, ...]) - Возвращает самое большое число из всех переданных аргументов.
Необязательные функции, наличие которых не критично, но хотелось бы:
pow($value, $exponent) - Возведение числа в степень.
nthrt($value, $n) - $n-ный корень числа. Вроде как и не нужен, но если вдруг понадобится то придется ужасные велосипеды городить.
ln($value) - Натуральный логарифм. Не знаю зачем он тут может пригодится, но во многих языках есть.
Так же в добавок ко всему этому хотелось бы в файле констант по умолчанию видеть:
PI - Число пи.
Необязательно:
PI_2 - Половина числа пи.
SQRT2 - Квадратный корень из двух. Используется достаточно часто, хоть можно вычислять напрямую с помощью функции sqrt.
SQTR1_2 - Квадратный корень из 1/2. Ещё может быть вычислен как sin(45). Из той же оперы.
-
ой ой. целый раздел справки придется писать же. не говоря уже о реализации. думаешь кому то они понадобятся?
многие вещи (тот же tg = sin / cos) можно реализовать косвенно. флор и цеил это просто прибавить 0.5 или отнять, потом округлить раундом.
возведение в степень через цикл. применение для мин и макс вообще не вижу.
зачем перегружать кликер? для какого сценария это может понадобится?
-
Удобство же. Так сказать функциональный "сахар". Реализация не думаю что прям такая сложная, sin и cos же есть.
Примеры для min и max вот так вот сходу привести сложно, но они бы пригодились. floor и ceil и приходится вот такими не очевидными мерами эмулировать.
А вообще запили полноценные пользовательские функции с возвращаемыми значениями, тогда это все можно сторонним инклудом реализовать.
-
Громоздко всё это и сейчас можно реализовать.
Однозначно ЗА пользовательские функции, но если выше описанные будут ядрёные (в смысле прописанные в ядре), то работать будут быстрее.
По части перегрузки кликера. HWND и colormode добавляют целостности, и математика тоже!
По части написания справки - так может и энтузиасты найдутся.
Понадобиться это может тогда когда стоит задача произвести какие-то креативные действия.
Например кликер-рисовальщик.
-
1) Громоздко всё это и сейчас можно реализовать.
2) задача произвести какие-то креативные действия.
Например кликер-рисовальщик.
1) Хмм... была нужда решить такого рода задачу.
Просто вызывал калькулятор тем же 4.5 и возводил в любые, нужные мне степени.
Вроде проблемы-то нет.
2)Вот это уже интереснее.
Например задача : если на фото есть голубые глаза, подрисуй усы)
-
А что запросто: Загрузка фото в редактор;
Анализ;
Креатив-рисование;
Сохранение;
Загрузка следующего;
;D ;D
Голубоглазые с усами
Сероглазые с бородой
Кареглазые с румянцем
Зеленоглазые с короной
-
+1, алгебраические, думаю, несложно было бы реализовать. В справке можно добавить раздел продвинутых функций, объяснение которых было бы простым, хватит и сказанного в теме. Кому будет нужно -- нагуглит непонятное