Ocaml : Calcule de distance

ObiCamille -  
 ObiCamille -
Bonjour,

Je cherche à pouvoir dessiner un cercle dans la partie Graphics de Ocaml.

Afin de connaitre le rayon de mon cercle je clic 2 fois :
1 fois pour avoir le centre du cercle
1 2ème fois pour avoir le rayon.
Ce que je souhaite faire c'est calculer la distance AB à partir de leur coordonnées.

Quand je fais quelque chose du genre :
[......]
in let rayon = sqrt ( (xr-xo)**2 + (yr-yo)**2 ) ;;

J'obtiens une erreur du style : incompatible :
Type demandé UNIT
type que vous utilisé INT

Je ne vois pas comment faire, merci de votre aide.

4 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    J'ai confondu c'est tout...

    let rayon = sqrt( (float_of_int (xr-xo))**2.0 +. (float_of_int (yr-yo))**2.0 );;
    1
  2. KX Messages postés 19031 Statut Modérateur 3 020
     
    Tu ne peux faire des calculs de puissance que sur des double, alors que quand tu cliques tu obtiens des int !
    Essaye de convertir tes int en double avec double_of_int...
    0
  3. ObiCamille
     
    Merci de ton conseil.

    J'ai chargé "nums.cma" (juste au cas où)

    float_of_int 73;; fonctionne bien
    mais double_of_int 73;; me renvoie Unbound value double_of_int


    Quel est le souci ?
    0
  4. ObiCamille
     
    Ha d'accord, je te remercie.
    Connaissant très mal (pour ne pas dire du tout) OCaml, je découvre.
    C'est pour ça que j'étais étonné.
    Je viens de tester, apparemment il prend en compte la syntaxe. C'est une autre partie qui plantouille.

    Merci de ton aide
    0