Оператор | Описание |
---|---|
+ | Сложение |
- | Вычитание |
% | Модуль с плавающей точкой |
* | Умножение |
/ | Деление |
^ | Возведение в степень |
() | Круглые скобки |
. | Десятичный разделитель |
При вычислении выражений используется следующий стандартный порядок расчета:
Операторы в стандартном порядке:
Функция | Комментарий |
---|---|
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) | FmtSuper() - возвращает rtf текст форматированный как Superscript(верхний индекс) Text может быть строкой или числом |
FmtSuper(Text) | FmtSub() - соответственно, для Subscript (нижний индекс). 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." |