Distribution linéaire entre 2 valeurs

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Distribution linéaire entre 2 valeurs

Message par Guimauve »

Bonjour à tous,

Une petite macro qui permet de calculer une valeur précise entre une valeur min et une valeur max sans passer par un tableau de valeurs. J'en ai eu besoin dans le calcul des points de passage d'une courbe en 3D (un paramètre t allant de -Pi à Pi). Bien sur, il y a plein d'autre possibilité d'utilisation.

A+
Guimauve

Code : Tout sélectionner

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; Nom du projet : LinearlySpacedValue
; Nom du fichier : LinearlySpacedValue.pb
; Version du fichier : 1.0.0
; Programmation : OK
; Programmé par : Guimauve
; Date : 12-09-2010
; Mise à jour : 12-09-2010
; Code PureBasic : 4.51
; Plateforme : Windows, Linux, MacOS X
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
Macro LinearlySpacedValue(IncrementID, IncrementMax, MinValue, MaxValue)
  
  (MinValue + (MaxValue - MinValue) * (IncrementID / IncrementMax))
  
EndMacro
  
IncrementMax = 15
  
a.d = 4.0 ; +/- le rayon
b.d = 6.0 ; +/- l'étirement
Decimal.b = 6
  
Debug "; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
Debug "; Approximation de la courbe Horoptère"
  
Debug ""
Debug "[x, y, z]"
  
For Index = 0 To IncrementMax
  
  t.d = LinearlySpacedValue(Index, IncrementMax, -#PI, #PI)
  Debug "[" + StrD((2*a)/(1+t*t), 6) + ", " + StrD(b*t, 6) + ", " + StrD((2*a*t)/(1+t*t), 6) + "]"
  
Next
  
; <<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< FIN DU FICHIER <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<<<<