Ce fichier contient de nombreuses macros et fonctions mathématiques générales.
even(N). Test si N est pair, renvoie 1 pour vrai, 0 pour faux.
Paramètres :
N = Valeur en entréeodd(N). Test si N est impair, renvoie 1 pour vrai, 0 pour faux.
Paramètres :
N = Valeur en entréeInterpolate(GC, GS, GE, TS, TE, Method). Macro d'interpolation entre les valeurs numériques TS et TE. La méthode d'interpolation est cosinoïdale, linéaire ou exponentielle. La position où est évaluée l'interpolation est déterminée par la position de GC dans la fourchette GS - GE. Voir l'exemple.
Paramètres :
GC = global actuel, valeur numérique dans la fourchette GS - GEGS = global de débutGE = global de finTS = cible de débutTE = cible de finMethod = méthode d'interpolation, valeur numérique :Method < 0 : exponentielle, utilisant la valeur de Method comme exposant.Method = 0 : interpolation cosinusoïdale.Method > 0 : exponentielle, utilisant la valeur de Method comme exposant.Method = 1 : interpolation linéaire,Exemple :
#declare A = Interpolate(0.5, 0, 1, 0, 10, 1); #debug str(A, 0, 2) // result A = 0.50 #declare A = Interpolate(0.0,-2, 2, 0, 10, 1); #debug str(A, 0, 2) // result A = 0.50 #declare A = Interpolate(0.5, 0, 1, 0, 10, 2); #debug str(A, 0, 2) // result A = 0.25
Mean(A). Calcule la moyenne d'un tableau de valeurs.
Paramètres :
A = Un tableau de valeurs numériques ou vectorielles.Std_Dev(A, M). Déviation standard.
Paramètres :
A = Un tableau de valeurs numériques.M = Signification des numériques dans le tableau.GetStats(ValArr). Cette macro déclare un tableau global appelé "StatisticsArray" contenant : N, Mean, Min, Max, et Standard Deviation
Paramètres :
A = Un tableau de valeurs numériques.Histogram(ValArr, Intervals). Cette macro déclare un tableau 2D global appelé "HistogramArray". La première valeur du tableau est le centre de l'intervalle, la seconde est le nombre de valeurs dans cet intervalle.
Paramètres :
ValArr = Un tableau de valeurs.Intervals = Le nombre désiré d'intervalles.sind(v), cosd(v), tand(v), asind(v), acosd(v), atan2d(a, b). Versions de fonctions trigonométriques utilisant les degrés comme unités d'angle.
Paramètres :
Les mêmes que pour la fonction intégrée analogue trig.
max3(a, b, c). Trouve le plus grand des trois nombres.
Paramètres :
a, b, c = Valeurs en entrée.min3(a, b, c). Trouve la plus petite des trois valeurs.
Paramètres :
a, b, c = Valeurs en entrée.f_sqr(v). Carré d'un nombre.
Paramètres :
v = Valeur en entrée.sgn(v). Le signe du nombre. Renvoie -1 ou 1 selon le signe de v.
Paramètres :
v = Valeur en entrée.clip(V, Min, Max). Limite une valeur dans une fourchette spécifique, si elle sort de la fourchette, elle est coupée. Les valeurs en entrée plus grandes que Max donneront Max, celles plus petites que Min donneront Min.
Paramètres :
V = Valeur en entrée.Min = Minimum de la fourchette en sortie.Max = Maximum de la fourchette en sortie.clamp(V, Min, Max). Limite une valeur dans une fourchette spécifique, si elle sort de cet espace, elle est ramenée, tournant autour. Tandis que l'entrée croît ou décroît en dehors de la fourchette donnée, la sortie sera répétivement renvoyée dans cette fourchette, donnant une onde dentelée.
Paramàtres :
V = Valeur en entrée.Min = Minimum de la fourchette en sortie.Max = Maximum de la fourchette en sortie.adj_range(V, Min, Max). Ajuste les valeurs en entrée dans une fouchette [0, 1] vers une fourchette donnée. Une valeur en entrée de 0 donnera Min, 1 donnera Max, et les valeurs en-dehors de [0, 1] seront extrapolées linéairement (le graphe se poursuivra en ligne droite).
Paramètres :
V = Valeur en entrée.Min = Minimum de la fourchette en sortie.Max = Maximum de la fourchette en sortie.adj_range2(V, InMin, InMax, OutMin, OutMax). Comme f_range(), mais l'ajustement se fait de la fourchette [InMin, InMax] à la fourchette [OutMin, OutMax].
Paramètres :
V = Valeur en entrée.InMin = Minimum de la fourchette en entrée.InMax = Maximum de la fourchette en entrée.OutMin = Minimum de la fourchette en sortie.OutMax = Maximum de la fourchette en sortie.Ce sont des macros dans la version actuelle parce que les fonctions ne peuvent pas prendre des paramètres vectoriels, mais cela peut changer dans le futur.
VSqr(V). Elève au carré chaque composant d'un vecteur, équivalent à V*V.
Paramètres :
V = Vecteur à élever au carré.VPow(V, P), VPow5D(V, P). Elève chaque composant d'un vecteur à une puissance donnée.
Paramètres :
V = Vecteur en entrée.P = Puissance.VEq(V1, V2). Teste l'égalité entre vecteurs, renvoie vrai si les trois composants de V1 sont égaux à chaque composant respectif de V2.
Paramètres :
V1, V2 = Les vecteurs à comparer.VEq5D(V1, V2). Une version 5D de VEq(). Test l'égalité de vecteurs, renvoie vrai si les cinq composants de V1 sont égaux aux composants respectifs de V2.
Paramètres :
V1, V2 = Les vecteurs à comparer.VZero(V). Test pour un vecteur <0, 0, 0>.
Paramètres :
V = Vecteur en entrée.VZero5D(V). Test pour un vectreur <0, 0, 0, 0, 0>.
Paramètres :
V = Vecteur en entrée.VLength5D(V). Calcule la longueur d'un vecteur 5D.
Paramètres :
V = Vecteur en entrée.VNormalize5D(V). Normalise un vecteur 5D.
Paramètres :
V = Vecteur en entrée.VDot5D(V1, V2). Calcule le produit vectoriel de deux vecteurs 5D. Voir vdot() pour plus d'informations sur les produits vectoriels.
Paramètres :
V = Vecteur en entrée.VCos_Angle(V1, V2). Calcule le cosinus de l'angle entre deux vecteurs.
Paramètres :
V1, V2 = Vecteurs en entrée.VAngle(V1, V2), VAngleD(V1, V2). Calcule l'angle entre deux vecteurs. VAngle() renvoie l'angle en radians, VAngleD() en degrés.
Paramètres :
V1, V2 = Vecteurs en entrée.VRotation(V1, V2, Axis), VRotationD(V1, V2, Axis). Calcul l'angle de rotation de V1 à V2 autour de Axis. Axis doit être perpendiculaire à V1 et V2. La sortie doit être dans la fourchette entre -pi et pi radians ou entre -180 degrés et 180 degrés si vous utilisez la version en degrés. Toutefois, si Axis est à <0, 0, 0> la sortie sera toujours positive ou nulle, vous aurez le même résultat avec la macro VAngle().
Paramètres :
V1, V2 = Vecteurs en entrée.VDist(V1, V2). Calcule la distance entre deux points.
Paramètres :
V1, V2 = Vecteurs en entrée.VPerp_To_Vector(V). Trouve un vecteur perpendiculaire au vecteur donné.
Paramètres :
V = Vecteur en entrée.VPerp_To_Plane(V1, V2). Trouve un vecteur perpendiculaire aux deux vecteurs donnés. En d'autres termes perpendiculaire au plan défini par les deux vecteurs en entrée.
Paramètres :
V1, V2 = Vecteurs en entrée.VPerp_Adjust(V1, Axis). Trouve un vecteur perpendiculaire à Axis et dans le plan de V1 et Axis. En d'autres termes, le nouveau vecteur est une version de V1 ajusté pour être perpendiculaire à Axis.
Paramètres :
V1, Axis = Vecteurs en entrée.VProject_Plane(V1, Axis). Projète le vecteur V1 sur le plan défini par Axis.
Paramètres :
V1 = Vecteurs en entrée.Axis = Normale au plan.VProject_Axis(V1, Axis). Projète le vecteur V1 sur l'axe défini par Axis.
Paramètres :
V1, Axis = Vecteurs en entrée.VMin(V), VMax(V). Trouve le plus petit ou le plus grand composant d'un vecteur.
Paramètres :
V = Vecteur en entrée.VWith_Len(V, Len). Crée un vecteur parallèle à un vecteur donné mais avec une longueur donnée.
Paramètres :
V = Vecteur de direction.Len = Longueur du vecteur désiré.SetGradientAccuracy(Value): toutes les macros suivantes utilisent une constante appelée '__Gradient_Fn_Accuracy_' pour une approximation numérique des dérivées. Cette constante peut être changée avec la macro, la valeur par défaut est 0.001.
fn_Gradient(Fn): macro calculant le gradiant d'une fonction comme une fonction.
Paramètres :
Fn = fonction dont il faut calculer le gradiant.Sortie : la longueur du gradiant comme fonction.
fn_Gradient_Directional(Fn, Dir): macro calculant le gradiant d'une fonction dans une direction comme une fonction.
Paramètres :
Fn = fonction dont il faut calculer le gradiant.Dir = direction pour calculer le gradiant.Sortie : le gradiant dans cette direction comme fonction.
fn_Divergence(Fnx, Fny, Fnz): macro calculant la divergence d'une fonction (vectorielle) comme fonction.
Paramètres :
Fnx, Fny, Fnz = composants x, y et z d'une fonction vectorielle.Sortie : la divergence comme fonction.
vGradient(Fn, p0): macro calculant le gradiant d'une fonction comme expression vectorielle.
Paramètres :
Fn = fonction dont il faut calculer le gradiant.p0 = point où calculer le gradiant.Sortie : le gradiant comme fonction vectorielle.
vCurl(Fnx, Fny, Fnz, p0): macro calculant la courbe d'une fonction (vectorielle) comme expression vectorielle.
Paramètres :
Fnx, Fny, Fnz = composants x, y et z d'une fonction vectorielle.p0 = point où calculer le gradiant.Sortie : la courbe comme expression vectorielle.
Divergence(Fnx, Fny, Fnz, p0): macro calculant la divergence d'une fonction (vectorielle) comme expression numérique.
Paramètres :
Fnx, Fny, Fnz = composants x, y et z d'une fonction vectorielle.p0 = point où calculer le gradiant.Sortie : la divergence comme expression numérique.
Gradient_Length(Fn, p0): macro calculant la longueur d'un gradiant d'une fonction comme expression numérique.
Paramètres :
Fn = fonction dont il faut calculer le gradiant.p0 = point où calculer le gradiant.Sortie : la longueur du gradiant comme expression numérique.
Gradient_Directional(Fn, p0, Dir): macro calculant le gradiant d'une fonction dans une direction comme expression numérique.
Paramètres :
Fn = fonction dont il faut calculer le gradiant.
p0 = point où calculer le gradiant.
Dir = direction pour calculer le gradiant.
Sortie : le gradiant dans cette direction comme expression numérique.
| 3.6.10 metals.inc, golds.inc |