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

C# Discussion :

trouver coord centre arc dont 2 pts et rayon connu


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 244
    Points : 122
    Points
    122
    Par défaut trouver coord centre arc dont 2 pts et rayon connu
    Salut à toutes et à tous,

    Soit 2 points de coordonnées connues et un rayon connu.

    On sait qu'avec 2 points et un rayon connu, il y a 2 possibilités de centres.

    Pour régler ce problème, un rayon de valeur négative peut être utilisé.

    Définissons un "sens" dans l'arc. Si on part du Pt1 vers le Pt2 et que le rayon est positif, le centre sera à droite de l'arc, et si le rayon est négatif, le centre sera à gauche de l'arc.

    Comment déterminer la coordonnées du centre de l'arc ?

    Mon problème est plus au niveau mathématique qu'au niveau du codage, mais comme je ne trouve pas la solution mathématique, je me permet de poser la question ici parce que je me dis qu'il est impossible que je sois le premier à avoir ce besoin.
    Malgré tout je n'arrive à trouve la solution nulle part. Peut-être est-ce une mauvaise recherche de ma part, mais je fait est là que je ne trouve pas.

    Si vous détenez la solution, merci de m'aider.
    Il n'y a pas de problèmes. Il n'y a que des solutions.
    Malheureusement, elles sont parfois un peu dur à trouver ...


    Aucune touche n'a été maltraitée pour réaliser ce texte.

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 72
    Points : 129
    Points
    129
    Par défaut
    Bon j'avertis gentiment celui qui clique sur la miniature : c'est des maths!

    Il y a quand même une chose qui me chiffonne, c'est quand tu parles de rayon négatif...bon admettons...
    Images attachées Images attachées  

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 244
    Points : 122
    Points
    122
    Par défaut
    Oui kija13, j'espérais avoir été clair mais il semble que non.

    Je vais donc essayer de m'expliquer autrement :

    Imaginons qu'on "marche" le long de l'arc en partant du point 1 et en se dirigeant vers le point 2.
    En passant par les 2 points et avec un rayon donné, il peut y avoir 2 arcs : un arc dont le centre est à droite de l'arc, et un arc dont le centre est à gauche de l'arc.
    Il a donc été décidé (arbitrairement et à l'interne) que si le rayon est négatif, cela veut dire que le centre est à gauche. Évidemment, pour les calculs de distance par exemple, on prendrait la valeur absolue du rayon, le signe ne servant qu'à déterminer le côté où doit se trouver le centre.

    Exemple simple : Les parenthèse sont 2 arcs avec les mêmes points et le même rayon. Si on considère les parenthèses comme allant de bas en haut, ( aura un rayon positif alors que ) aura un rayon négatif.

    Avec ton image je crois que je devrais m'en sortir.
    Je vais essayer de voir ça.
    Merci

    JM
    Il n'y a pas de problèmes. Il n'y a que des solutions.
    Malheureusement, elles sont parfois un peu dur à trouver ...


    Aucune touche n'a été maltraitée pour réaliser ce texte.

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 72
    Points : 129
    Points
    129
    Par défaut
    Je plaisantais...
    En math un rayon est obligatoirement positif et en informatique on peut convenir que si le rayon est négatif alors c'est que etc...
    Pas sûr que les formules données correspondent au dessin en fait je pense que les formules (5) donnent les coordonnées de J et pas de I
    N'hésite pas à demander un complément d'explication si besoin est.

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 244
    Points : 122
    Points
    122
    Par défaut
    Merci kija13,

    J'ai bien compris tes explications et les ai codées.

    Effectivement, en partant de A vers B, un rayon positif déterminera le centre en J et un rayon négatif déterminera le centre en I.

    Pour ceux que cela intéresse, cela donne ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    public class PointD
    {
        public double X { get; set; }
        public double Y { get; set; }
        public PointD(double x, double y)
        {
            X = x;
            Y = y;
        }            
    }
     
    /// <summary>
    /// Calcule le centre d'un arc à partir des points et du rayon
    /// </summary>
    /// <param name="Pt1">Point 1</param>
    /// <param name="Pt2">Point 2</param>
    /// <param name="Rayon">Rayon</param>
    /// <param name="Erreur"></param>
    /// <returns>Point centre</returns>
    public PointD ArcCenterPoint(PointD Pt1, PointD Pt2, double Rayon, ref string Erreur)
    {
        if (Pt1 == null)
        {
            Erreur = "Le point 1 est null";
            return null;
        }
        if (Pt1 == null)
        {
            Erreur = "Le point 2 est null";
            return null;
        }
        if (Rayon  == 0)
        {
            Erreur = "Le rayon est null";
            return null;
        }
        if (Math.Abs(Rayon) < Math.Sqrt(Math.Pow((Pt2.X - Pt1.X), 2) + Math.Pow((Pt2.Y - Pt1.Y), 2))/2)
        {
            Erreur = "Le rayon est inférieur à la moité de la corde";
            return null;
        }
        PointD CenterPoint = new TopocomPoint();
        PointD H = new PointD((Pt1.X + Pt2.X) / 2, (Pt1.Y + Pt2.Y) / 2);
        double X = Pt2.X - Pt1.X;
        double Y = Pt2.Y - Pt1.Y;
        double k = Math.Sqrt(Math.Pow(Rayon,2) / (Math.Pow(X,2) + Math.Pow(Y,2)) - 0.25);
        if (Rayon > 0)
        {
            CenterPoint.X = H.X + k * Y;
            CenterPoint.Y = H.Y - k * X;
        }
        else
        {
            CenterPoint.X = H.X - k * Y;
            CenterPoint.Y = H.Y + k * X;
        }
        return CenterPoint;
    }
    Il n'y a pas de problèmes. Il n'y a que des solutions.
    Malheureusement, elles sont parfois un peu dur à trouver ...


    Aucune touche n'a été maltraitée pour réaliser ce texte.

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

Discussions similaires

  1. Trouver le centre d'un polygone
    Par gregtw29 dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/07/2012, 16h27
  2. comment trouver un centre
    Par alexhoule dans le forum Lisp
    Réponses: 2
    Dernier message: 21/09/2010, 10h24
  3. comment trouver le centre d'une empreinte
    Par usto2005 dans le forum Traitement d'images
    Réponses: 5
    Dernier message: 04/05/2008, 15h55
  4. Trouver des centres de particules sur stack d'images en Z
    Par babarpapa dans le forum Traitement d'images
    Réponses: 19
    Dernier message: 03/11/2006, 08h30
  5. Réponses: 2
    Dernier message: 04/05/2006, 09h20

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