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
» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
 - Trigonométrie circulaire et hyperbolique Emptypar papydall Aujourd'hui à 16:57

» PANORAMIC V 1
 - Trigonométrie circulaire et hyperbolique Emptypar papydall Aujourd'hui à 3:22

» select intégrés [résolu]
 - Trigonométrie circulaire et hyperbolique Emptypar jjn4 Hier à 17:00

» number_mouse_up
 - Trigonométrie circulaire et hyperbolique Emptypar jjn4 Hier à 11:59

» Aide de PANORAMIC
 - Trigonométrie circulaire et hyperbolique Emptypar jjn4 Hier à 11:16

» trop de fichiers en cours
 - Trigonométrie circulaire et hyperbolique Emptypar lepetitmarocain Hier à 10:43

» Je teste PANORAMIC V 1 beta 1
 - Trigonométrie circulaire et hyperbolique Emptypar papydall Hier à 4:17

» bouton dans autre form que 0
 - Trigonométrie circulaire et hyperbolique Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
 - Trigonométrie circulaire et hyperbolique Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
 - Trigonométrie circulaire et hyperbolique Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
 - Trigonométrie circulaire et hyperbolique Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
 - Trigonométrie circulaire et hyperbolique Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
 - Trigonométrie circulaire et hyperbolique Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
 - Trigonométrie circulaire et hyperbolique Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
 - Trigonométrie circulaire et hyperbolique Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

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 : -28%
Brandt LVE127J – Lave-vaisselle encastrable 12 ...
Voir le deal
279.99 €

 

 Trigonométrie circulaire et hyperbolique

Aller en bas 
+4
maelilou
Jicehel
Klaus
papydall
8 participants
AuteurMessage
papydall

papydall


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

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyMer 9 Mai 2012 - 20:49

Salut à tous !

J’ai écris le programme ci-dessous pour les raisons suivantes :
* La majorité des gens qui fréquentent ce FORUM sont des programmeurs plus ou mois chevronnés. Or, un programmeur n’est pas obligatoirement un spécialiste des mathématiques (je ne prétends d’ailleurs pas de l’être !); mais il sera un jour ou l’autre confronté à des fonctions mathématiques de trigonométrie.
* La plupart des langages de programmation en général, et PANORAMIC en particulier, ne proposent que quelques unes des fonctions de trigonométrie qui sont certes suffisantes pour déterminer les autres, mais il est nécessaire de savoir comment faire.

Le programme que je vous propose contient exactement 30 fonctions.
- 6 fonctions trigonométriques circulaires directes (Sinus, Cosinus, Tangente, Cotangente, Sécante et Cosécante)
- 6 fonctions trigonométriques circulaires inverses ou réciproques (Arc Sinus, Arc Cosinus, Arc Tangente, Arc Cotangente, Arc Sécante et Arc Cosécante)
- 6 fonctions trigonometriques hyperboliques directes (Sinus Hyperbolique, Cosinus Hyperbolique, Tangente Hyperbolique, Cotangente Hyperbolique, Sécante Hyperbolique et Cosécante Hyperbolique)
- 6 fonctions trigonometriques hyperboliques inverses ou réciproques (Argument Sinus Hyperbolique, Argument Cosinus Hyperbolique, Argument Tangente Hyperbolique, Argument Cotangente Hyperbolique, Argument Sécante Hyperbolique et Argument Cosécante Hyperbolique)
- 6 fonctions diverses (Sinus Cardinal, Sinus Cardinal Normalisé, Logarithme Népérien, Logarithme Décimal, Logarithme Binaire et Exponentielle)

Pour chacune des fonctions, le programme vous donne quelques informations sur ces fonctions ainsi que le tracé de leur courbe représentative: définition, existence ou non en PANORAMIC, les formules à utiliser lorsque la fonction n’existe pas en PANORAMIC, etc.

L’utilisation du programme est intuitive et ne présente aucune difficulté. Après le RUN, l’écran présente une page où il y a 3 boutons, en dessous desquels se trouvent les listes des fonctions proposées. En cliquant sur l’un des boutons, la liste correspondante s’active et en choisissant une fonction, vous aurez immédiatement le tracé de sa courbe représentative et quelques informations qui la concernent. Un clique de souris vous ramène à la page principale. Vous pouvez alors sélectionner une autre fonction ou sortir du programme en cliquant n’importe où.

PS : Les informations sont écrites sur le tracé-même, ce qui est inesthétique, mais….

Puisse ce programme être utile à quelqu’un ! Si c’est le cas je serai très content ! Very Happy


Code:



' ******************************************************************************
'
'                    TRIGONOMETRIE CIRCULAIRE ET HYPERBOLIQUE
'
'                                  PAR PAPYDALL
'
' ******************************************************************************
dim titre$,pi,x,y,p,lx,ly,a,xc,yc,xp,yp,xmin,xmax,ymin,ymax,epsilon,s$,nbobj%
dim circulaires1%,circulaires2%,hyperboliques1%,hyperboliques2%,autres%
dim form_graph%

label fonctions_circulaires, fonctions_circulaires_inverses
label fonctions_hyperboliques, fonctions_hyperboliques_inverses, autres_fonctions
label sinus, cosinus, tangente, cotangente, secante, cosecante
label arc_sinus, arc_cosinus, arc_tangente, arc_cotangente, arc_secante, arc_cosecante
label sinus_hyperbolique, cosinus_hyperbolique, tangente_hyperbolique
label cotangente_hyperbolique, secante_hyperbolique, cosecante_hyperbolique
label argument_sinus_hyperbolique, argument_cosinus_hyperbolique
label argument_tangente_hyperbolique, argument_cotangente_hyperbolique
label argument_secante_hyperbolique, argument_cosecante_hyperbolique
label logarithme_neperien, logarithme_decimal, logarithme_binaire
label sinus_cardinal, sinus_cardinal_normalise, exponentielle
label active_circulaires, active_hyperboliques, active_autres,axes,demarrer
label hide_form_graph,fin

gosub demarrer
end

' ******************************************************************************
demarrer:

pi = 4*atn(1) : p = pi/180
lx = 1020 : ly = 750 : xc = lx/2 : yc = ly/2
xmin = -2*pi : xmax = 2*pi : ymin = -2 : ymax = 2 : epsilon = power(10,0-10)
titre$ = string$(60," ")
titre$ = titre$ + "TRIGONOMETRIE CIRCULAIRE ET HYPERBOLIQUE    PAR PAPYDALL"
caption 0,titre$
width 0, 1020: height 0,600
on_click 0,fin        : ' <CLICK> pour sortir

nbobj% = nbobj% + 1  : ' 1er bouton
button nbobj% : width nbobj%, 270 : top nbobj%,10 : left nbobj%,5
caption nbobj% ,"FONCTIONS TRIGONOMETRIQUES CIRCULAIRES"
on_click nbobj%, active_circulaires

nbobj% = nbobj% + 1  : ' 2ème bouton
button nbobj% : width nbobj% , 410 : top nbobj%,10 : left nbobj%,320
caption nbobj% ,"FONCTIONS TRIGONOMETRIQUES HYPERBOLIQUES"
on_click nbobj%, active_hyperboliques

nbobj% = nbobj% + 1  : ' 3ème bouton
button nbobj%  : width nbobj%,150  : top nbobj% ,10 : left nbobj% ,800
caption nbobj%,"AUTRES FONCTIONS" : on_click nbobj%, active_autres

nbobj% = nbobj% + 1  : ' Liste des fonctions circulaires
list nbobj%  : width nbobj%, 100  : top nbobj%,40 : left nbobj%, 10
item_add nbobj%, "SINUS"    : item_add nbobj%, "COSINUS"
item_add nbobj%, "TANGENTE" : item_add nbobj%, "COTANGENTE"
item_add nbobj%, "SECANTE"  : item_add nbobj%, "COSECANTE"
circulaires1% = nbobj%
inactive circulaires1% : on_click circulaires1%, fonctions_circulaires

nbobj% = nbobj% + 1 : ' Liste des fonctions circulaires inverses (ou réciproques)
list nbobj%  : width nbobj%,120 : top nbobj%,40 : left nbobj%,140
item_add nbobj%,"ARC_SINUS"      : item_add nbobj%,"ARC_COSINUS"
item_add nbobj%, "ARC_TANGENTE"  : item_add nbobj%,"ARC_COTANGENTE"
item_add nbobj%,"ARC_SECANTE"    : item_add nbobj%, "ARC_COSECANTE"
circulaires2% = nbobj%
inactive circulaires2% : on_click circulaires2%, fonctions_circulaires_inverses

nbobj% = nbobj% + 1    : ' Liste des fonctions hyperboliques
list nbobj%    : width nbobj% ,190 : top nbobj% ,40 :left nbobj% ,300
item_add nbobj% , "SINUS_HYPERBOLIQUE"
item_add nbobj% , "COSINUS_HYPERBOLIQUE"
item_add nbobj% , "TANGENTE_HYPERBOLIQUE"
item_add nbobj% , "COTANGENTE_HYPERBOLIQUE"
item_add nbobj% , "SECANTE_HYPERBOLIQUE"
item_add nbobj% , "COSECANTE_HYPERBOLIQUE"
hyperboliques1% = nbobj%
inactive hyperboliques1%  : on_click hyperboliques1%, fonctions_hyperboliques

nbobj% = nbobj% + 1:' Liste des fonctions hyperboliques inverses (ou réciproques)
list nbobj%  : width nbobj%,250 : top nbobj%,40 : left nbobj%,500
item_add nbobj%, "ARGUMENT_SINUS_HYPERBOLIQUE"
item_add nbobj%, "ARGUMENT_COSINUS_HYPERBOLIQUE"
item_add nbobj%, "ARGUMENT_TANGENTE_HYPERBOLIQUE"
item_add nbobj%, "ARGUMENT_COTANGENTE_HYPERBOLIQUE"
item_add nbobj%, "ARGUMENT_SECANTE_HYPERBOLIQUE"
item_add nbobj%, "ARGUMENT_COSECANTE_HYPERBOLIQUE"
hyperboliques2% = nbobj% : inactive hyperboliques2%
on_click hyperboliques2%, fonctions_hyperboliques_inverses

nbobj% = nbobj% + 1  : ' Liste autres fonctions
list nbobj%    : width nbobj%,200    : top nbobj%,40 : left nbobj%,780
item_add nbobj%, "SINUS CARDINAL"  : item_add nbobj%, "SINUS CARDINAL NORMALISE"
item_add nbobj%, "LOGARITHME NEPERIEN" : item_add nbobj%, "LOGARITHME DECIMAL"
item_add nbobj%, "LOGARITHME BINAIRE"  : item_add nbobj%, "EXPONENTIELLE"
autres% = nbobj% : inactive autres% : on_click autres%, autres_fonctions

nbobj% = nbobj% + 1 : ' FORM pour les tracés des courbes
form nbobj%  : width nbobj% ,lx+10 : height nbobj% ,ly : hide nbobj%
form_graph% = nbobj% : 2d_target_is form_graph%
color form_graph% ,0,0,0 : font_color form_graph% ,255,255,0
font_size form_graph% ,12
font_bold form_graph% : on_click form_graph% ,hide_form_graph

font_color 0,0,0,255
print_locate 100,350
print "<CLICK> SUR L'UN DES 3 BOUTONS POUR CHOISIR UNE FONCTION" ;
print string$(100," ");"<CLICK> N'IMPORTE OU POUR SORTIR"

return
' ******************************************************************************
active_circulaires:

active circulaires1% : active circulaires2%

return
' ******************************************************************************
active_hyperboliques:

active  hyperboliques1% : active  hyperboliques2%

return
' ******************************************************************************
active_autres:

active autres%

return
' ******************************************************************************
hide_form_graph:

hide form_graph% : print_target_is 0 : print_locate 100,350
print "<CLICK> SUR L'UN DES 3 BOUTONS POUR CHOISIR UNE FONCTION" ;
print string$(100," ");"<CLICK> N'IMPORTE OU POUR SORTIR"

return
' ******************************************************************************
fin:

terminate

return
' ******************************************************************************
fonctions_circulaires:

if item_index$(circulaires1%) = "SINUS"      then gosub sinus
if item_index$(circulaires1%) = "COSINUS"    then gosub cosinus
if item_index$(circulaires1%) = "TANGENTE"  then gosub tangente
if item_index$(circulaires1%) = "COTANGENTE" then gosub cotangente
if item_index$(circulaires1%) = "SECANTE"    then gosub secante
if item_index$(circulaires1%) = "COSECANTE"  then gosub cosecante

return
' ******************************************************************************
fonctions_circulaires_inverses:

if item_index$(circulaires2%) = "ARC_SINUS"      then gosub arc_sinus
if item_index$(circulaires2%) = "ARC_COSINUS"    then gosub arc_cosinus
if item_index$(circulaires2%) = "ARC_TANGENTE"  then gosub arc_tangente
if item_index$(circulaires2%) = "ARC_COTANGENTE" then gosub arc_cotangente
if item_index$(circulaires2%) = "ARC_SECANTE"    then gosub arc_secante
if item_index$(circulaires2%) = "ARC_COSECANTE"  then gosub arc_cosecante

return
' ******************************************************************************
fonctions_hyperboliques:

if item_index$(hyperboliques1%) = "SINUS_HYPERBOLIQUE"      then gosub sinus_hyperbolique
if item_index$(hyperboliques1%) = "COSINUS_HYPERBOLIQUE"    then gosub cosinus_hyperbolique
if item_index$(hyperboliques1%) = "TANGENTE_HYPERBOLIQUE"  then gosub tangente_hyperbolique
if item_index$(hyperboliques1%) = "COTANGENTE_HYPERBOLIQUE" then gosub cotangente_hyperbolique
if item_index$(hyperboliques1%) = "SECANTE_HYPERBOLIQUE"    then gosub secante_hyperbolique
if item_index$(hyperboliques1%) = "COSECANTE_HYPERBOLIQUE"  then gosub cosecante_hyperbolique

return
' ******************************************************************************
fonctions_hyperboliques_inverses:

if item_index$(hyperboliques2%) = "ARGUMENT_SINUS_HYPERBOLIQUE"      then gosub argument_sinus_hyperbolique
if item_index$(hyperboliques2%) = "ARGUMENT_COSINUS_HYPERBOLIQUE"    then gosub argument_cosinus_hyperbolique
if item_index$(hyperboliques2%) = "ARGUMENT_TANGENTE_HYPERBOLIQUE"  then gosub argument_tangente_hyperbolique
if item_index$(hyperboliques2%) = "ARGUMENT_COTANGENTE_HYPERBOLIQUE" then gosub argument_cotangente_hyperbolique
if item_index$(hyperboliques2%) = "ARGUMENT_SECANTE_HYPERBOLIQUE"    then gosub argument_secante_hyperbolique
if item_index$(hyperboliques2%) = "ARGUMENT_COSECANTE_HYPERBOLIQUE"  then gosub argument_cosecante_hyperbolique

return
' ******************************************************************************
autres_fonctions:

if item_index$(autres%) = "SINUS CARDINAL"            then gosub sinus_cardinal
if item_index$(autres%) = "SINUS CARDINAL NORMALISE"  then gosub sinus_cardinal_normalise
if item_index$(autres%) = "LOGARITHME NEPERIEN"      then gosub logarithme_neperien
if item_index$(autres%) = "LOGARITHME DECIMAL"        then gosub logarithme_decimal
if item_index$(autres%) = "LOGARITHME BINAIRE"        then gosub logarithme_binaire
if item_index$(autres%) = "EXPONENTIELLE"            then gosub exponentielle

return
' ******************************************************************************
' *** Tracé des axes
axes:

if xmin <> -2*pi
  for a = xmin to xmax step p
    x = a : y = 0
    xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(y-ymin)/(ymax-ymin)
    print_locate xp,yp+10 : print x
    2d_pen_color 127,127,127
    2d_line xp,0,xp,yp*2
  next a
 
  for a = ymin to ymax step p
    x = 0 : y = a
    xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(y-ymin)/(ymax-ymin)
    print_locate xp-22,yp/2-10+ly/4-2
  print 0-y
  2d_line 2*xp,yp/2+ly/4,xmax,yp/2 +ly/4
  next a
  2d_pen_color 255,0,0            : ' rouge pour tracer les axes
  2d_line 0,ly/2,lx,ly/2          : ' tracé de l'axe des x
  2d_line lx/2,0,lx/2,ly          : ' tracé de l'axe des y
  2d_pen_color 0,255,0            : ' vert pour tracer la courbe
  return
end_if
   
   
for a = xmin to xmax step pi/2  : ' graduation de l'axe des X
  x = a : y = 0
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(y-ymin)/(ymax-ymin)
  print_locate xp,yp+10
  select int((a)/pi/2)
    case -4 : s$ = "-2pi"
    case -3 : s$ = "-3pi/2"
    case -2 : s$ = "-pi"
    case -1 : s$ = "-pi/2"
    case 0  : s$ = "0"
    case 1  : s$ = "pi/2"
    case 2  : s$ = "pi"
    case 3  : s$ = "3pi/2"
    case 4  : s$ = "2pi"
  end_select

  if int((a)/pi/2) = 0 : else : print s$ : end_if  : ' ne pas afficher le zero
  print_locate lx-22,yp+10 : print "2pi"          : ' il sera affiché sur l'axe des y
  2d_pen_color 127,127,127
  2d_line xp,0,xp,yp*2
next a

for a = ymin to ymax step 1  : ' graduation de l'axe des Y
  x = 0 : y = a
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(y-ymin)/(ymax-ymin)
  print_locate xp-22,yp/2-10+ly/4-2
  print 0-a
  2d_line 2*xp,yp/2+ly/4,xmax,yp/2 +ly/4
next a

2d_pen_color 255,0,0            : ' rouge pour tracer les axes
2d_line 0,ly/2,lx,ly/2          : ' tracé de l'axe des x
2d_line lx/2,0,lx/2,ly          : ' tracé de l'axe des y
2d_pen_color 0,255,0            : ' vert pour tracer la courbe

return

' ******************************************************************************
' *** Fonctions circulaires : les fonctions COS et SIN s'appellent des fonctions
'    circulaires parce que le cercle d'équation x*x + y*y = 1 peut se
'    paramétrer en
'    x = COS(t)
'    y = SIN(t) avec t réel quelconque.
' ******************************************************************************
sinus:

' Pour toute les fonctions trigonométriques,la variable indépendente x est
' exprimée en radians. Si vous utilisez les dégrés, n'oubliez pas de les
' convertir en radians, en multipliant les dégrés par le coefficient pi/180.

print_target_is form_graph% : show form_graph%
caption  form_graph% , string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = SIN(X)"
print " La fonction SIN(x) (sinus circulaire de x) est une fonction définie quelque soit x.":print
print " La fonction y = sin(x) est comprise entre + ou -1 : -1 <= sin(x) <= +1":print
print : print " En PANORAMIC, la fonction sinus est notée SIN(X)"

xmin = -2*pi : xmax = 2*pi : ymin = -2 : ymax = 2 : p = pi/180 : gosub axes
x = xmin : y = sin(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
 2d_poly_from xp,yp/2+ly/4
for a = xmin+p to xmax step p
  x = a : y = sin(a)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

cosinus:

print_target_is form_graph% : show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = COS(X)"
print " La fonction COS(x)(cosinus circulaire de x) est une fonction définie quelque soit x.":print
print " La fonction y = cos(x) est comprise entre + ou -1 : -1 <= cos(x) <= +1":print
print:print "En PANORAMIC, la fonction cosinus est notée COS(X)"
xmin = -2*pi : xmax = 2*pi : ymin = -2 : ymax = 2 : p = pi/180 : gosub axes
x = xmin : y = cos(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = xmin to xmax step p
  x = a : y = cos(a)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

tangente:

print_target_is form_graph% : show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = TAN(X)"
print " La fonction TAN(x) (tangente circulaire de x) qui est égale à SIN(x)/COS(x) est définie quelque soit x tel que" :print
print " COS(x) ne soit pas nul." :print
print " TAN(x) est donc définie pour tout x <> pi/2 + k*pi avec k entier positif,négatif ou nul." :print
print " La fonction y = tan(x) peut prendre toutes les valeures de moins l'infini à plus l'infini." :print
print " Notez bien le tracé des asymptotes verticales pour les valeurs de pi/2+k*pi." :print
print : print " En PANORAMIC, la fonction tangente est notée TAN(X)"
xmin = -2*pi : xmax = 2*pi : ymin = -2 : ymax = 2 : p = pi/180 : gosub axes
x = xmin : y = tan(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = xmin to xmax step p
  x = a : y = tan(a)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

cotangente:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = COTAN(X)"
print_target_is form_graph%
print " La fonction COTAN(x) (cotangente circulaire de x) qui est égale à : 1/TAN(x) = COS(x)/SIN(x)":print
print " est définie quelque soit x tel que SIN(x) ne soit pas nul. COTAN(x) est donc définie pour tout x <> k*pi avec k entier positif,":print
print " négatif ou nul. La fonction y = cotan(x) peut prendre toutes les valeures de moins l'infini à plus l'infini.":print
print " Notez bien le tracé des asymptotes verticales pour les valeurs de k*pi.":print
print:print " En PANORAMIC, la fonction cotangente n'existe pas. Pour l'utiliser faites y = 1/tan(x)"

xmin = -2*pi : xmax = 2*pi : ymin = -2 : ymax = 2 : p = pi/180 : gosub axes
x = xmin : y = 1/tan(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = xmin to xmax step p
  x = a : y = 1/tan(a)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return

' ******************************************************************************

secante:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = SEC(X)"
print_target_is form_graph%
print " La fonction SEC(x) (secante circulaire de x) qui est égale à 1/COS(x) est définie quelque soit x tel que COS(x) ne soit pas nul.":print
print " SEC(x) est donc définie pour x <> pi/2 + k*pi avec k entier positif, négatif ou nul.":print
print " La fonction y = sec(x) peut prendre toutes les valeures de ]-l'infini à -1] et de [+1 à + l'infini[.":print
print " Notez bien le tracé des asymptotes verticales pour les valeurs de pi/2 + k*pi.":print
print : print " En PANORAMIC, la fonction secante n'existe pas. Pour l'utiliser faites y = 1/cos(x)"

xmin = -2*pi : xmax = 2*pi : ymin = -2 : ymax = 2 : p = pi/180 : gosub axes

x = xmin : y = 1/cos(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = xmin to xmax step p/2
  x = a : y = 1/cos(a)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return

' ******************************************************************************

cosecante:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = COSEC(X)"
print_target_is form_graph%
print "La fonction COSEC(x) (cosecante circulaire de x) qui est égale à 1/SIN(x) est définie quelque soit x tel que SIN(x) ne soit pas nul.":print

print " COSEC(x) est donc définie pour x <> k*pi avec k entier positif, négatif ou nul.":print
print " La fonction y = cosec(x) peut prendre toutes les valeures de ]-l'infini à -1] et de [+1 à + l'infini[.":print

print " Notez bien le tracé des asymptotes verticales pour les valeurs de k*pi.":print
print:print " En PANORAMIC, la fonction cosecante n'existe pas. Pour l'utiliser faites y = 1/sin(x)"

xmin = -2*pi : xmax = 2*pi : ymin = -2 : ymax = 2 : p = pi/180 : gosub axes
x = xmin : y = 1/sin(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = xmin to xmax step p
  x = a : y = 1/sin(a)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************
' *** Les fonctions ARCSIN,ARCCOS,ARCTAN, etc.. s'appellent des fonctions
'    circulaires réciproques ou inverses

arc_sinus:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = ARC_SIN(X)"
print_target_is form_graph%
print " LA fonction ARCSIN(x) (Arc sinus x ),fonction inverse de la fonction sinus est définie dans l'intervalle [-1, +1].":print
print " Elle est impaire, continue et croissante de -pi/2 à +pi/2":print
print : print " En PANORAMIC, la fonction Arc sin x est notée ASIN(x)"
xmin = 0-2 : xmax = 2 : ymin = -1 : ymax = 1 : p = 1 : gosub axes
x = 0-1 : y = asin(x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = -1 to 1 step p
  x = a : y = asin(a)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

arc_cosinus:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = ARC_COS(X)"
print_target_is form_graph%
print " LA fonction ARCCOS(x) (Arc cosinus x ),fonction inverse de la fonction cosinus est définie dans l'intervalle [-1, +1].":print

print " Elle est impaire, continue et décroissante de pi à 0":print
print : print " En PANORAMIC, la fonction Arc cos x est notée ACOS(x)"
xmin = 0-2 : xmax = 2 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
x = 0-1 : y = acos(x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = -1 to 1 step p
  x = a : y = acos(a)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a
x = 1 : y = acos(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4

return
' ******************************************************************************

arc_tangente:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = ARC_TAN(X)"
print_target_is form_graph%
print " LA fonction ARCTAN(x) (Arc tangente x ), fonction inverse de la fonction tangente est définie quel que soit x":print

print " Elle est impaire,continue et croissante de -pi/2 à +pi/2 (bornes non comprises)":print
print : print " En PANORAMIC, la fonction Arc tg x est notée ATN(x)"
xmin = 0-10 : xmax = 10 : ymin = -1 : ymax = 1 : p = 1 : gosub axes
x = xmin : y = atn(x) :p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp+lx,yp/2+ly/4 :  ' tracé de l'asymptote horizontale y = -pi/2
for a = xmin to xmax step p
  x = a : y = atn(a)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a
2d_poly_to 0,yp/2+ly/4      : ' tracé de l'asymptote horizontale y = pi/2
return
' ******************************************************************************

arc_cotangente:

show  form_graph%
caption  form_graph% , string$(50," ")+" <CLICK>  POUR REVENIR" +string$(55," ") + "Y = ARC_COTAN(X)"
print_target_is form_graph%
print " LA fonction ARCCOTAN(x) (Arc cotangente x ),fonction inverse de la fonction cotangente est définie quel que soit x":print

print " Elle est impaire, continue et décroissante de pi à 0 (bornes non comprises)":print
print : print " En PANORAMIC, cette fonction n'existe pas. Pour l'utiliser faites y = pi/2 - ATN(x)"

 xmin = -10: xmax = 10 : ymin = -3 : ymax = 3 : p = 1 : gosub axes
x = xmin : y = pi/2 - atn(a)  : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp-20,yp/2+ly/4
for a = xmin to xmax step p
  x = a : y = pi/2 - atn(a)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

' ARCSEC(x) = -ARCCOS(1/x) = ATN(SQR(x*x-1))-pi
arc_secante:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = ARC_SEC(X)"
print_target_is form_graph%
print " LA fonction ARCSEC(x) (Arc secante x ),fonction inverse de la fonction secante":print
print " est définie de moins l'infini à moins un et de plus un à plus l'infini (bornes non comprises)":print
print : print " En PANORAMIC, cette fonction n'existe pas. Pour l'utiliser faites y = -ACOS(1/x) ou y = ATN(SQR(x*x-1))-pi":print

 xmin = -10: xmax = 10 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
x = xmin :  y = 0-acos(1/x)  : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(y-ymin)/(ymax-ymin)
2d_poly_from xp-100,0
for a = xmin to 0-1 step p        : ' Branche gauche de la courbe
  x = a :  y =0- acos(1/x)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2 +ly/4
next a

x = 1 + epsilon :  y = 0-acos(1/x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(y-ymin)/(ymax-ymin)
2d_poly_from xp,(yp/2+ly/4)
for a = 1+epsilon to xmax step p  : ' Branche droite de la courbe
  x = a :  y = 0-acos(1/x)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

' ARCCOSEC(x) = ASIN(1/x) = ATN(x/sqr(x*x-1))
arc_cosecante:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = ARC_COSEC(X)"
print_target_is form_graph%
print " LA fonction ARCCOSEC(x) (Arc cosecante x ),fonction inverse de la fonction":print
print " cosecante est définie de moins l'infini à moins un et de plus un à plus l'infini (bornes non comprises)":print
print :print " En PANORAMIC, cette fonction n'existe pas. Pour l'utiliser faites y = ASIN(1/x) = ATN(x/sqr(x*x-1))"

 xmin = -10: xmax = 10 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
x = xmin : y = asin(1/x) :p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp-100,0-(yp/2-ly/4)
for a = xmin to 0-1 step p
  x = a : y = asin(1/x)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

x = 1+p : y = asin(1/x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = 1+p to xmax step p
  x = a :  y = asin(1/x)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************
' *** Les fonctions SH et CH s'appellent des fonctions hyperboliques parce
'    que la branche "droite" de l'hyperbole d'équation x*x - y*y = 1 peut se
'    paramétrer en :
'    x = ch(t)
'    y = sh(t) avec t réel quelconque
' ******************************************************************************

sinus_hyperbolique:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = SINH(X)"
print_target_is form_graph%
print " On appelle sinus hyperbolique de x la quantité : y = SH(x) = (exp(x) - exp(-x))/2" : print
print " y = sh(x) est impaire, définie et continue quelque soit x" : print : print
print " En PANORAMIC la fonction sinus hyperbolique de x est notée HSIN(x)"
xmin = -5: xmax = 5 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
x = xmin : y = hsin(x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp-100,0-(yp/2+ly/4)
for a = xmin to xmax step p
  x = a :  y = hsin(x)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

cosinus_hyperbolique:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = COSH(X)"
print_target_is form_graph%
print " On appelle cosinus hyperbolique de x la quantité : Y = CH(x) = (exp(x) + exp(-x))/2":print
print " y = ch(x) est paire, définie et continue quelque soit x":print
print " Sa courbe représentative est appelée la chaînette" :print : print
print " En PANORAMIC la fonction cosinus hyperbolique de x est notée HCOS(x)"
xmin = -5: xmax = 5 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
x = xmin : y = hcos(x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp-100,0-(yp/2+ly/4)
for a = xmin to xmax step p
  x = a :  y = hcos(x)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

tangente_hyperbolique:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = TANH(X)"
print_target_is form_graph%
print " On appelle tangente hyperbolique de x la quantité :  Y = TH(x) = SH(x)/CH(x) = (exp(x) - exp(-x)) / (exp(x) + exp(-x))": print
print " y = th(x) est impaire, définie et continue quelque soit x ":print
print " La courbe représentative de y = th(x) admet pour asymptote les deux droites d'équations y = 1 et y = -1"
print:print:print " En PANORAMIC la fonction tangente hyperbolique de x est notée HTAN(x)"
xmin = -4: xmax = 4 : ymin = -1 : ymax = 1 : p = 1 : gosub axes
x = xmin : y = htan(x) :p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from lx,yp/2+ly/4  : ' asyptote d'équation y = -1
for a = xmin to xmax step p
  x = a :  y = htan(x)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a
2d_poly_to 0,yp/2+ly/4    : ' asyptote d'équation y = +1
return
' ******************************************************************************

cotangente_hyperbolique:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = COTH(X)"
print_target_is form_graph%
print " On appelle cotangente hyperbolique de x la quantité :" : print
print " Y = COTH(x) = CH(x) / SH(x) = 1 / TH(x) = (exp(x) + exp(-x)) / (exp(x) - exp(-x))":print
print " y = th(x) est définie et continue quelque soit x <> 0" : print
print:print " En PANORAMIC la fonction cotangente hyperbolique n'existe pas. Pour l'utiliser faites y = 1 / HTAN(x)"
xmin = -5: xmax = 5 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
x = xmin : y = 1/htan(x)  : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp-100,0-(yp/2+ly/4)
for a = xmin to xmax step p
  x = a :  y = 1/htan(x)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

secante_hyperbolique:

show  form_graph%
caption  form_graph% , string$(50," ")+" <CLICK>  POUR REVENIR" +string$(55," ") + "Y = SECH(X)"
print_target_is form_graph%
print " On appelle secante hyperbolique de x la quantité :  Y = SECH(x) = 2 / (exp(x) + exp(-x))":print
print " y = sech(x) est définie et continue quelque soit x. Elle admet pour x = 0 un maximum y = 1":print
print:print " En PANORAMIC la fonction secante hyperbolique n'existe pas. Pour l'utiliser faites y = 2 / (exp(x) + exp(0-x))"
xmin = -4: xmax = 4 : ymin = -1 : ymax = 1 : p = 1 : gosub axes
x = xmin : y = 2 /(exp(x) + exp(0-x)) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp-100,0-(yp/2+ly/4)
for a = xmin to xmax step p
  x = a :  y = 2 /(exp(x) + exp(0-x))
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

cosecante_hyperbolique:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = COSECH(X)"
print_target_is form_graph%
print " On appelle cosecante hyperbolique de x la quantité :  Y = COSECH(x) = 2 / (exp(x) - exp(0-x))":print
print " y = cosech(x) est définie et continue quelque soit x <> 0" : print
print:print " En PANORAMIC la fonction cosecante hyperbolique de x n'existe pas. Pour l'utiliser faites y = 2 /(exp(x) - exp(0-x))"

xmin = -5: xmax = 5 : ymin = -1 : ymax = 1 : p = 1 : gosub axes
x = xmin : y = 2 /(exp(x) - exp(0-x)) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp-100,0-(yp/2+ly/4)
for a = xmin to xmax step p
  x = a :  y = 2 /(exp(x) - exp(0-x))
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a
2d_line 0,yp/2+ly/4+3,lx,yp/2+ly/4+3 : ' asymptote horizontale y = 0
return
' ******************************************************************************

argument_sinus_hyperbolique:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = ARGSH(X)"
print_target_is form_graph%
print " La fonction Argsh(x) (argument sinus hyperbolique de x) est une fonction inverse de la fonction SH(x)":print
print "  y = argsh(x) est définie quelque soit x; elle est continue et croissante de moins l'infini à plus l'infini.":print
print:print " En PANORAMIC la fonction argument sinus hyperbolique de x n'existe pas.  Pour l'utiliser faites y = log(x+sqr(x*x+1))"
xmin = -5: xmax = 5 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
 x = xmin : y = log(x+sqr(x*x+1)) : p = pi/180
 xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
 2d_poly_from xp,yp/2+ly/4
for a = xmin to xmax step p
  x = a : y = log(x+sqr(x*x+1))
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

argument_cosinus_hyperbolique:

show  form_graph%
caption  form_graph% , string$(50," ")+" <CLICK>  POUR REVENIR" +string$(55," ") + "Y = ARGCH(X)"
print_target_is form_graph%
print " La fonction Argch(x) (argument cosinus hyperbolique de x) est une fonction  inverse de la fonction CH(x)":print
print " y = argch(x) est définie quelque soit x >= 1; elle est continue et croissante de 0 à plus l'infini.":print
print:print " En PANORAMIC la fonction argument cosinus hyperbolique de x n'existe pas. Pour l'utiliser faites y = log(x+sqr(x*x-1))"

xmin = -4: xmax = 4 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
 x = 1 : y = log(x+sqr(x*x-1)) : p = pi/180
 xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
 2d_poly_from xp,yp/2+ly/4
for a = 1 to xmax step p
  x = a : y = log(x+sqr(x*x-1))
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

argument_tangente_hyperbolique:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = ARGTH(X)"
print_target_is form_graph%
print " La fonction Argth(x) (argument tangente hyperbolique de x) est une fonction inverse de la fonction TH(x)":print
print " y = argth(x) est définie dans l'intervalle ]-1, +1[ ; elle est continue et  croissante de moins l'infini à plus l'infini.":print
print " Elle admet pour asymptotes les droites d'équations x = 1 et x = -1":print
print " En PANORAMIC la fonction argument tangente hyperbolique de x n'existe pas. Pour l'utiliser faites y = 1/2 * log((1+x)/(1-x))"

xmin = -4: xmax = 4 : ymin = -1 : ymax = 1 : p = 1 : gosub axes
x =  -1+ epsilon : y = 0.5*log((1+x)/(1-x)) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,0 : ' asymptote verticale x = -1
for a = -1+epsilon to 1 step p
  x = a : y = 0.5*log((1+x)/(1-x))
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a
2d_poly_to xp,ly  : ' asymptote verticale x = +1

return
' ******************************************************************************

argument_cotangente_hyperbolique:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = ARGCOTH(X)"
print_target_is form_graph%
print " La fonction Argcoth(x) (argument cotangente hyperbolique de x) est une fonction inverse de la fonction COTH(x)":print
print " y = argcoth(x) est définie pour x < -1 et x > +1. Elle admet pour asymptotes les droites d'équations x = 1 et x = -1":print
print:print " En PANORAMIC la fonction argument cotangente hyperbolique de x n'existe pas. Pour l'utiliser faites y = 1/2 * log((x+1)/(x-1))"
xmin = -8: xmax = 8 : ymin = -1 : ymax = 1 : p = 1 : gosub axes
 x =  xmin : y = 0.5*log((1+x)/(x-1)) : p = pi/180
 xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
 2d_poly_from xp-100,0
for a = xmin to -1 step p    : ' Branche pour x < -1
  x = a : y = 0.5*log((1+x)/(x-1))
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a
 2d_poly_to xp,0  : ' asymptote verticale x = -1
 x =  -1-epsilon : y = 0.5*log((1+x)/(x-1))
 xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
 2d_poly_to xp,yp/2+ly/4
 
 x =  1+epsilon : y = 0.5*log((1+x)/(x-1))
 xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,ly : ' asymptote verticale x = +1

for a = 1+epsilon to xmax step p  : ' Branche pour x > +1
  x = a : y = 0.5*log((1+x)/(x-1))
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

argument_secante_hyperbolique:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = ARGSECH(X)"
print_target_is form_graph%
print " La fonction Argsech(x) (argument secante hyperbolique de x) est une fonction inverse de la fonction SECH(x)":print
print " y = argsech(x) est définie pour x > 0 et x <= 1":print
print " En PANORAMIC la fonction argument secante hyperbolique de x n'existe pas. Pour l'utiliser faites y =  log((1+sqr(1-x*x)/x))"

xmin = -4: xmax = 4 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
 x =  epsilon : y = log((1+sqr(1-x*x)/x)) : p = pi/180
 xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
 2d_poly_from xp,yp/2+ly/4
for a = epsilon to 1 step p
  x = a : y = log((1+sqr(1-x*x)/x))
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4 +10
next a
return
' ******************************************************************************

' Argcosech(x) = log(1/x + (x*sqr(1+x*x))/x*x) est définie pour  x > 0
argument_cosecante_hyperbolique:

show  form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = ARGCOSECH(X)"
print_target_is form_graph%
print " La fonction Argcosech(x) (argument cosecante hyperbolique de x) est une fonction inverse de la fonction COSECH(x)":print
print " y = argsech(x) est définie quelque soit x <> 0":print
print:print " En PANORAMIC la fonction argument cosecante hyperbolique de x n'existe pas. "
print:print " Pour l'utiliser faites y = log(1 / x + (x * sqr(1 + x * x)) / x * x)"

xmin = -4: xmax = 4 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
 x =  epsilon : y = log(1/x + (x*sqr(1+x*x))/x*x) : p = pi/180
 xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
 2d_poly_from xp,yp/2+ly/4
for a = epsilon to xmax step p  : ' branche droite de la courbe
  x = abs(a) : y = log(1/x + (x*sqr(1+x*x))/x*x)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

x =  epsilon : y = log(1/x + (x*sqr(1+x*x))/x*x)
 xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
 xp = lx-xp : yp = ly -yp
 2d_poly_from xp,yp/2+ly/4      : ' branche gauche de la courbe
for a = epsilon to xmax step p
  x = a : y = log(1/x + (x*sqr(1+x*x))/x*x)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  xp = lx-xp : yp = ly -yp
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

sinus_cardinal:
show  form_graph%
caption  form_graph% , string$(50," ")+" <CLICK>  POUR REVENIR" +string$(55," ") + "Y = SINC(X)"
print_target_is form_graph%
print " Le sinus cardinal est une fonction spéciale utilisée dans des problèmes de physique ondulatoire":print
print " Son graphe est appelé 'chapeau mexicain' à cause de la forme de sa courbe en 3D.":print
print " La fonction sinus cardinal est définie par  SINC(x) = SIN(x)/x":print
print:print " En PANORAMIC cette fonction n'existe pas. Pour l'utiliser faites y = SIN(x) / x"

xmin = -20 : xmax = 20 : ymin = -.5 : ymax = .5 : p = 2 : gosub axes
x = xmin : y = sin(x)/x  : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
 2d_poly_from xp,yp/2+ly/4
for a = xmin+p to xmax step p
  x = a : y = sin(x)/x
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

sinus_cardinal_normalise:

show form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = SINCN(X)"
print_target_is form_graph%
print " La fonction sinus cardinal normalisé est définie par SINCN(x) = SIN(pi*x)/pi*x":print
print:print " En PANORAMIC cette fonction n'existe pas. Pour l'utiliser faites y = SIN( pi * x ) / pi * x"

xmin = -20 : xmax = 20 : ymin = -.5 : ymax = .5 : p = 2 : gosub axes
x = xmin : y = sin(pi*x)/(pi*x)  : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
 2d_poly_from xp,yp/2+ly/4
for a = xmin+p to xmax step p
  x = a : y = sin(pi*x)/(pi*x)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

logarithme_neperien:

show form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = LOG(X)"
print_target_is form_graph%
print " La fonction LOG(x) (logarithme népérien de x) est définie et continue pour tout x > 0":print
print " Elle est croissante de moins l'infini à plus l'infini. Elle s'annule pour x = 1":print
print " Elle prend la valeur 1 pour x = e = 2.71828182845905":print
print " la valeur e = exp(1) est appelé ' base des logarithmes népériens '":print
print " Elle admet pour asymptote l'axe des y":print
print:print " En PANORAMIC, la fonction logarithme népérien de x est notée LOG(x)"

xmin = -10 : xmax = 10 : ymin = -2 : ymax = 2 : p = 1 :gosub axes
x = epsilon : y = log(x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
 2d_poly_from xp,yp/2+ly/4
for a = epsilon to xmax step p
  x = a : y = log(x)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

logarithme_decimal:

show form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = LOG10(X)"
print_target_is form_graph%
print " La fonction LOG10(x) (logarithme décimal de ) , est appelé aussi logarithme vulgaire ou à base 10":print
print " Elle est définie et continue pour tout x > 0":print
print " Elle est croissante de moins l'infini à plus l'infini. Elle s'annule pour x = 1":print
print " Elle admet pour asymptote l'axe des y":print
print:print " En PANORAMIC, la fonction logarithme décimal de x est notée LOG10(x)"

xmin = -10 : xmax = 10 : ymin = -2 : ymax = 2 : p = 1 :gosub axes
x = epsilon : y = log10(x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = epsilon to xmax step p
  x = a : y = log10(x)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************

logarithme_binaire:

show form_graph%
caption  form_graph% , string$(50," ")+" <CLICK>  POUR REVENIR" +string$(55," ") + "Y = LOG2(X)"
print_target_is form_graph%
print " La fonction LOG2(x) (logarithme binaire de x ou à base 2) est définie et continue pour tout x > 0":print
print "                      !!! A T T E N T I O N !!!":print
print " Il ne s'agit pas de l'écriture en binaire(0,1) du  résultat, mais de la base 2":print
print " Elle est croissante de mois l'infini à plus l'infini. Elle s'annule pour x = 1. Elle admet pour asymptote l'axe des y":print
print " Pour toute autre base a, la fonction logarithmique de base a est notée LOGa(x) = LOG(x)/LOG(a)":print
print :print " En PANORAMIC, la fonction logarithme binaire de x est notée LOG2(x)"

xmin = -10 : xmax = 10 : ymin = -2 : ymax = 2 : p = 1 :gosub axes

x = epsilon : y = log2(x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
 2d_poly_from xp,yp/2+ly/4
for a = epsilon to xmax step p
  x = a : y = log2(x)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return

' ******************************************************************************

exponentielle:

show form_graph%
caption  form_graph% ,string$(50," ")+" <CLICK>  POUR REVENIR" + string$(55," ") + "Y = EXP(X)"
print_target_is form_graph%
print " La fonction EXP(x) (exponentielle de x) est définie et continue quelque soit x":print
print " La fonction EXP(x) croît de 0 au-dessus à plus l'infini. L'axe des x est donc asymptote à la courbe représentative de y = exp(x)":print
print:print " En PANORAMIC la fonction exponentielle est notée EXP(x)"

xmin = -4 : xmax = 4 : ymin = -5 : ymax = 5 : p = 1 :gosub axes
x = xmin : y = exp(x)  : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
 2d_poly_from xp,yp/2+ly/4
for a = xmin to xmax step p
  x = a : y = exp(x)
  xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
  2d_poly_to xp,yp/2+ly/4
next a

return
' ******************************************************************************



PROGRAMME EDTE UNE FOIS

A+


Dernière édition par papydall le Mar 10 Juil 2012 - 3:16, édité 2 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


Nombre de messages : 12295
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyMer 9 Mai 2012 - 21:09

Là, tu as fait fort ! Je prends et je le garde précieusement ! Merci pour ce bel exemple de didactique !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


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

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyMer 9 Mai 2012 - 22:18

Merci Klaus.
Je suis très heureux de ta réponse. Very Happy Very Happy Very Happy

A+
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyMer 9 Mai 2012 - 22:45

Extra Papydall
Très clair, source nickel, joli et très intéressant et tout ça en peut de ligne...
Je serais Jack, je demanderais ton accord pour mettre ce source dans les exemples de Panoramic sur le site ...
Revenir en haut Aller en bas
papydall

papydall


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

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyMer 9 Mai 2012 - 23:11

Salut Jicehel !
Tout ce que je mets sur ce FORUM est à celui qui en veut. Tu peux donc en faire ce que tu veux, où tu veux, quand tu veux.
Par ailleurs, je suis très content, d’avoir apporté un petit quelque chose.
A+ Laughing

Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
maelilou




Nombre de messages : 162
Age : 75
Localisation : Ardennes françaises
Date d'inscription : 02/05/2012

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyMer 9 Mai 2012 - 23:31

Super ce programme !!!

Voilà qui ravive bien des souvenirs estudiantins. !!!

Je vais l'éplucher pour le plaisir.
Revenir en haut Aller en bas
papydall

papydall


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

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyMer 9 Mai 2012 - 23:55

Merci Maelilou !
Ça me fait plaisir ce que tu as écrit
A+ lol!
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
jjn4

jjn4


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

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: +++    - Trigonométrie circulaire et hyperbolique EmptyJeu 10 Mai 2012 - 15:16

Alors là, papydall, chapeau bas !
Tu nous laisses pantois !
Mais, si je puis me permettre de demander un petit quelque chose en plus...
C'est que c'est bien, maintenant, de savoir calculer toutes ces fonctions,
mais elles servent à quoi, en gros ???
Qu'est-ce qu'on peut faire avec ces diverses fonctions ?
(y'en a même certaines dont je n'avais jamais entendu parler !)
scratch scratch scratch alien scratch scratch scratch
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
papydall

papydall


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

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyJeu 10 Mai 2012 - 16:34

Salut JJN4

Voila une question bien embarrassante ! confused

Pour le commun des mortels ces fonctions ne servent pas à grand-chose, sauf à apporter la migraine ! bom
Mais en réalité, ces fonctions sont indispensables dans tous les domaines !

Les domaines scientifiques utilisant la trigonométrie sont:
L'acoustique, l'architecture, l'astronomie (et ainsi la navigation, sur les océans, dans les airs et dans l'espace), la biologie, la cartographie, la chimie, le génie civil, l'infographie, la géophysique, la cristallographie, les sciences économiques (en particulier dans l'étude des marchés financiers), l'électrotechnique, l'électronique, la topographie et la géodésie, beaucoup de sciences physiques, la construction mécanique, l'imagerie médicale (tomographie axiale calculée et ultrasons), la météorologie, la théorie de la musique, la théorie des nombres (et par conséquent la cryptographie), l'océanographie, l'optique, la pharmacologie, la phonétique, la théorie des probabilités, la psychologie, la séismologie, les statistiques, et la perception visuelle. Et j’en oublie certainement !

Exemple :
La forme d’un pont suspendu est celle de la courbe de la fonction Cosinus Hyperbolique CH(x) qui d’ailleurs s’appelle la chainette
La chaînette est la forme prise par un fil pesant flexible infiniment mince homogène inextensible suspendu entre deux points, placés dans un champ de pesanteur uniforme.

La trigonométrie sert dans tous les domaines :
La détermination de la distance d'un bateau par triangulation.
La détermination de la hauteur de la tour Eiffel par exemple ou d’une montagne.
Le calcul de la distance entre 2 points du globe.
La localisation d’un objet dans l’espace.

Elle sert aussi, comme disait un élève, à faire baisser ses notes!

lol!

Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyJeu 10 Mai 2012 - 20:16

N'étant pas du tout un matheu, j'y comprend rien, mais je dois dire respect.....

Et vu les commentaires çà confirme...

A+
Revenir en haut Aller en bas
papydall

papydall


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

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyVen 11 Mai 2012 - 3:49

Salut tout le monde.

Essayez ce programme ultra court.
Si la trigonométrie ne sert qu’à ça, je la trouverai merveilleuse !

Code:

' ******************************************************************************
'
'              LES SINUS ET COMPAGNIE SONT MERVEILLEUX
'                          PAR PAPYDALL
'
' ******************************************************************************
dim x,y,lx,ly,pi,p,i,j,r,r1
width 0,1000 : height 0,700 : color 0,0,0,0 : font_color 0,255,255,0
caption 0, "<CLICK> pour terminer" : 2d_pen_color 0,255,0 : cls
lx = 600 : ly = 350 :  pi = 4*atn(1) : p = pi/180
 r = 200
for j = 1 to 10
  for i = 0-10*pi to 10*pi step p
    x = r*cos(i/j) : y = r*sin(2*i/j)
  ' x = 2*i/j : y = r*sin(2*i/j)/(2*i/j)
  ' x = i : y = r*sin(i)/i
  ' x = r*tan(i/j) : y = r*sin(2*i/j)
  ' x=0 : y =0
  ' x = log(abs(sin(i))): y = exp(cos(i*j)) : r1 = tan(x*y)
    r1 = 2*r*pi/i/j : 2d_pen_color rnd(255),rnd(255),rnd(255)
    2d_circle x+lx-10*i,y+ly,r1
    if scancode <> 0 then terminate
  next i
  wait 10
next j
caption 0,"TERMINE"

A+
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


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

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyVen 11 Mai 2012 - 4:01

Voici un autre programme tout aussi court!

Exécutez D’ABORT ce programme avant de disséquer le source

Code:

' ******************************************************************************
'
'          I L L U S I O N    D ' O P T I Q U E
'
'                    PAR PAPYDALL
' ******************************************************************************

dim x,y,a,pi,p,i,r$(3),c$,rep$
pi = 4*atn(1) : p = pi/36
 r$(1) = "766983328482657384833286698284736765858832"
 r$(2) = "8185733268698383737869788432676984846932"
 R$(3) = "70737185826932837978843284798583326971658588"
 c$ = r$(1)+r$(2)+r$(3)
width 0,1000 : height 0,700 :  color 0,0,0,0 :2d_pen_color 0,255,0
font_color 0, 255,255,0 : font_size 0,12 : font_bold 0 : cls
for a = -10*pi to 10*pi step p
  x = 50 + 30 * a : y = 150 * sin(a) : 2d_line x,350 + y, x , 300 + y
next a
print : print
print " Les traits verticaux qui dessinent cette figure sont-ils égaux ou inégaux ?"
print : print " S'ils sont inégaux, où se trouvent les plus longs ?"
print : print " Cliquez n'importe où pour connaitre la reponse"
repeat : until scancode <> 0
for i = 1 to len(c$)- 1  step 2 : rep$ = rep$ + chr$(val(mid$(c$,i,2))) : next i
print_locate 1,600 : print " DETROMPEZ-VOUS,  " + rep$ + ",  CROYEZ-MOI !"
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyVen 11 Mai 2012 - 7:01

Salut,

Code:
" S'ils sont inégaux, où se trouvent les plus longs ?"


lol!
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyVen 11 Mai 2012 - 7:27

Very Happy
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 66
Localisation : Val de Marne
Date d'inscription : 13/11/2011

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyVen 11 Mai 2012 - 10:52

bonjour Papydall,
Ton programme de trigo...machin chose Laughing me rappelle mes cours de math au Lycée et en IUT. C'est vrai que pour la plupart des gens, on ne voit pas tout de suite l'intérêt d'apprendre ces fonctions mathématiques, mais elles servent vraiment dans la vie de tous les jours et dans de nombreux métiers.
Je le garde précieusement, ça me servira sûrement pour développer des algorithmes.
A bientôt! Wink
Revenir en haut Aller en bas
jjn4

jjn4


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

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: +++    - Trigonométrie circulaire et hyperbolique EmptyVen 11 Mai 2012 - 11:59

Ok, merci pour l'explication.
Et ton petit exemple est absolument magnifique !
Bravo !
cheers alien cheers
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptySam 12 Mai 2012 - 18:04

Bravo papydall, très belle illustration !
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyDim 13 Mai 2012 - 22:48

J'aime bien ton exemple, alors avant d'attaquer le test du Tarot de Bignono, je t'ai fais une petite variante juste en modifiant un peu les formules Wink
Code:
' ******************************************************************************
'
'              LES SINUS ET COMPAGNIE SONT MERVEILLEUX
'                          PAR PAPYDALL
'
' ******************************************************************************
dim x,y,lx,ly,pi,p,i,j,r,r1
lx = 1000 : ly = 700 :  pi = 4*atn(1) : p = pi/180 : r = 200
width 0,lx : height 0,ly : color 0,0,0,0 : font_color 0,255,255,0
caption 0, "<CLICK> pour terminer" : 2d_pen_color 0,255,0 : cls
for j = 1 to 10
  for i = 0-20*pi to 20*pi step p
'  x=sin(i) : y=cos(i)
    x=0.04*(i/j)*cos(i) : y=0.04*(i/j)*sin(i)
    r1 = 0.5*r*pi/i/j : 2d_pen_color abs((j/4)*i)+rnd(70),j*25+5,255 - abs((j/4)*i) -rnd(70)
    2d_circle x+0.5*lx-10*i*x,y+0.5*ly-10*i*y,r1
    if scancode <> 0 then terminate
  next i
  wait 10
next j
caption 0,"TERMINE"
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyDim 13 Mai 2012 - 23:15

Vertigineux !
Revenir en haut Aller en bas
papydall

papydall


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

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyLun 14 Mai 2012 - 1:08

Mettez une pincée de SIN, une autre de COS, saupoudrez d’un peu de HSIN ou HCOS et espérez obtenir un chef d’œuvre !

Pas plus compliqué que ça !

Smile Laughing

Code:

' ******************************************************************************
'
'              LES SINUS ET COMPAGNIE SONT MERVEILLEUX
'                          PAR PAPYDALL
'
' ******************************************************************************
dim x,y,lx,ly,pi,p,i,j,r,r1
lx = 1000 : ly = 700 :  pi = 4*atn(1) : p = pi/180 : r = 200
width 0,lx : height 0,ly : color 0,0,0,0 : font_color 0,255,255,0
caption 0, "<CLICK> pour terminer" : 2d_pen_color 0,255,0 : cls
for j = 1 to 10
  for i = 0-20*pi to 20*pi step p
  ' x=sin(i) : y=cos(i)
  ' x=0.04*(i/j)*cos(i) : y=0.04*(i/j)*sin(i)
  ' x=0.04*(i/j)*hsin(cos(i)) : y=0.04*(i/j)*hsin(cos(i))*sin(i)
  ' x=0.04*(i/j)*hsin(cos(i))*cos(i) : y=0.04*(i/j)*hsin(cos(i))*sin(i)
  x=0.04*(i/j)*hsin(cos(i))*cos(i)-sin(i) : y=0.04*(i/j)*hsin(cos(i))*sin(i)-cos(i)
  ' x=0.04*(i/j)*hsin(cos(i))*cos(i) : y=0.04*(i/j)*hsin(cos(i))*sin(i)*sin(i)
  ' x = 0 : y = 0
  '  x=(hsin(i/2)-hcos(i/3)*sin(i))/7 : y=hcos(i/2)+hsin(i/7)
    r1 = (2*r*pi/i/j) : 2d_pen_color abs((j/4)*i)+rnd(70),j*25+5,255 - abs((j/4)*i) -rnd(70)
    2d_circle x+0.5*lx-10*i*x,y+0.5*ly-10*i*y,r1
    if scancode <> 0 then terminate
  next i
'  wait 1
next j
caption 0,"TERMINE"

lol! lol!
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyLun 14 Mai 2012 - 1:56

Bon encore une variation du coup Wink
Code:
' ******************************************************************************
'
'              LES SINUS ET COMPAGNIE SONT MERVEILLEUX
'                          PAR PAPYDALL
'
' ******************************************************************************
dim x,y,lx,ly,pi,p,i,j,r,r1
lx = 1000 : ly = 700 :  pi = 4*atn(1) : p = pi/180 : r = 200
width 0,lx : height 0,ly : color 0,0,0,0 : font_color 0,255,255,0
caption 0, "<CLICK> pour terminer" : 2d_pen_color 0,255,0 : cls
for j = 1 to 10
  for i = 0-20*pi to 50*pi step 2*p
  ' x=sin(i) : y=cos(i)
  ' x=0.04*(i/j)*cos(i) : y=0.04*(i/j)*sin(i)
  ' x=0.04*(i/j)*hsin(cos(i)) : y=0.04*(i/j)*hsin(cos(i))*sin(i)
  ' x=0.04*(i/j)*hsin(cos(i))*cos(i) : y=0.04*(i/j)*hsin(cos(i))*sin(i)
  x=0.04*(i/j)*hsin(cos(i))*cos(i) : y=0.04*(i/j)*hsin(cos(i))*sin(i)
  ' x=0.04*(i/j)*hsin(cos(i))*cos(i) : y=0.04*(i/j)*hsin(cos(i))*sin(i)*sin(i)
  ' x = 0 : y = 0
  '  x=(hsin(i/2)-hcos(i/3)*sin(i))/7 : y=hcos(i/2)+hsin(i/7)
    r1 = (2*r*pi/i/j) : 2d_pen_color abs((j/8)*i)+rnd(50),j*20+50,255 - abs((j/8)*i) -rnd(50)
    2d_circle x+1.05*lx-10*i*x,y+0.5*ly-10*i*y,r1
    if scancode <> 0 then terminate
  next i
'  wait 1
next j
caption 0,"TERMINE"
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique EmptyLun 14 Mai 2012 - 7:06

Très joli tout çà,

encore mieux en remplacent "width 0,lx : height 0,ly " par FULL_SPACE 0

cheers
Revenir en haut Aller en bas
Contenu sponsorisé





 - Trigonométrie circulaire et hyperbolique Empty
MessageSujet: Re: Trigonométrie circulaire et hyperbolique    - Trigonométrie circulaire et hyperbolique Empty

Revenir en haut Aller en bas
 
Trigonométrie circulaire et hyperbolique
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» TRIGONOMETRIE CIRCULAIRE
» Premier pas en trigonométrie
» track_bar circulaire
» Un menu sympa et original de forme circulaire

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: