
Алгоритмы построения кривой Безье на языках С и Паскаль / bezier.vb6 / libs / ap.russian
.htmlБиблиотека AP для Visual Basic 6 Библиотека AP для Visual Basic 6 Этот документ описывает библиотеку AP, адаптированную для Visual Basic 6. Библиотека AP для Visual Basic 6 содержит базовый набор математических функций и констант, которые требуются для работы программ с сайта "Библиотека алгоритмов".
Совместимость Данная библиотека разработана только для VB 6. Она не обязана быть совместима с более ранними версиями компилятора или с Visual Basic NET.
Состав и использование В состав библиотеки входит единственный модуль ap.bas Для использования библиотеки достаточно подключить этот модуль к проекту.
Описание библиотеки AP Константы
Функции
Операции с комплексными числами
Константы MachineEpsilon
Эта константа определяет точность машинных операций, т.е. минимальное число, такое, что 1+MachineEpsilon≠1 на данной разрядной сетке. Константа может быть взята "с запасом", т.е. реальная точность может быть ещё выше.
MaxRealNumber
Эта константа определяет максимальное положительное вещественное число, представимое на данной машине. Константа может быть взята "с запасом", т.е. реальная граница может быть ещё выше.
MinRealNumber
Эта константа определяет минимальное положительное вещественное число, представимое на данной машине. Константа может быть взята "с запасом", т.е. реальная граница может быть ещё ниже.
Функции Public Function MaxReal(ByVal M1 As Double, ByVal M2 As Double) As Double
Возвращает максимум из двух вещественных чисел.
Public Function MinReal(ByVal M1 As Double, ByVal M2 As Double) As Double
Возвращает минимум из двух вещественных чисел.
Public Function MaxInt(ByVal M1 As Long, ByVal M2 As Long) As Long
Возвращает максимум из двух целых чисел.
Public Function MinInt(ByVal M1 As Long, ByVal M2 As Long) As Long
Возвращает минимум из двух целых чисел.
Public Function ArcSin(ByVal X As Double) As Double
Арксинус (возвращает угол в радианах).
Public Function ArcCos(ByVal X As Double) As Double
Арккосинус (возвращает угол в радианах).
Public Function SinH(ByVal X As Double) As Double
Гиперболический синус.
Public Function CosH(ByVal X As Double) As Double
Гиперболический косинус.
Public Function TanH(ByVal X As Double) As Double
Гиперболический тангенс.
Public Function Pi() As Double
Возвращает значение числа π.
Public Function Power(ByVal Base As Double, ByVal Exponent As Double) As Double
Возвращает Base в степени Exponent (введено для совместимости).
Public Function Square(ByVal X As Double) As Double
Возвращает x2.
Public Function Log10(ByVal X As Double) As Double
Возвращает десятичный логарифм X.
Public Function Ceil(ByVal X As Double) As Double
Самое маленькое целое число, большее или равное X.
Public Function RandomInteger(ByVal X As Long) As Long
Возвращает случайное целое число в полуинтервале [0, I).
Public Function Atn2(ByVal Y As Double, ByVal X As Double) As Double
Аргумент комплексного числа X + iY. В диапазоне от -π до π.
Операции с комплексными числами Поскольку Visual Basic 6.0 не поддерживает перегрузку операторов, операции с комплексными числами не могут осуществляться так же легко, как и встроенными типами данных. Поэтому в библиотеке определен тип данных Complex, представляющий собой запись с двумя вещественными полями x и y, операции с которым осуществляются путем вызова функций, реализующих операции сложения, умножения, вычитания и деления, и принимающих как комплексные, так и вещественные параметры, и возвращающих комплексные результаты. Список этих функций приведен ниже.
Public Function C_Add(Z1 As Complex Z2 As Complex):Complex
Public Function C_AddR(Z1 As Complex R As Double):Complex
Эти функции вычисляют суммы Z1+Z2 или Z1+R.
Public Function C_Sub(Z1 As Complex Z2 As Complex):Complex
Public Function C_SubR(Z1 As Complex R As Double):Complex
Public Function C_RSub(R As Double, Z1 As Complex):Complex
Эти функции вычисляют разности Z1-Z2, Z1-R или R-Z1.
Public Function C_Mul(Z1 As Complex Z2 As Complex):Complex
Public Function C_MulR(Z1 As Complex R As Double):Complex
Эти функции вычисляют произведения Z1*Z2 или Z1*R.
Public Function C_Div(Z1 As Complex Z2 As Complex):Complex
Public Function C_DivR(Z1 As Complex R As Double):Complex
Public Function C_RDiv(R As Double, Z2 As Complex):Complex
Эти функции вычисляют отношения Z1/Z2, Z1/R или R/Z2. Деление осуществляется с использованием т.н. "безопасного" алгоритма, который никогда не приводит к переполнению при вычислении промежуточных результатов.
Public Function C_Equal(Z1 As Complex Z2 As Complex):Boolean
Public Function C_EqualR(Z1 As Complex R As Double):Boolean
Public Function C_NotEqual(Z1 As Complex Z2 As Complex):Boolean
Public Function C_NotEqualR(Z1 As Complex R As Double):Boolean
Эти функции сравнивают Z1 и Z2 или Z1 и R.
Public Function C_Complex(X As Double):Complex
Эта функция конвертирует вещественное число в равное ему комплексное.
Public Function C_Opposite(Z As Complex):Complex
Эта функция возвращает -Z.
Public Function AbsComplex(Z As Complex):Double
Эта функция возвращает модуль комплексного числа. Вычисление модуля осуществляется с использованием т.н. "безопасного" алгоритма, который никогда не приводит к переполнению при вычислении промежуточных результатов.
Public Function Conj(Z As Complex):Complex
Эта функция возвращает комплексное число, сопряженное своему аргументу.
Public Function CSqr(Z As Complex):Complex
Эта функция возвращает квадрат аргумента.