Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

Normale à une courbe de Bézier

Posté par
Papy_Octet
19-07-18 à 18:33

Bonjour.
J'espère être dans la bonne section. À 68 ans, les appellations des sections me restent un peu obscures. En Belgique, ces appellations sont différentes de la France

Ma question :
Dans un logiciel de dessin, je trace une courbe de Bézier sur laquelle je place différents noeuds.
Je sais trouver les coordonnées de ces noeuds au travers du logiciel (Inkscape) et d'un peu de programmation.
Je voudrais pouvoir tracer les normales à la courbe de Bézier aux emplacements de ces différents noeuds. Ces normales me permettront de trouver les intersections avec une seconde courbe de Bézier qui suit la première et qui lui est plus ou moins parallèle.

Comment puis-je déterminer l'équation de la courbe à un noeud sachant qu'un noeud de Bézier est défini par ses coordonnées x et x (je travaille en 2D) et les coordonnées des "poignées" qui permettent de modifier cette courbe.

Merci.

Posté par
verdurin
re : Normale à une courbe de Bézier 20-07-18 à 15:51

Bonjour,
apparemment tu as accès aux cordonnées du point et à celle des poignées.

La normale à la courbe est la perpendiculaire à la droite qui passe par le point du nœud et sa poignée.
Normale à une courbe de Bézier
Dans l'image ci-dessus, les perpendiculaires aux droites joignant un carré ( point ) et un  rond ( poignée ).

Posté par
Papy_Octet
re : Normale à une courbe de Bézier 20-07-18 à 16:54

Merci verdurin.
Maintenant que tu l'écris, cela est évident.

Posté par
verdurin
re : Normale à une courbe de Bézier 20-07-18 à 19:16

Service.

J'aimerais te poser une question  : comment as-tu accès aux coordonnées dans Inkscape ?
Je me sers de ce programme pour communiquer, mais je fais la base du dessin avec pstricks en LaTeX, ce qui est quand même assez maladroit.

Si tu as une adresse pour une doc de qualité, je t'en serais très reconnaissant.

Posté par
Papy_Octet
re : Normale à une courbe de Bézier 21-07-18 à 08:54

Bonjour verduren,
Inkscape utilise un système un peu particulier pour permettre de créer des extensions :
1. on crée un fichier .inx qui va contenir les références aux objets contenus dans le dessin et dont on a besoin.
2. On crée ensuite un fichier en python qui va récupérer ces informations fournies par .inx, le manipuler comme on en a besoin. Ce code python a alors la possibilité d'intervenir dans le dessin puisqu'il a reçu les informations nécessaires depuis .inx.

Il faut savoir que Inkscape suit les prescriptions "SVG"  et le "recommandations W3C" pour créer les dessins. Le code Python devra aussi suivre ces prescriptions pour pouvoir atteindre les objets contenus dans le dessin.
D'ailleurs, dans Inkscape, il y a l'outil "Xml éditor" qui permet de manipuler les objets du dessin de manière non graphique.

Cette procédure est malheureusement très peu documentée et de nombreux tâtonnements m'ont été nécessaires pour appréhender la chose.
C'est en analysant les extensions de Inkscape (fichiers .inx et.py) qu'il est possible d'appréhender l'approche choisie par les auteurs (par exemple : ).
Le site (http://www.ekips.org/) contient de précieuses informations vraiment très utiles.
Un autre élément indispensable pour pouvoir intervenir dans les fichiers Inkscape est le fichier inkex.py ().

C'est avec toutes ces infos que j'arrive - patiemment - pas par pas à faire évoluer mon fichier. Je ne suis pas un programmeur professionnel. C'est par nécessité que j'ai tâté de ces outils.

Quelques pages web :








J'espère que ces infos te seront utiles.
Bonne lecture

A+

Posté par
verdurin
re : Normale à une courbe de Bézier 22-07-18 à 19:59

Merci beaucoup.

Je crois que je vais continuer avec pstricks, au moins dans un premier temps.

Posté par
luzak
re : Normale à une courbe de Bézier 25-07-18 à 21:53

Bonsoir verdurin !
Je suis un peu hors sujet mais as-tu envisagé de travailler en "metapost" ?
Ce logiciel est bien documenté (en français qui plus est) et dans l'utilisation des courbes de Bézier je crois que tu peux avoir accès aux points de contrôle.

Répondre à ce sujet

Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster :

Connexion / Inscription Poster un nouveau sujet
Une question ?
Besoin d'aide ?
(Gratuit)
Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.


Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !