Comment positionner les poignées de Bézier avec des coordonnées exactes dans Inkscape
Pour positionner les poignées de Bézier avec des coordonnées exactes dans Inkscape, modifiez les valeurs des points de contrôle dans l'attribut d du chemin à l'aide de l'éditeur XML. Pour une courbe cubique écrite avec un C majuscule, les deux premières paires de coordonnées spécifient les poignées ; la dernière paire spécifie le point final. W3C: Paths
Ce tutoriel s'adresse à quelqu'un qui affine un contour de caractère et qui sait déjà où les poignées d'une courbe doivent se situer. L'exemple travaillé utilise une courbe simple à deux nœuds, puis explique comment appliquer la même méthode à un chemin existant sans remplacer ses autres segments.
Pourquoi les champs X/Y de l'outil Nœud ne positionnent-ils pas les poignées ?
Les champs de coordonnées de l'outil Nœud modifient la position d'un nœud sélectionné. Une poignée de Bézier est un point de contrôle distinct qui façonne la courbe à côté de ce nœud. Saisir les coordonnées de poignée souhaitées dans la barre d'outils modifie donc la mauvaise partie de la géométrie. Le guide de démarrage d'Inkscape décrit explicitement ces champs comme les coordonnées du nœud sélectionné. Options de l'outil Nœud
Utilisez l'outil Nœud pour identifier la courbe visuellement : appuyez sur N, sélectionnez le chemin, puis sélectionnez un nœud. Ses poignées apparaissent sous forme de petits cercles reliés au nœud par de fines lignes. Ces cercles sont les points dont vous allez modifier les positions numériques. Édition de chemins avec l'outil Nœud
Comment identifier les coordonnées correctes des poignées ?
Un segment de Bézier cubique possède un nœud de départ, deux points de contrôle et un nœud d'arrivée. Dans les données de chemin SVG, le nœud de départ provient de la commande précédente. Un C majuscule fournit ensuite les deux contrôles et le point final dans cet ordre. W3C: Commandes de courbe de Bézier cubique
Considérez cette valeur d'attribut d illustrative :
M 40 120 C 40 40 200 40 200 120
Lisez les nombres comme suit :
| Partie | Coordonnées | Signification |
|---|---|---|
M 40 120 |
(40, 120) |
Nœud de départ |
Première paire après C |
(40, 40) |
Poignée sortante du nœud de départ |
Deuxième paire après C |
(200, 40) |
Poignée entrante du nœud d'arrivée |
Troisième paire après C |
(200, 120) |
Nœud d'arrivée |
La règle pratique consiste à regrouper les six valeurs après C en trois paires avant toute modification. Pour repositionner une poignée tout en conservant les deux nœuds, modifiez uniquement sa paire. Le tutoriel SVG de MDN documente le même ordre et explique comment les contrôles déterminent la direction de la courbe près de chaque extrémité. MDN: Paths
Comment saisir des coordonnées exactes dans l'éditeur XML ?
Pour une première tentative contrôlée, utilisez ce document SVG complet. Enregistrez-le sous le nom exact-curve.svg dans un éditeur de texte brut, puis ouvrez-le dans Inkscape. Il contient un chemin ordinaire sans groupes, transformations ni effets de chemin.
<svg xmlns="http://www.w3.org/2000/svg"
width="240" height="160"
viewBox="0 0 240 160">
<path id="curve"
d="M 40 120 C 40 40 200 40 200 120"
fill="none"
stroke="black"
stroke-width="2" />
</svg>
La structure XML de l'exemple et les calculs de coordonnées ci-dessous ont été vérifiés avec Python. L'interaction sur le bureau n'a pas été exécutée.
- Sélectionnez la courbe dans Inkscape.
- Ouvrez l'éditeur XML avec
Ctrl+Shift+X, le raccourci par défaut documenté. - Sélectionnez l'élément de chemin identifié par
id="curve"dans l'arborescence XML. - Sélectionnez son attribut
det modifiez la valeur de l'attribut. - Appliquez la valeur avec
Ctrl+Entrée, ou le contrôle Définir l'attribut de la boîte de dialogue. Ces commandes sont documentées dans la référence des raccourcis d'Inkscape. Référence clavier et souris d'Inkscape
Par exemple, changez la première poignée de (40, 40) à (70, 30) en entrant cette valeur d'attribut :
M 40 120 C 70 30 200 40 200 120
Collez uniquement la chaîne de données de chemin dans le champ de valeur — pas d=, guillemets, ni élément <path> complet. Conservez la paire de départ, la deuxième paire de contrôle et la paire de fin inchangées. Cela en fait une modification d'une seule poignée que vous pouvez inspecter facilement.
Revenez à l'outil Nœud et sélectionnez le nœud de départ. Vérifiez visuellement la nouvelle direction de la poignée, puis inspectez à nouveau la valeur d pour le contrôle numérique. Sur un contour multi-segments existant, conservez les commandes environnantes et modifiez uniquement la paire de contrôle concernée ; remplacer tout l'attribut par cet exemple court remplacerait tout le contour.
Quel système de coordonnées les nombres utilisent-ils ?
Les coordonnées des données de chemin utilisent les unités utilisateur SVG. Le viewBox du document et ses transformations déterminent comment ces unités correspondent au dessin visible. Le système de coordonnées SVG initial a son origine en haut à gauche, avec X augmentant vers la droite et Y augmentant vers le bas. W3C: Systèmes de coordonnées, transformations et unités
Dans l'exemple fourni, la zone d'affichage 240 × 160 et viewBox="0 0 240 160" offrent une correspondance directe. Le passage de (40, 40) à (70, 30) place le point de contrôle 30 unités plus à droite et 10 unités plus haut. Ce sont des coordonnées de conception illustratives, pas une prescription pour une forme de caractère particulière.
Pour un document existant, inspectez le chemin et ses groupes parents pour les attributs transform avant de considérer ses coordonnées locales comme des positions de page. À titre de calcul illustratif, un translate(30,20) seul associe une poignée locale en (70,30) à (100,50) dans le système de coordonnées de son parent. Pour atteindre (100,50) sous cette translation, entrez (70,30) localement. L'échelle, la rotation et les transformations d'ancêtres supplémentaires nécessitent de prendre en compte la correspondance complète. W3C: Systèmes de coordonnées et transformations
Que faire si le chemin utilise un `c` minuscule ou un `S` abrégé ?
Un c minuscule stocke des décalages par rapport au point de départ du segment. Les trois paires utilisent ce même point de départ ; ce ne sont pas des mouvements successifs d'un contrôle à l'autre. Un C majuscule stocke des coordonnées absolues dans le système de coordonnées utilisateur actuel. W3C: Commandes de courbe de Bézier cubique
Pour l'exemple original, soustrayez le nœud de départ (40,120) de chaque point suivant :
| Point | Position absolue | Décalage relatif |
|---|---|---|
| Première poignée | (40,40) |
(0,-80) |
| Deuxième poignée | (200,40) |
(160,-80) |
| Point final | (200,120) |
(160,0) |
La valeur d'attribut équivalente est donc :
M 40 120 c 0 -80 160 -80 160 0
Ne vous contentez pas de mettre en majuscule c en conservant ces nombres : cela changerait leur sens. Lors de l'édition d'un chemin relatif plus long, calculez d'abord le point de départ du segment courant.
Un segment S omet son premier point de contrôle. Après un segment cubique, SVG déduit ce contrôle en reflétant le contrôle final du segment précédent par rapport à leur nœud commun. Pour spécifier les deux contrôles indépendamment, développez l'abréviation en un segment C explicite tout en conservant initialement le premier contrôle calculé. MDN: Paths
Comment les types de nœuds affectent-ils les ajustements ultérieurs des poignées ?
Les types de nœuds d'Inkscape contraignent l'édition interactive ultérieure. Les nœuds en pointe (cusp) permettent un mouvement indépendant des poignées. Les nœuds lisses (smooth) maintiennent les deux poignées et le nœud sur une même ligne. Les nœuds symétriques (symmetric) maintiennent en plus les poignées à distances égales. Les nœuds auto-lisses (auto-smooth) ajustent automatiquement les distances de leurs poignées lorsque le nœud bouge. À propos des types de nœuds
Choisissez le comportement de nœud souhaité avant le placement numérique final. Pour des contrôles spécifiés indépendamment, un nœud en pointe est un choix judicieux. Pour une jonction fluide, prévoyez des coordonnées compatibles des deux côtés du nœud partagé, puis vérifiez les valeurs finales après toute conversion de type de nœud.
Par exemple, supposons un nœud partagé en (200,120) et son contrôle entrant en (200,40). Un contrôle sortant en (200,200) est son reflet par rapport à ce nœud : 2 × (200,120) − (200,40). Ce calcul illustratif donne des vecteurs de poignée égaux et opposés. Il fournit une vérification concrète des coordonnées pour une jonction symétrique.
Comment vérifier une modification qui semble incorrecte ?
Effectuez ces vérifications dans l'ordre :
- Confirmez l'élément. Vérifiez l'ID du chemin sélectionné avant de modifier son attribut.
- Identifiez la paire. Notez le nœud de départ, le premier contrôle, le deuxième contrôle et le point final sur papier si nécessaire.
- Lisez la lettre de commande. Déterminez si ses nombres sont absolus, relatifs ou abrégés.
- Vérifiez la correspondance des coordonnées. Inspectez le
viewBox, la transformation du chemin et les transformations parentes. - Vérifiez l'édition ultérieure. Réinspectez les coordonnées après avoir déplacé des poignées ou changé les types de nœuds.
- Conservez la valeur originale. Gardez une copie de la chaîne
dcomplète afin de pouvoir la restaurer si une modification change des segments non intentionnels.
Pour un travail précis sur les contours de caractères, terminez en vérifiant à la fois le contour visible et les coordonnées de contrôle stockées. Une fois le type de commande et le système de coordonnées clairs, le placement exact des poignées devient une modification minime et traçable : identifiez le segment, modifiez la paire souhaitée et vérifiez le résultat.
Sources
- Options de l'outil Nœud — Guide de démarrage d'Inkscape
- Édition de chemins avec l'outil Nœud — Guide de démarrage d'Inkscape
- À propos des types de nœuds — Guide de démarrage d'Inkscape
- Référence clavier et souris d'Inkscape — source de documentation
- Paths — SVG 2, W3C
- Systèmes de coordonnées, transformations et unités — SVG 2, W3C
- Paths — MDN Web Docs
