LitDev 1.2.24.0 DE
http://litdev.uk/LitDev.De.html Extension API

LD3DView LDArray LDBits LDBlueTooth LDCall
LDChart LDClient LDClipboard LDColours LDCommPort
LDController LDControls LDCursors LDDataBase LDDateTime
LDDebug LDDialogs LDDictionary LDEffect LDEmail
LDEncryption LDEvents LDFastArray LDFastShapes LDFigures
LDFile LDFocus LDftp LDGeography LDGraph
LDGraphicsWindow LDHashTable LDHID LDIcon LDImage
LDInline LDIOWarrior LDList LDLogic LDMath
LDMathX LDMatrix LDMusic LDNetwork LDPhysics
LDProcess LDQueue LDRegex LDResources LDScrollBars
LDSearch LDServer LDSettings LDShapes LDShell
LDSort LDSound LDSpeech LDStatistics LDStopwatch
LDText LDTextWindow LDTimer LDTranslate LDUnits
LDUtilities LDVector LDWaveForm LDWebCam LDWindows
LDxml LDZip

LDMath
Trigonometrische Funktionen im Gradmaß, weitere verschiedene mathematische Funktionen und Berechnungen.
example other-samples\LDUnits.sb

ArcCos ArcSin ArcTan
Base2Decimal Convert2Cartesian Convert2Radial
Cos Cosh Decimal2Base
E Evaluate Evaluate2
Evaluate3 Exp FixDecimal
FixSigFig MaxNumber MinNumber
RandomNumberSeed Rotate Sin
Sinh Tan Tanh
Truncate

ArcCos(cos)
Ermittelt den ArcusCosinus Winkel im Gradmaß [180, 0].
cos Der Cosinuswert des Winkels (-1 bis 1).
returns Der Winkel [Grad].

ArcSin(sin)
Ermittelt den ArcusSinus Winkel im Gradmaß [-90, 90].
sin Der Sinuswert des Winkels (-1 bis 1).
returns Der Winkel [Grad].

ArcTan(tan)
Ermittelt den ArcusTangens Winkel im Gradmaß ]-90, 90[.
tan Der Tangenswert des Winkels.
returns Der Winkel [Grad].
example ArcCot(x) = ArcTan(1/x)

Base2Decimal(number,base)
Konvertiert den Zahlenwert einer angegebenen Basis (zB. 2, 8, 16 usw.) zu einer dekadischen Ganzzahl (Basis 10).
Max. Wert: Int32 (2^31-1 = 2147483647 = #7FFFFFFF).

number Der zu konvertierende Zahlenwert der anderen Basis (>= 0).
base Die Basis von der konvertiert wird (zB. 2 binär, 3 ternär, 8 oktal, 16 hex oder andere bis 36, >= 2).
returns Der Zahlenwert als dekadische Ganzzahl bei Erfolg, sonst "FAILED".
example LDMath.Base2Decimal(11110,2) '30
LDMath.Base2Decimal(1010,3) '30
LDMath.Base2Decimal(36,8) '30
LDMath.Base2Decimal("1E",16) '30
LDMath.Base2Decimal("u",36) '30


Convert2Cartesian(x1,y1,dist,angle)
Ermittelt die Koordinaten für Punkt 2. Ausgehend von Punkt 1, mit Abstand und Winkel zu Punkt 2 (Polar -> Kartesisch), gemäß:
x2 = x1 + r*cos(φ)
y2 = y1 + r*sin(φ)

x1 Die x-Koordinate von Punkt 1 (Pol).
y1 Die y-Koordinate von Punkt 1 (Pol).
dist Der Abstand r zwischen Punkt 1 und Punkt 2.
angle Der +/- Winkel φ [Grad] zu Punkt 2 (im Uhrzeigersinn, 0° = 3h).
returns Ein 2-element. Array mit den x/y-Koordinaten für Punkt 2 "1=x2;2=y2;".

Convert2Radial(x1,y1,x2,y2)
Ermittelt den Abstand und Winkel zwischen zwei Punkten (Kartesisch -> Polar) als Array.
x1 Die x-Koordinate von Punkt 1.
y1 Die y-Koordinate von Punkt 1.
x2 Die x-Koordinate von Punkt 2.
y2 Die y-Koordinate von Punkt 2.
returns Ein 2-element. Array mit Abstand r und Winkel φ [Grad] (im Uhrzeigersinn, 0° = 3h) von Punkt 1 zu Punkt 2.
Der Winkel wird im Bereich >0 bis 360 ausgegeben.

example 'Atan2(x,y) [0°,360°[
pol = LDMath.Convert2Radial(0,0, x,y)
w = Math.Remainder(pol[2], 360)
w = w - LDLogic.Switch(LDLogic.LT(y,0), 360,0) '[0°,+/-180°]


Cos(angle)
Ermittelt den Cosinus (Ak/Hy) für einen Winkel im Gradmaß.
angle Der +/- Winkel [Grad].
returns Der Cosinuswert des Winkels [-1,1] (x im Einheitskreis).

Cosh(angle)
Ermittelt den hyperbolischen Cosinus für einen Winkel im Bogenmaß.
angle Der Winkel im Bogenmaß [rad].
returns Der hyperbolische Cosinuswert (>=1, (e^x + e^-x)/2).
example 'Kettenlinie, Katenoide
y = a * Cosh(x/a)


Decimal2Base(number,base)
Konvertiert eine dekadische Ganzzahl (Basis 10) zum Zahlenwert einer anderen Basis (zB. 2, 8, 16 usw.).
Max. Wert: Int32 (2^31-1 = 2147483647 = #7FFFFFFF).

number Die zu konvertierende dekadische Ganzzahl (>= 0).
base Die Basis zu der konvertiert wird (zB. 2 binär, 3 ternär, 8 oktal, 16 hex oder andere bis 36, >= 2).
returns Der Zahlenwert (Kleinbuchstaben) zur gewünschen Basis bei Erfolg, sonst "FAILED".
example LDMath.Decimal2Base(30,2) '11110 bin
LDMath.Decimal2Base(30,3) '1010 ter
LDMath.Decimal2Base(30,8) '36 okt
LDMath.Decimal2Base(30,16) '1e hex
LDMath.Decimal2Base(30,36) 'u


E
Ermittelt die Basis e des natürlichen Logarithmus (~2.718282 = lim(1+1/n)^n für n->∞, ln(e) = 1, Eulersche Zahl, 14 DezStellen).
example e = n^(1/ln(n)) 'n>1

Evaluate(expression)
Evaluiert einen math. (boolschen) Stringausdruck zu einem Boolwert oder Zahlenergebnis (falls möglich). Für Ausgabe im TextWindow muß dieses vor Aufruf bereits angezeigt sein (sonst ev. keine Ausgabe).
Verwendet den JScript 'eval' Befehl, was komplexere JScript Manipulationen ermöglicht. s LDInline(.IncludeJScript). Keine Variablenverarbeitung.

expression Der zu berechnende Stringausdruck zB. "(9/6) + 3", "(9/6) == 3", "2.1 > 1.5", "1E6 + 6/4" oder "Date()".
returns Das evaluierte Ergebnis bei Erfolg (zB. 4.5, false, true, 1000001.5), sonst Fehlermeldung (zB. Infinity).
example s. 'JScript Language Reference' jscript5.chm bzw. script56.chm (Windows Script 5.6 Documentation)
'n ist Teiler von val?
isFact = LDMath.Evaluate(Math.Remainder(val,n) +"==0")


Evaluate2(expression)
Evaluiert einen math. Stringausdruck zu einem Zahlenergebnis (falls möglich).
Alternative zu 'Evaluate' und kompatibel für direkte TextWindow Ausgabe. Keine Variablenverarbeitung.
Vermeide gleichzeitige Verwendung von LDInline im selben Programm (Problem).

expression Der zu berechnende Stringausdruck zB. "1E6 + 6/4".
returns Das evaluierte Zahlenergebnis bei Erfolg (zB. 1000001.5), sonst Fehlermeldung (zB. 'Expression of type 'Double' expected').

Evaluate3(expression)
Evaluiert einen logischen Stringausdruck zu einem Boolwert "True" oder "False" (falls möglich).
Alternative zu 'Evaluate' und kompatibel für direkte TextWindow Ausgabe.
Vermeide gleichzeitige Verwendung von LDInline im selben Programm (Problem).

expression Der zu ermittelnde Logikausdruck zB. "21.3 > 16" (gibt "True").
returns Der ermittelte Boolwert ("True" oder "False").
example s.a. LDLogic.Switch

Exp(value)
Ermittelt das Exponential einer Zahl 'value' (e^value), s. LDMath.E.
value Der Exponent durch den die Basis e potenziert wird.
returns e^value

FixDecimal(number,digits)
Rundet eine Zahl auf eine feste Anzahl von Dezimalstellen. Weitere erforderliche Dezimalnullen werden falls nötig angefügt.
number Die zu rundende Zahl.
digits Die Anzahl an Dezimalstellen.
returns Die gerundete Zahl.
example FixDecimal(-12.3456, 3) '-12.346
FixDecimal(-12.3456, 5) '-12.34560


FixSigFig(number,digits)
Rundet eine Zahl auf eine feste Anzahl von Gesamtziffern (1 bis 9).
number Die zu rundende Zahl.
digits Die Anzahl der Ziffern (<> 0).
returns Die gerundete Zahl.
example FixSigFig(-1234567, 5) '-1234600
FixSigFig(12.3456, 4) '12.35


MaxNumber
Ermittelt die größte Zahl, die SmallBasic verarbeiten kann (79228162514264337593543950335 ~ 7.9..E28, Decimal.MaxValue).

MinNumber
Ermittelt die kleinste Zahl, die SmallBasic verarbeiten kann (-79228162514264337593543950335 ~ -7.9..E28, Decimal.MinValue).

RandomNumberSeed
Setzt den Startpunkt für Zufallszahlen. Dies sollte eine Ganzzahl sein und vor Aufruf von 'Math.GetRandomNumber' gesetzt werden.
Eine Zufallszahlensequenz wird durch diesen Startpunkt initialisiert und kann für Testzwecke verwendet werden, wenn eine wiederholbare Abfolge von Zufallszahlen erforderlich ist.


Rotate(x1,y1,x2,y2,angle)
Drehung von Punkt 2 im Uhrzeigersinn um Punkt 1.
x1 Die x-Koordinate von Punkt 1.
y1 Die y-Koordinate von Punkt 1.
x2 Die x-Koordinate von Punkt 2.
y2 Die y-Koordinate von Punkt 2.
angle Der Drehwinkel [Grad] um den Punkt 2 im Uhrzeigersinn um Punkt 1 gedreht wird.
returns Ein 2-element. Array mit den neuen x/y-Koordinaten des gedrehten Punktes 2.

Sin(angle)
Ermittelt den Sinus (Gk/Hy) für einen Winkel im Gradmaß.
angle Der +/- Winkel [Grad].
returns Der Sinuswert des Winkels [-1,1] (y im Einheitskreis).

Sinh(angle)
Ermittelt den hyperbolischen Sinus für einen Winkel im Bogenmaß.
angle Der Winkel im Bogenmaß [rad].
returns Der hyperbolische Sinuswert (e^x - e^-x)/2.

Tan(angle)
Ermittelt den Tangens (Gk/Ak, Sin/Cos) für einen Winkel im Gradmaß.
angle Der +/- Winkel [Grad].
returns Der Tangenswert des Winkels (Steigung y/x im Einheitskreis).
example Cot(w) = 1/Tan(w)

Tanh(angle)
Ermittelt den hyperbolischen Tangens für einen Winkel im Bogenmaß.
angle Der Winkel im Bogenmaß [rad].
returns Der hyperbolische Tangenswert, ]-1,1[, sinh(x)/cosh(x).

Truncate(value)
Ermittelt den ganzzahligen Teil einer Zahl (Stellen vor dem Dezimalzeichen). Abrundung auf Ganzzahl in Richtung Null.
value Die Zahl (zB. -5.4 oder .123).
returns Der ganzzahlige Teil der Zahl (mit Vorzeichen, ohne Dezimalteil).
example LDMath.Truncate(32.23) '32
LDMath.Truncate(-32.23) '-32
LDMath.Truncate(-0.5) '0