IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML/XSL et SOAP Discussion :

[SVG] Arc de cercle ?


Sujet :

XML/XSL et SOAP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 26
    Par défaut [SVG] Arc de cercle ?
    Bonjour,

    qqun pourrait-il me dire quelle est la methode la plus simple
    pour dessiner un arc de cercle.

    J'ai les données suivantes :
    x centre,
    y centre,
    rayon,
    angle de depart,
    angle de fin.

    N'y a t'il rien de plus approprié que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <path d="a100,100 100,100 90 100,100" fill="white" stroke="blue" stroke-width="5" />
    J'ai vu une methode qui me pourrait me convenir : createSVGPathSegArcAbs
    mais je n'arrive pas a l'utiliser.

    Merci pour vos conseils.
    3j

  2. #2
    Membre Expert Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Par défaut
    S'il est vrai que la balise <path> est un peu fourre-tout, la façon d'écrire comment faire un arc de cercle ne m'a pas l'air si verbeuse ?

    Quel est le problème ?!?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 26
    Par défaut
    Bonjour,

    Le probleme c'est que je n'arrive pas à obtenir un arc de cercle.

    Rien ne s'affiche.

    Quelle est la methode la plus simple pour obtenir un arc de cercle ?

    Merci
    3j

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 26
    Par défaut
    OK,

    J'ai eu un peu de mal a comprendre les coordonnees a passer à la fonction

    La doc etait pourtant suffisament claire :

    Command Name Parameters Description
    A (absolute)
    a (relative) elliptical arc (rx ry x-axis-rotation large-arc-flag sweep-flag x y)+ Draws an elliptical arc from the current point to (x, y). The size and orientation of the ellipse are defined by two radii (rx, ry) and an x-axis-rotation, which indicates how the ellipse as a whole is rotated relative to the current coordinate system. The center (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. large-arc-flag and sweep-flag contribute to the automatic calculations and help determine how the arc is drawn.

    Voici mon code Java :

    public static String svgArcCirclePath(BigDecimal x, BigDecimal y, BigDecimal startingAngle, BigDecimal endAngle, BigDecimal radius) {

    int departX = (int) (x.doubleValue() + radius.doubleValue() * Math.cos(startingAngle.doubleValue()));
    int departY = (int) (y.doubleValue() + radius.doubleValue() * Math.sin(startingAngle.doubleValue()));

    int arriveX = (int) (x.doubleValue() + radius.doubleValue() * Math.cos(endAngle.doubleValue()));
    int arriveY = (int) (y.doubleValue() + radius.doubleValue() * Math.sin(endAngle.doubleValue()));

    int sweepFlag = 0;
    if (startingAngle != null && endAngle != null) {
    BigDecimal diff = endAngle.subtract(startingAngle);
    sweepFlag = (diff.doubleValue() >= Math.PI) ? 1 : 0;
    }
    String d = " M" + departX + "," + departY + " A" + radius + "," + radius + " 0 " + sweepFlag + " 1 " + " " + arriveX + "," + arriveY;

    return d;
    }

    Je ne sais pas si cela pourra aider qq un jours.

    A+

    3J

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. SVG Dessiner un arc de cercle de manière progressive
    Par bronon dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 24/01/2015, 10h14
  2. [HTML 5] SVG - Dessiner un arc de cercle
    Par FrankOVD dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 21/06/2012, 21h43
  3. Arc de cercle sous VBA excel?
    Par fredieuric dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/11/2006, 13h58
  4. tracer arc de cercle
    Par scalaire00 dans le forum Débuter
    Réponses: 2
    Dernier message: 30/04/2006, 20h27
  5. [VB6] [Graphisme] Arc de cercle dans un picturebox
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 04/11/2002, 17h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo