Partage
  • Partager sur Facebook
  • Partager sur Twitter

Courbe de Bézier tangente à un Cercle

    29 août 2017 à 13:52:26

    Bonjour,
    J'ai une courbe de Bézier de troisième degré, et je voudrais savoir comment
    calculer "y3" (ordonnée de P3, le deuxième point de contrôle) pour que
    cette courbe soit tangente au cercle "C" (voir schéma).

    Ce que je connais :
       - les coordonnées du centre du cercle.
       - le rayon "R" du cercle.
       - les coordonnées de P1, P2, P4.
       - l'abscisse de P3.

    Merci pour votre aide.

    Nicolas 

     

    • Partager sur Facebook
    • Partager sur Twitter
      29 août 2017 à 20:07:21

      Si tu connais le cercle (son centre et son rayon) et si tu connais x3, tu peux trouver 2 valeurs possibles pour y3 (en bas et en haut du cercle). Un petit Pythagore devrait nous donner cela.

      Après, pour choisir entre le point du haut et le point du bas, sur ce schéma, c'est le point du bas. A toi de voir dans le cas général (peut être exploiter le signe y4-y2... )

      • Partager sur Facebook
      • Partager sur Twitter
        29 août 2017 à 21:38:31

        ...
        Un p'tit Pythagore... ???
        Les courbes de Bézier sont des courbes polynomiales paramétriques
        qui utilisent notemment le polynôme de Bernstein. Elles s'écrivent sous la forme :
        {\mathbf  {P}}(t)={\mathbf  {P}}_{0}(1-t)^{3}+3{\mathbf  {P}}_{1}t(1-t)^{2}+3{\mathbf  {P}}_{2}t^{2}(1-t)+{\mathbf  {P}}_{3}t^{3}

        ... je pense qu'un p'tit Pythagore va être un poil léger :-)

        • Partager sur Facebook
        • Partager sur Twitter
          30 août 2017 à 3:09:04

          On a une courbe de Bézier... mais on a aussi un cercle

          Donc y3 = yC + racine ( R² - (xC-x3)² )  ou bien y3 = yC - racine ( R² - (xC-x3)² ) 

          Reste à choisir entre ces 2 solutions. Sur ton dessin, c'est évident que c'est la 2ème, mais dans le cas général, c'est certainement plus compliqué.

          Edit : Bon, j'ai tout faux. Je pensais que tu cherchais le point P3 où la courbe était tangente au cercle :(

          Edit 2 : tu as une fonction qui te donne P(t). Tu peux bâtir la fonction f(t) = Distance (P(t), C) ... ou encore, Distance au carré, pour éviter les embêtements avec les racines carrées.

          Cette fonction est dérivable. Quand la courbe est tangente au cercle, c'est que la distance P(t) / C atteint un minimum. Et donc sa dérivée est nulle en ce point. Donc pour une certaine valeur de t , f(t)= R², et f'(t)= 0.

          Ca va nous permettre de poser des équations et théoriquement, en déduire y3. Maintenant, ce n'est pas dit que ce soit simple à résoudre !

          -
          Edité par tbc92 30 août 2017 à 3:19:55

          • Partager sur Facebook
          • Partager sur Twitter

          Courbe de Bézier tangente à un Cercle

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown