FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
WRAP_VALUE amélioré Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
WRAP_VALUE amélioré Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
WRAP_VALUE amélioré Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
WRAP_VALUE amélioré Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
WRAP_VALUE amélioré Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
WRAP_VALUE amélioré Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
WRAP_VALUE amélioré Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
WRAP_VALUE amélioré Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
WRAP_VALUE amélioré Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
WRAP_VALUE amélioré Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
WRAP_VALUE amélioré Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
WRAP_VALUE amélioré Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
WRAP_VALUE amélioré Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
WRAP_VALUE amélioré Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
WRAP_VALUE amélioré Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
Cartes Pokémon EV6.5 : où trouver le ...
Voir le deal

 

 WRAP_VALUE amélioré

Aller en bas 
3 participants
AuteurMessage
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

WRAP_VALUE amélioré Empty
MessageSujet: WRAP_VALUE amélioré   WRAP_VALUE amélioré EmptyJeu 14 Nov 2019 - 14:40

Bonjour à tous

Voici une FNC qui permet de retourner une "Valeur" ramené à un intervalle "Mini,Maxi" (Les nombres à virgules sont également supportés). Il s'agit d'une amélioration de la fonction WRAP_VALUE de panoramic Very Happy

Code:
dim Valeur,Mini,Maxi

Valeur = 420
Mini = 40
Maxi = 400

' Retourne une "Valeur" ramené à l'intervalle "Mini,Maxi"
print "EXT_WRAP_VALUE(",Valeur,",",Mini,",",Maxi,") = ",EXT_WRAP_VALUE(Valeur,Mini,Maxi)

END
fnc EXT_WRAP_VALUE( EXT_WRAP_VALUE_Value , EXT_WRAP_VALUE_Mini , EXT_WRAP_VALUE_Maxi )
' Cette FNC retourne une "Valeur" ramené à l'intervalle "Mini,Maxi"
 dim_local temp
    ' rétabli "EXT_WRAP_VALUE_Mini" plus petit que "EXT_WRAP_VALUE_Maxi" si nécéssaire
    if EXT_WRAP_VALUE_Mini>EXT_WRAP_VALUE_Maxi
       temp=EXT_WRAP_VALUE_Mini
       EXT_WRAP_VALUE_Mini=EXT_WRAP_VALUE_Maxi
       EXT_WRAP_VALUE_Maxi=temp
    end_if
    
    ' calcul
    if EXT_WRAP_VALUE_Mini = EXT_WRAP_VALUE_Maxi
       result EXT_WRAP_VALUE_Mini
    else
       if (EXT_WRAP_VALUE_Value < EXT_WRAP_VALUE_Mini)
          result EXT_WRAP_VALUE_Maxi - (MOD((EXT_WRAP_VALUE_Mini - EXT_WRAP_VALUE_Value),(EXT_WRAP_VALUE_Maxi - EXT_WRAP_VALUE_Mini)))
       else
          result EXT_WRAP_VALUE_Mini + (MOD((EXT_WRAP_VALUE_Value - EXT_WRAP_VALUE_Mini),(EXT_WRAP_VALUE_Maxi - EXT_WRAP_VALUE_Mini)))
       end_if
    end_if
end_fnc
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2709
Date d'inscription : 13/09/2009

WRAP_VALUE amélioré Empty
MessageSujet: +++   WRAP_VALUE amélioré EmptyVen 15 Nov 2019 - 15:37

Ça aussi, c'est pointu !
J'ai encore jamais utilisé wrap_value !
Peut-être un jour...?
scratch Laughing
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

WRAP_VALUE amélioré Empty
MessageSujet: Re: WRAP_VALUE amélioré   WRAP_VALUE amélioré EmptyDim 17 Nov 2019 - 0:46

Merci  Silverman pour le partage.

jjn4 a écrit:
J 'ai encore jamais utilisé wrap_value !

C’est sûrement parce que l’occasion ne s’est pas présentée pour toi.
Dans les calcules trigonométriques en général et astronomiques en particulier, il arrive souvent que l’on doit manipuler des  valeurs très grandes pour les  angles.
Il est alors souhaitable de ramener ces grandes valeurs à l’intervalle [0,360[  (0 inclus, 360 exclu) : c’est le rôle de WRAP_VALUE(a)


Exemple d'utilisation :

Code:

rem ============================================================================
rem    La fonction WRAP_VALUE(A) retourne une valeur de l’angle A ramenée à
rem    l’intervalle semi-fermé à gauche, semi-ouvert à droite [0,360[
rem    WRAP_VALUE(a) c’est équivalent à MOD(a,360)
rem ============================================================================
dim a
font_bold 0 : font_name 0,"ariel"
degrees
a = 12345678987654321 : ' <--- très grande valeur d'un angle en °
print : print : print "  a = " + str$(a)
print "  mod(a,360) = " + str$(mod(a,360)) : ' <--- ramenée à 60°, c'est plus sympa !
print "  wrap_value(360) = " + str$(wrap_value(a)) : ' <--- ramenée à 60°, c'est plus sympa !
print "  sin(a) = " + str$(sin(a))          : ' <--- sqr(3)/2 = 0.866033695578443
a = wrap_value(a)
print "  a = " + str$(a)
print "  sin(a) = " + str$(sin(a))          : ' <--- sqr(3)/2 = 0.866033695578443
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
jjn4

jjn4


Nombre de messages : 2709
Date d'inscription : 13/09/2009

WRAP_VALUE amélioré Empty
MessageSujet: +++   WRAP_VALUE amélioré EmptyDim 17 Nov 2019 - 14:22

Ouaah, super !
Promis, au prochain calcul astronomiaque,
je l'utilise ! Laughing
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Contenu sponsorisé





WRAP_VALUE amélioré Empty
MessageSujet: Re: WRAP_VALUE amélioré   WRAP_VALUE amélioré Empty

Revenir en haut Aller en bas
 
WRAP_VALUE amélioré
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Un scène2d amélioré...
» extracteur de sprites amélioré
» Un presse-papier amélioré

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: