Draft CubicBezCurve/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
(27 intermediate revisions by 3 users not shown)
Line 2: Line 2:


{{Docnav/fr
{{Docnav/fr
|[[Draft BezCurve/fr|Courbe de Bézier Draft]]
|[[Draft BezCurve/fr|Courbe de Bézier]]
|[[Draft_Label/fr|Etiquette Draft]]
|[[Draft_Label/fr|Etiquette]]
|[[Draft_Module/fr|Atelier Draft]]
|[[Draft_Module/fr|Atelier Draft]]
|IconL=Draft BezCurve.svg
|IconL=Draft BezCurve.svg
Line 12: Line 12:
{{GuiCommand/fr
{{GuiCommand/fr
|Name=Draft CubicBezCurve
|Name=Draft CubicBezCurve
|Name/fr=Courbe de Bézier cubique Draft
|Name/fr=Draft Courbe de Bézier cubique
|Workbenches=[[Draft Module/fr|Atelier Draft]], [[Arch Module/fr|Atelier Arch]]
|Workbenches=[[Draft Module/fr|Draft]], [[Arch Module/fr|Arch]]
|MenuLocation=Draft → Outils Bézier → Courbe de Bézier cubique
|MenuLocation=Draft → Outils Bézier → Courbe de Bézier cubique
|SeeAlso=[[Draft Wire/fr|Filaire Draft]], [[Draft BSpline/fr|BSpline Draft]], [[Draft BezCurve/fr|Courbe de Bézier Draft]]
|SeeAlso=[[Draft Wire/fr|Draft Filaire]], [[Draft BSpline/fr|Draft BSpline]], [[Draft BezCurve/fr|Draft Courbe de Bézier]]
|Version=0.19
|Version=0.19
}}
}}
Line 26: Line 26:


[[File:Draft_CubicBezCurve_example.png|600px]]
[[File:Draft_CubicBezCurve_example.png|600px]]
{{Caption|Spline définie par trois segments de Bézier cubiques. Chaque courbe cubique de Bézier est définie par quatre points, mais lorsque l'outil est utilisé graphiquement, seuls trois de ces points sont placés: 1-2-3 pour le premier segment, 3-4-5 pour le deuxième segment et 5-6-7 pour le troisième segment. Le quatrième point du chaque segment est défini implicitement. Le dernier point 8 est nécessaire pour terminer l'opération et ferait partie d'un quatrième segment de Bézier si l'opération se poursuivait.}}
<div class="mw-translate-fuzzy">
{{Caption|Courbe de Bézier cubique définie par trois points de control}}
</div>


==Utilisation==
==Utilisation==


# Appuyez sur le bouton {{Button|[[Image:Draft_CubicBezCurve.svg|16px]] [[Draft CubicBezCurve/fr|Courbe de Bézier cubique Draft]]}}.
<div class="mw-translate-fuzzy">
# Cliquez sur un premier point de la vue 3D et maintenez le bouton de la souris enfoncé (1); c'est le premier point final.
# Appuyez sur le bouton {{Button|[[Image:Draft_CubicBezCurve.svg|16px]] [[Draft CubicBezCurve|Courbe de Bézier cubique Draft]]}} .
# Cliquez sur un premier point de la vue 3D et maintenez le pointeur de la souris.
# Faites glisser le pointeur vers un autre point de la vue 3D et relâchez le bouton de la souris (2); c'est le premier point de contrôle.
# Faites glisser le pointeur vers un autre point de la vue 3D, puis relâchez le pointeur.
# Déplacez le pointeur sur un autre point de la vue 3D, puis cliquez et maintenez le bouton de la souris enfoncé sur ce point (3); c'est le deuxième point final.
# Déplacez le pointeur sur un autre point de la vue 3D pour ajuster la courbure de la spline, puis cliquez et maintenez le point appuyé.
# Déplacez le pointeur sur un autre point de la vue 3D pour régler la courbure finale de la spline, puis relâchez le bouton de la souris (4).
# En ce moment, vous avez déjà une courbe de Bézier du 3ème degré. La commande peut être complétée en appuyant sur {{KEY|Echap}} ou sur le bouton {{Button|Fermer}}, ou vous pouvez répéter le processus consistant à cliquer et à maintenir (5), puis à faire glisser et relâcher (6) pour en ajouter d'autres. segments de Bézier.
# Déplacez le pointeur sur un autre point de la vue 3D pour régler la courbure finale de la spline, puis relâchez le pointeur. Cela crée une courbe de Bézier du 3ème degré et continue de dessiner à partir du dernier point.
# Répétez le processus de clic, de maintien, de glissement et de relâchement pour ajouter des points et créez d'autres segments de Bézier au 3ème degré.
# Appuyez sur {{KEY|Echap}} ou sur le bouton {{Button|Fermer}} pour terminer l'édition.
</div>


Notez qu'avec ce flux de travail, vous avez besoin de deux séquences de maintien du clic pour créer une seule courbe de Bézier du troisième degré.
Note that with this workflow you need two click-hold-release sequences to create a single Bezier curve of third degree.
* The first click-hold defines the first end point.
* Le premier clic de maintien définit le premier point final.
* La première version définit le premier point de contrôle.
* The first release defines the first control point.
* The second click-hold defines the second end point, and the general direction of the spline.
* Le deuxième clic de maintien définit le deuxième point final et la direction générale de la spline.
* The second release defines the final curvature of the spline.
* La deuxième version définit la courbure finale de la spline.
* Le deuxième point de contrôle n'est pas explicitement indiqué, mais est déterminé à partir de l'emplacement du pointeur lors de la deuxième publication.
* The second control point is not explicitly given, but is determined from the location of the pointer during the second release.


== Notes ==
=== Note when creating many Bezier segments ===


=== Remarque lors de la création de nombreux segments de Bezier ===
* The second release also correspond to the first control point of the subsequent Bezier curve.
* Le deuxième relâchement correspond également au premier point de contrôle de la courbe de Bézier suivante.
* This means that the second click-hold was also the first end point of the second Bezier curve.
* Cela signifie que le deuxième clic maintenu était également le premier point final de la deuxième courbe de Bézier.
* A third click-hold would be the second end point.
* Un troisième clic maintenu serait le deuxième point final.
* A third release would define the final curvature of the second curve, and it would also be the first control point of a third curve.
* Un troisième communiqué définirait la courbure finale de la deuxième courbe et constituerait également le premier point de contrôle d'une troisième courbe.


Cela signifie que pour deux séquences de maintien de clic (c-h) et de libération (r), la deuxième séquence fait déjà partie d'un segment de courbe suivant, comme indiqué dans le graphique suivant:
This means that for every two click-hold (c-h) and release (r) sequences, the second sequence is already part of a subsequent curve segment, as indicated in the following graphic:


<pre>
<pre>
Line 65: Line 61:
</pre>
</pre>


=== How to place the control points exactly ===
=== Comment placer les points de contrôle exactement ===


The graphical operation of this tool only allows the user to specify the first control point of the curve when it is being drawn. The second control point can be adjusted after the object is created: double click on the curve object in tree view, or select it and press {{Button|[[File:Draft_Edit.svg|16px]] [[Draft Edit|Edit]]}}. Then drag the second control point to the desired position.
L’opération graphique de cet outil permet uniquement à l’utilisateur de spécifier le premier point de contrôle de la courbe lors de son tracé. Le deuxième point de contrôle peut être ajusté après la création de l'objet: double-cliquez sur l'objet de la courbe dans la vue arborescente ou sélectionnez-le et appuyez sur {{Button|[[File:Draft_Edit.svg|16px]] [[Draft Edit/fr|Edition]]}}. Ensuite, faites glisser le deuxième point de contrôle à la position souhaitée.


In order to choose exactly both end points and both control points, the Python command {{incode|Draft.makeBezCurve()}} must be used. See the [[#Scripting|Scripting]] section.
Afin de choisir exactement les deux points extrêmes et les deux points de contrôle, la commande Python {{incode|Draft.makeBezCurve()}} doit être utilisée. Voir la section [[#Scripting/fr|Script]].


==Options==
==Options==


See the options in [[Draft BezCurve|Draft BezCurve]].
Voir les options dans [[Draft BezCurve/fr|Courbe de Bézier Draft]].


==Propriétés==
==Propriétés==


See the properties in [[Draft BezCurve|Draft BezCurve]].
Voir les propriétés de [[Draft BezCurve/fr|Courbe de Bézier Draft]].


==Script==
==Script==
Line 83: Line 79:
{{Emphasis|Voir aussi:}} [[Draft API/fr|Draft API]] et [[FreeCAD Scripting Basics/fr|FreeCAD Script de Base]].
{{Emphasis|Voir aussi:}} [[Draft API/fr|Draft API]] et [[FreeCAD Scripting Basics/fr|FreeCAD Script de Base]].


<div class="mw-translate-fuzzy">
Voir [[Draft BezCurve/fr|Courbe de Bézier Draft]] pour les informations générales. Un cube de Bézier est créé en passant l'option <code>degree=3</code> à {{incode|makeBezCurve()}}.
Voir [[Draft BezCurve/fr|Courbe de Bézier Draft]] pour les informations générales. Un cube de Bézier est créé en passant l'option <code>degree=3</code> à {{incode|makeBezCurve()}}.
</div>


Pour chaque segment de Bézier cubique, il faut utiliser quatre points dont les deux points extrêmes indiquent le passage de la spline et où les deux points intermédiaires sont des points de contrôle.
<div class="mw-translate-fuzzy">
* Si seulement 3 points sont donnés, cela crée une courbe de Bézier quadratique, avec un seul point de contrôle.
Pour chaque segment de Bézier cubique, il faut utiliser quatre points, dont les deux points intermédiaires sont les points de contrôle.
* Si seulement 3 points sont donnés, cela crée un Bézier quadratique à la place.
* Si seulement 2 points sont donnés, cela crée une courbe de Bézier linéaire, c'est-à-dire une ligne droite.
* Si seulement 2 points sont donnés, cela crée un Bézier linéaire, c'est-à-dire une ligne droite.
* Si 5 points sont donnés, les 4 premiers créent un segment de Bézier cubique; les 4ème et 5ème points sont utilisés pour créer une ligne droite.
* Si 5 points sont donnés, les 4 premiers créent un segment de Bézier cubique; les quatrième et cinquième points sont utilisés pour créer une ligne droite.
* Si 6 points sont donnés, les 4 premiers créent un segment de Bézier cubique; le 4ème et les deux autres points sont utilisés pour créer un segment de Bézier quadratique.
* Si 6 points sont donnés, les 4 premiers créent un segment de Bézier cubique; le quatrième et les deux autres points sont utilisés pour créer un segment de Bézier quadratique.
* Si 7 points sont donnés, les 4 premiers créent un segment de Bézier cubique; le 4ème et les trois autres points sont utilisés pour créer un deuxième segment de Bézier cubique.
* Si 7 points sont donnés, les 4 premiers créent un segment de Bézier cubique; le quatrième et les trois autres servent à créer un deuxième segment de Bézier cubique.
* En général, le dernier point d'un groupe de quatre est partagé avec les trois points suivants au maximum pour créer un autre segment de Bézier.
* Pour avoir des courbes lisses, sans segment droit, le nombre de points doit être {{incode|3n + 1}} ou {{incode|3n}} où {{incode|n}} est le nombre de segments, pour <code>n >= 1</code>.
* Autrement dit, chaque fois que cela est possible, le dernier point d’une courbe cubique de Bézier est partagé avec les points suivants.
</div>


[[File:Draft_CubicBezCurve_API_example.png|600px]]
[[File:Draft_CubicBezCurve_API_example.png|600px]]


{{Caption|Examples of Bezier curves produced by using 2, 3, 4, 5, 6, 7, and 8 points. The solid lines indicate cubic Bezier segments; the other lines are quadratic or linear.}}
{{Caption|Exemples de courbes de Bézier produites en utilisant 2, 3, 4, 5, 6, 7 et 8 points. Les lignes continues indiquent les segments de Bézier cubiques. Les autres lignes sont quadratiques ou linéaires.}}


Exemple:
Exemple:

{{Code|code=
{{Code|code=
import FreeCAD as App
import FreeCAD as App
Line 164: Line 158:
App.ActiveDocument.recompute()
App.ActiveDocument.recompute()
}}
}}

{{Docnav/fr
{{Docnav/fr
|[[Draft BezCurve/fr|Courbe de Bézier Draft]]
|[[Draft BezCurve/fr|Courbe de Bézier]]
|[[Draft_Label/fr|Etiquette Draft]]
|[[Draft_Label/fr|Etiquette]]
|[[Draft_Module/fr|Atelier Draft]]
|[[Draft_Module/fr|Atelier Draft]]
|IconL=Draft BezCurve.svg
|IconL=Draft BezCurve.svg
Line 173: Line 168:
}}
}}


{{Draft Tools navi/fr}}
{{Draft Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

{{Userdocnavi/fr}}

{{clear}}
{{clear}}

Revision as of 17:56, 21 February 2020

Draft Courbe de Bézier cubique

Emplacement du menu
Draft → Outils Bézier → Courbe de Bézier cubique
Ateliers
Draft, Arch
Raccourci par défaut
Aucun
Introduit dans la version
0.19
Voir aussi
Draft Filaire, Draft BSpline, Draft Courbe de Bézier

Description

L'outil Courbe de Bézier cubique Draft crée une Courbe de Bézier de troisième degré (quatre points sont nécessaires). C'est l'une des courbes de Bézier les plus couramment utilisées. Cet outil vous permet de créer une grosse spline composée de plusieurs segments de Bézier au 3ème degré, d’une manière similaire à l’outil Bézier d’Inkscape. Une courbe de Bezier de n'importe quel degré peut être créée avec Courbe de Bézier Draft.

Les outils Courbe de Bézier Draft et Courbe de Bézier cubique Draft utilisent points de contrôle pour définir la position et la courbure de la spline. D'autre part, l'outil BSpline Draft spécifie les points exacts par lesquels la courbe passera.

Spline définie par trois segments de Bézier cubiques. Chaque courbe cubique de Bézier est définie par quatre points, mais lorsque l'outil est utilisé graphiquement, seuls trois de ces points sont placés: 1-2-3 pour le premier segment, 3-4-5 pour le deuxième segment et 5-6-7 pour le troisième segment. Le quatrième point du chaque segment est défini implicitement. Le dernier point 8 est nécessaire pour terminer l'opération et ferait partie d'un quatrième segment de Bézier si l'opération se poursuivait.

Utilisation

  1. Appuyez sur le bouton Courbe de Bézier cubique Draft.
  2. Cliquez sur un premier point de la vue 3D et maintenez le bouton de la souris enfoncé (1); c'est le premier point final.
  3. Faites glisser le pointeur vers un autre point de la vue 3D et relâchez le bouton de la souris (2); c'est le premier point de contrôle.
  4. Déplacez le pointeur sur un autre point de la vue 3D, puis cliquez et maintenez le bouton de la souris enfoncé sur ce point (3); c'est le deuxième point final.
  5. Déplacez le pointeur sur un autre point de la vue 3D pour régler la courbure finale de la spline, puis relâchez le bouton de la souris (4).
  6. En ce moment, vous avez déjà une courbe de Bézier du 3ème degré. La commande peut être complétée en appuyant sur Echap ou sur le bouton Fermer, ou vous pouvez répéter le processus consistant à cliquer et à maintenir (5), puis à faire glisser et relâcher (6) pour en ajouter d'autres. segments de Bézier.

Notez qu'avec ce flux de travail, vous avez besoin de deux séquences de maintien du clic pour créer une seule courbe de Bézier du troisième degré.

  • Le premier clic de maintien définit le premier point final.
  • La première version définit le premier point de contrôle.
  • Le deuxième clic de maintien définit le deuxième point final et la direction générale de la spline.
  • La deuxième version définit la courbure finale de la spline.
  • Le deuxième point de contrôle n'est pas explicitement indiqué, mais est déterminé à partir de l'emplacement du pointeur lors de la deuxième publication.

Notes

Remarque lors de la création de nombreux segments de Bezier

  • Le deuxième relâchement correspond également au premier point de contrôle de la courbe de Bézier suivante.
  • Cela signifie que le deuxième clic maintenu était également le premier point final de la deuxième courbe de Bézier.
  • Un troisième clic maintenu serait le deuxième point final.
  • Un troisième communiqué définirait la courbure finale de la deuxième courbe et constituerait également le premier point de contrôle d'une troisième courbe.

Cela signifie que pour deux séquences de maintien de clic (c-h) et de libération (r), la deuxième séquence fait déjà partie d'un segment de courbe suivant, comme indiqué dans le graphique suivant:

|c-h -- r -- c-h -- r| 1
            |c-h -- r -- c-h -- r| 2
                        |c-h -- r -- c-h -- r| 3
                                    |c-h -- r -- c-h -- r| 4

Comment placer les points de contrôle exactement

L’opération graphique de cet outil permet uniquement à l’utilisateur de spécifier le premier point de contrôle de la courbe lors de son tracé. Le deuxième point de contrôle peut être ajusté après la création de l'objet: double-cliquez sur l'objet de la courbe dans la vue arborescente ou sélectionnez-le et appuyez sur Edition. Ensuite, faites glisser le deuxième point de contrôle à la position souhaitée.

Afin de choisir exactement les deux points extrêmes et les deux points de contrôle, la commande Python Draft.makeBezCurve() doit être utilisée. Voir la section Script.

Options

Voir les options dans Courbe de Bézier Draft.

Propriétés

Voir les propriétés de Courbe de Bézier Draft.

Script

Voir aussi: Draft API et FreeCAD Script de Base.

Voir Courbe de Bézier Draft pour les informations générales. Un cube de Bézier est créé en passant l'option degree=3 à makeBezCurve().

Pour chaque segment de Bézier cubique, il faut utiliser quatre points dont les deux points extrêmes indiquent le passage de la spline et où les deux points intermédiaires sont des points de contrôle.

  • Si seulement 3 points sont donnés, cela crée une courbe de Bézier quadratique, avec un seul point de contrôle.
  • Si seulement 2 points sont donnés, cela crée une courbe de Bézier linéaire, c'est-à-dire une ligne droite.
  • Si 5 points sont donnés, les 4 premiers créent un segment de Bézier cubique; les 4ème et 5ème points sont utilisés pour créer une ligne droite.
  • Si 6 points sont donnés, les 4 premiers créent un segment de Bézier cubique; le 4ème et les deux autres points sont utilisés pour créer un segment de Bézier quadratique.
  • Si 7 points sont donnés, les 4 premiers créent un segment de Bézier cubique; le 4ème et les trois autres points sont utilisés pour créer un deuxième segment de Bézier cubique.
  • En général, le dernier point d'un groupe de quatre est partagé avec les trois points suivants au maximum pour créer un autre segment de Bézier.
  • Pour avoir des courbes lisses, sans segment droit, le nombre de points doit être 3n + 1 ou 3nn est le nombre de segments, pour n >= 1.

Exemples de courbes de Bézier produites en utilisant 2, 3, 4, 5, 6, 7 et 8 points. Les lignes continues indiquent les segments de Bézier cubiques. Les autres lignes sont quadratiques ou linéaires.

Exemple:

import FreeCAD as App
import Draft

p1 = App.Vector(-3500, 0, 0)
p2 = App.Vector(-3000, 2000, 0)
p3 = App.Vector(-1100, 2000, 0)
p4 = App.Vector(0, 0, 0)

p5 = App.Vector(1500, -2000, 0)
p6 = App.Vector(3000, -1500, 0)
p7 = App.Vector(5000, 0, 0)
p8 = App.Vector(6000, 1500, 0)
rot = App.Rotation()

c1 = Draft.makeCircle(100, placement=App.Placement(p1, rot), face=False)
c1.Label = "B1_E1"
c2 = Draft.makeCircle(50, placement=App.Placement(p2, rot), face=True)
c2.Label = "B1_c1"
c3 = Draft.makeCircle(50, placement=App.Placement(p3, rot), face=True)
c3.Label = "B1_c2"
c4 = Draft.makeCircle(100, placement=App.Placement(p4, rot), face=False)
c4.Label = "B1_E2"
c5 = Draft.makeCircle(50, placement=App.Placement(p5, rot), face=True)
c5.Label = "B2_c3"
c6 = Draft.makeCircle(50, placement=App.Placement(p6, rot), face=True)
c6.Label = "B2_c4"
c7 = Draft.makeCircle(100, placement=App.Placement(p7, rot), face=False)
c7.Label = "B2_E3"
c8 = Draft.makeCircle(50, placement=App.Placement(p8, rot), face=True)
c8.Label = "B3_c5"
App.ActiveDocument.recompute()

B1 = Draft.makeBezCurve([p1, p2], degree=3)
B1.Label = "B_lin"
B1.ViewObject.DrawStyle = "Dashed"

B2 = Draft.makeBezCurve([p1, p2, p3], degree=3)
B2.Label = "B_quad"
B2.ViewObject.DrawStyle = "Dotted"

B3 = Draft.makeBezCurve([p1, p2, p3, p4], degree=3)
B3.Label = "B_cub"
B3.ViewObject.LineWidth = 4

B4 = Draft.makeBezCurve([p1, p2, p3, p4, p5], degree=3)
B4.Label = "B_cub+lin"
B4.ViewObject.DrawStyle = "Dashed"

B5 = Draft.makeBezCurve([p1, p2, p3, p4, p5, p6], degree=3)
B5.Label = "B_cub+quad"
B5.ViewObject.DrawStyle = "Dotted"

B6 = Draft.makeBezCurve([p1, p2, p3, p4, p5, p6, p7], degree=3)
B6.Label = "B_cub+cub"
B6.ViewObject.LineWidth = 2

B7 = Draft.makeBezCurve([p1, p2, p3, p4, p5, p6, p7, p8], degree=3)
B7.Label = "B_cub+cub+lin"
B7.ViewObject.DrawStyle = "Dashed"
App.ActiveDocument.recompute()