c********************************************************************* SUBROUTINE fleche(x,y,dxy,theta,lw) c routine public du module mod_numerique c dessine une flèche de direction theta, dont la pointe est en x,y, c la pointe fait 2*theta, c entrées: c x, y : coordonnées de la pointe c dxy : longueur des cotés c theta : angle de la flèche en degrés c lw : argument initial de pgslw (épaisseur du trait) c Auteur: P.Morel, Département J.D. Cassini, O.C.A. c------------------------------------------------------------------- USE mod_kind IMPLICIT NONE REAL (kind=sp), INTENT(in) :: dxy, theta, x, y INTEGER, INTENT(in) :: lw REAL (kind=sp), SAVE :: alpha=15. REAL (kind=sp) :: cosdd, dx1, dx2, dy1, dy2, sindd, t c--------------------------------------------------------------- c COSD et SIND ne sont pas toujours reconnus pat gfortran cosdd(t)=COS(t*ACOS(-1.)/180.) ; sindd(t)=SIN(t*ACOS(-1.)/180.) 2000 FORMAT(8es10.3) c WRITE(*,2000)x,y dx1=dxy*cosdd(alpha-theta) ; dy1=dxy*sindd(alpha-theta) dx2=dxy*cosdd(alpha+theta) ; dy2=dxy*sindd(alpha+theta) CALL pgslw(lw) CALL pgmove(x,y) ; CALL pgdraw(x-dx1,y+dy1) CALL pgmove(x,y) ; CALL pgdraw(x-dx2,y-dy2) CALL pgslw(1) RETURN END SUBROUTINE fleche