| Оператор | Описание |
|---|---|
| + | Сложение |
| - | Вычитание |
| % | Модуль с плавающей точкой |
| * | Умножение |
| / | Деление |
| ^ | Возведение в степень |
| () | Круглые скобки |
| . | Десятичный разделитель |
При вычислении выражений используется следующий стандартный порядок расчета:
Операторы в стандартном порядке:
| Функция | Комментарий |
|---|---|
| cos(alfa) |
Тригонометрическая функция косинуса. alfa - угол в градусах. Возвращает вещественное число. |
| sin(alfa) |
Тригонометрическая функция синуса. alfa - угол в градусах. Возвращает вещественное число. |
|
tg(alfa) tan(alfa) |
Тригонометрическая функция тангенса. alfa - угол в градусах. Возвращает вещественное число. |
|
int(value) trunc(value) |
Функция округления вещественного числа до целого. Дробная часть числа отсекается. value - вещественное число. Возвращает целое число. |
|
DegToRad(deg) d2r(deg) |
Функция конвертации градусов в радианы. deg - угол в градусах. Возвращает радианы. |
|
RadToDeg(rad) r2d(rad) |
Функция конвертации радиан в градусы. rad - угол в радианах. Возвращает градусы. |
| abs(value) | Функция получения модуля числа. |
|
rtg(rad) |
Тригонометрическая функция тангенса. rad - угол в радианах. Возвращает вещественное число. |
| acos(c) |
Обратная тригонометрическая функция косинуса. c - число. Возвращает угол в градусах. |
| asin(c) |
Обратная тригонометрическая функция синуса. c - число. Возвращает угол в градусах. |
|
atg(c) atan(c) |
Обратная тригонометрическая функция тангенса. c - число. Возвращает угол в градусах. |
|
sqrt(value) |
Функция квадратного корня из числа. |
|
min(a,b) |
Функции получения минимального числа из пары чисел a и b. |
|
max(a,b) |
Функции получения максимального числа из пары чисел a и b. |
|
iff(expr, a, b) |
Функция - аналог логического оператора if. Возвращает a, если результат выражения expr >= 1, иначе b. |
|
real(val) |
Функция преобразования значения в вещественное число. |
|
string(val) |
Функция преобразования значения в строку. |
|
log(val) |
Функция вычисления десятичного логарифма, где val - вещественное число больше 0. |
| sinh | Гиперболический синус |
| cosh | Гиперболический косинус |
| tanh | Гиперболический тангенс |
| asinh | Гиперболический арксинус |
| acosh | Гиперболический арккосинус |
|
atanh |
Гиперболический арктангенс |
|
exp |
Степень, основание е |
|
exp10 |
Степень, основание 10 |
|
ln |
Логарифм, основание е |
|
pow |
Функция возведения в степень |
|
floor |
Округление в меньшую сторону |
|
ceil |
Округление в большую сторону |
|
round |
Округление до ближайшего целого числа |
|
sign |
Функция определения знака числа 1-положительное, -1 - отрицательное, 0 - ноль. |
| Функция | Комментарий |
|---|---|
| VecLen(vec) |
Функция получения длины вектора vec. |
| VecUnit(vec) | Функция получения нормированного вектора (единичной длины) из vec. |
| anglePi(vec1, vec2) | Функция возвращает угол между векторами vec1 и vec2 в интервале от 0 до PI. |
| angleTwoPi(vec1,vec2) | Функция возвращает угол между векторами vec1 и vec2 в интервале от 0 до 2*PI. |
| rotateBy(vec1,rAngle,vecNormal) | Функция выполняет поворот вектора vec1 на угол rAngle (в градусах) в плоскости, имеющей нормаль vecNormal. Возвращает результат операции. |
| getPerpendicular(pnt1,pnt2,pntFrom,pntBase) | Функция возвращает длину перпендикуляра, построенного из точки pntFrom на прямую, заданную точками pnt1 и pnt2. В переменной pntBase возвращается точка основания полученного перпендикуляра на указанной прямой. |
| getMiddle(pnt1, pnt2) | Функция возвращает точку середины отрезка, заданного точками pnt1 и pnt2 |
| getPerp(vec) | Функция возвращает вектор ортогональный вектору vec. |
|
getMirrowPnt(pnt1,pnt2,pnt3) |
Функция возвращает зеркальную версию точки pnt3 относительно оси заданной точками pnt1 и pnt2 |
| getLinesIntersect(pnt1,vec1,pnt2,vec2) getLinesIntersect(pnt11,pnt12,pnt21,pnt22) |
Функция возвращает точку пересечения прямых задаваемых либо парами точек [pnt11,pnt12] и [pnt21,pnt22] либо точкой и вектором: [pnt1,vec1] и [pnt2,vec2]. Если прямые не пересекаются, то в возвращаемой точке координата Z равна -1. |
|
Point() Point(x, y, z) Point(plane) |
Функция возвращает точку. Может использовать в качестве конструктора точки. Без аргументов возвращает точку P(0,0,0). Если аргумент - плоскость, то извлекает из нее базовую точку. |
|
Vector() Vector(x, y, z) Vector(plane) |
Функция возвращает вектор. Может использовать в качестве конструктора вектора. Без аргументов возвращает вектор V(1,0,0). Если аргумент - плоскость, то извлекает из нее нормаль. |
| Plane(pntBase,vecNormal) |
Функция - конструктор плоскости. Возвращает плоскость, проходящую через точку pntBase и имеющую нормаль vecNormal. |
| VecCodirect(vec1,vec2) | Функция проверки сонаправленности векторов vec1 и vec2. Возвращает 1 если vec1 сонаправлен vec2, иначе 0. |
| projectOnPlane(pnt,plane2,rDistance) projectOnPlane(plane1,plane2,rDistance) |
Функция возвращает проекцию точки pnt на плоскости, находящейся на расстоянии rDistance от плоскости plane2. Если в качестве первого аргумента передается плоскость, то функция вернет плоскость, проходящую через проекцию точки Point(plane1) на плоскости, находящейся на расстоянии rDistance от плоскости plane2, и имеющую вектор нормали, совпадающий с вектором нормали плоскости plane2. |
| getLocalNormal(vec1,vec2) |
Функция возвращает векторное произведение вектора vec1 на вектор vec2. |
| FmtText(text, number, formated_text,...,) |
Возвращает rtf текст, если среди параметров есть хотя бы один форматированный, обычный - в противном случае. На вход функции может подаваться переменное количество параметров, в качестве параметров могут использоваться выражения. |
| FmtSub(Text) |
FmtSub() - соответственно, для Subscript (нижний индекс). Text может быть строкой или числом |
| FmtSuper(Text) | FmtSuper() - возвращает rtf текст форматированный как Superscript(верхний индекс) Text может быть строкой или числом. |
| FmtDiv(Text1, Tex2, Splash) | FmtDiv() - возвращает дробь, если Splash != 0 то у дроби будет разделитель. Пример использования: a = "super";
b= 1;
c = 3;
strPosition = FmtText(
"Начало текста ",
"Верхний индекс-", FmtSuper(a),
"Нижний индекс-", FmtSub("sub"),
" Дальше просто текст ",
"Дробь- ",FmtDiv(b, c, TRUE),
"Дробь без разделителя-",FmtDiv(b, c, FALSE)
);
|
| FmtDigit(rNumber, rDelimeter) |
Возвращает строку форматированным десятичным разделителем. rNumber - число или строка, содержащая число, если rDelimeter == 0 то разделитель - точка, если rDelimeter == 1 то разделитель запятая, если rDelimeter == 2 то разделитель берется из системных настроек. Пример: a = 1.5; Formatted = FmtDigit(a, 1)На выходе Formatted = "1,5" |
| Вычитание точки из плоскости |
Пример: d = WP - pnt; Операция возвращает знаковое расстояние точки pnt от плоскости WP. Если точка pnt находится со стороны, куда указывает нормаль плоскости WP, то расстояние положительное, иначе - отрицательное. |
| Форматирование строки числами |
К строковой переменной можно «добавить» число - результатом будет строка. Пример: A = 1; B = 5; Str = "Type " + A + ". Modification " + B + "."; Результатом будет строка "Type 1. Modification 5." |