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

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
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
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
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