Draft CubicBezCurve/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "{{GuiCommand/fr |Name=Draft CubicBezCurve |Name/fr=Courbe de Bézier cubique Draft |Workbenches=Atelier Draft, Atelier Arch |MenuLocatio...")
No edit summary
(39 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{UnfinishedDocu}}


{{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 10: Line 9:
|IconR=Draft_Label.svg
|IconR=Draft_Label.svg
}}
}}



{{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|Draft Filaire]], [[Draft BSpline/fr|Draft BSpline]], [[Draft BezCurve/fr|Draft Courbe de Bézier]]
|Shortcut=
|SeeAlso=[[Draft Wire/fr|Filaire Draft]], [[Draft BSpline/fr|BSpline Draft]], [[Draft BezCurve/fr|Courbe de Bézier Draft]]
|Version=0.19
|Version=0.19
}}
}}
Line 24: Line 21:
==Description==
==Description==


The [[Draft CubicBezCurve|CubicBezCurve]] tool creates a [http://en.wikipedia.org/wiki/Bezier_curve Bezier Curve] of third degree. This is one of the most commonly used Bezier curves. This tool allows you to create a big spline made of several 3rd-degree Bezier segments, in a way that is similar to the Bezier tool in Inkscape. A Bezier curve of any degree can be created with [[Draft BezCurve|Draft BezCurve]].
L'outil [[Draft CubicBezCurve/fr|Courbe de Bézier cubique Draft]] crée une [https://fr.wikipedia.org/wiki/Courbe_de_B%C3%A9zier 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 [[Draft BezCurve/fr|Courbe de Bézier Draft]].


The [[Draft BezCurve|Draft BezCurve]] and the [[Draft CubicBezCurve|Draft CubicBezCurve]] tools use {{Emphasis|control points}} to define the direction of the curve; on the other hand the [[Draft BSpline|Draft BSpline]] tool specifies the exact points through which the curve will go.
Les outils [[Draft BezCurve/fr|Courbe de Bézier Draft]] et [[Draft CubicBezCurve/fr|Courbe de Bézier cubique Draft]] utilisent {{Emphasis|points de contrôle}} pour définir la position et la courbure de la spline. D'autre part, l'outil [[Draft BSpline/fr|BSpline Draft]] spécifie les points exacts par lesquels la courbe passera.


[[Image:Draft_CubicBezCurve_Example.png|400px]]
[[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.}}


==Utilisation==
{{Caption|Cubic Bezier curve defined by three control points}}


# Appuyez sur le bouton {{Button|[[Image:Draft_CubicBezCurve.svg|16px]] [[Draft CubicBezCurve/fr|Courbe de Bézier cubique Draft]]}}.
==How to use==
# Cliquez sur un premier point de la vue 3D et maintenez le bouton de la souris enfoncé (1); c'est le premier point final.
# 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.
# 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 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.


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é.
# Press the {{Button|[[Image:Draft_CubicBezCurve.svg|16px]] [[Draft CubicBezCurve|Draft CubicBezCurve]]}} button.
* Le premier clic de maintien définit le premier point final.
# Click a first point on the 3D view, and hold the mouse pointer.
* La première version définit le premier point de contrôle.
# Drag the pointer to another point on the 3D view, and release the pointer.
* Le deuxième clic de maintien définit le deuxième point final et la direction générale de la spline.
# Move the pointer to another point on the 3D view to adjust the curvature of the spline, and click and hold on the point.
* La deuxième version définit la courbure finale de la spline.
# Move the pointer to another point on the 3D view to adjust the final curvature of the spline, and then release the pointer. This creates a Bezier curve of 3rd degree, and continues drawing from the last point.
* 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.
# Repeat the process of clicking, holding, dragging, and releasing to add points, and create further 3rd-degree Bezier segments.

# Press {{KEY|Esc}} or the {{Button|Close}} button, to complete the edition.
=== 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:

<pre>
|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
</pre>

=== 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 {{Button|[[File:Draft_Edit.svg|16px]] [[Draft Edit/fr|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 {{incode|Draft.makeBezCurve()}} doit être utilisée. Voir la section [[#Scripting/fr|Script]].


==Options==
==Options==


Voir les options dans [[Draft BezCurve/fr|Courbe de Bézier Draft]].
==Properties==


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


Voir les propriétés de [[Draft BezCurve/fr|Courbe de Bézier Draft]].
=== View ===


==Scripting==
==Script==
{{Emphasis|See also:}} [[Draft API]] and [[FreeCAD Scripting Basics]].


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


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()}}.
{{Docnav|[[Draft BezCurve|BezCurve]]|[[Draft_Label|Label]]|[[Draft_Module|Draft]]|IconL=Draft BezCurve.svg|IconC=Workbench_Draft.svg|IconR=Draft_Label.svg }}


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 {{incode|3n + 1}} ou {{incode|3n}} où {{incode|n}} est le nombre de segments, pour <code>n >= 1</code>.


[[File:Draft_CubicBezCurve_API_example.png|600px]]
{{Draft Tools navi/fr}}


{{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:
{{Code|code=
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()
}}
{{Docnav/fr
|[[Draft BezCurve/fr|Courbe de Bézier]]
|[[Draft_Label/fr|Etiquette]]
|[[Draft_Module/fr|Atelier Draft]]
|IconL=Draft BezCurve.svg
|IconC=Workbench_Draft.svg
|IconR=Draft_Label.svg
}}

{{Draft Tools navi/fr}}


{{Userdocnavi/fr}}
{{Userdocnavi/fr}}

{{clear}}
{{clear}}

Revision as of 13:44, 7 December 2019

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.

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()