Draft CubicBezCurve/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "==Tworzenie skryptów==")
No edit summary
 
(19 intermediate revisions by 2 users not shown)
Line 3: Line 3:
{{Docnav/pl
{{Docnav/pl
|[[Draft_BSpline/pl|Krzywa złożona]]
|[[Draft_BSpline/pl|Krzywa złożona]]
|[[Draft_BezCurve/pl|Krzywa Bezier'a]]
|[[Draft_BezCurve/pl|Krzywa Bézier'a]]
|[[Draft_Workbench/pl|środowisko pracy Rysunek Roboczy]]
|[[Draft_Workbench/pl|środowisko pracy Rysunek Roboczy]]
|IconL=Draft_BSpline.svg
|IconL=Draft_BSpline.svg
Line 12: Line 12:
{{GuiCommand/pl
{{GuiCommand/pl
|Name=Draft CubicBezCurve
|Name=Draft CubicBezCurve
|Name/pl=Rysunek Roboczy: Sześcienna krzywa Beziera
|Name/pl=Rysunek Roboczy: Sześcienna krzywa Bézier'a
|MenuLocation=DraftingBézier tools → Sześcienna krzywa Beziera
|MenuLocation=KreślenieNarzędzia krzywych Bézier'a → Sześcienna krzywa Bézier'a
|Workbenches=[[Draft_Workbench/pl|Rysunek Roboczy]], [[Arch_Workbench/pl|Architektura]]
|Workbenches=[[Draft_Workbench/pl|Rysunek Roboczy]], [[Arch_Workbench/pl|Architektura]]
|Version=0.19
|Version=0.19
|SeeAlso=[[Draft_BezCurve/pl|Krzywa Bezier'a]], [[Draft_BSpline/pl|Krzywa złożona]]
|SeeAlso=[[Draft_BezCurve/pl|Krzywa Bézier'a]], [[Draft_BSpline/pl|Krzywa złożona]]
}}
}}


Line 22: Line 22:
==Opis==
==Opis==


Polecenie [[Image:Draft_CubicBezCurve.svg|24px]] '''Sześcienna krzywa Beziera''' tworzy [http://en.wikipedia.org/wiki/Bezier_curve krzywą Béziera] trzeciego stopnia ''(wymagane są cztery punkty)''.
Polecenie [[Image:Draft_CubicBezCurve.svg|24px]] '''Sześcienna krzywa Bézier'a''' tworzy [http://en.wikipedia.org/wiki/Bezier_curve krzywą Béziera] trzeciego stopnia ''(wymagane są cztery punkty)''.


Krzywa Béziera jest jedną z najczęściej używanych krzywych w grafice komputerowej. Polecenie to pozwala utworzyć ciągły splajn składający się z kilku segmentów Béziera trzeciego stopnia, w sposób podobny do narzędzia Bézier w [https://inkscape.org/ Inkscape]. Ogólną krzywą Béziera dowolnego stopnia można utworzyć za pomocą polecenia [[Draft_BezCurve/pl|Krzywa Bezier'a]].
Krzywa Béziera jest jedną z najczęściej używanych krzywych w grafice komputerowej. Polecenie to pozwala utworzyć ciągły splajn składający się z kilku segmentów Béziera trzeciego stopnia, w sposób podobny do narzędzia Bézier'a w [https://inkscape.org/ Inkscape]. Ogólną krzywą Béziera dowolnego stopnia można utworzyć za pomocą polecenia [[Draft_BezCurve/pl|Krzywa Bezier'a]].


Polecenia [[Draft_BezCurve/pl|Krzywa Bezier'a]] i Sześcienna krzywa Bezier'a używają {{Emphasis|punktów kontrolnych}} do zdefiniowania położenia i krzywizny odcinka krzywej. Z kolei polecenie [[Draft_BSpline/pl|Krzywa złożona]] określa {{Emphasis|dokładne punkty}}, przez które będzie przechodzić krzywa.
Polecenia [[Draft_BezCurve/pl|Krzywa Bézier'a]] i Sześcienna krzywa Bézier'a używają {{Emphasis|punktów kontrolnych}} do zdefiniowania położenia i krzywizny odcinka krzywej. Z kolei polecenie [[Draft_BSpline/pl|Krzywa złożona]] określa {{Emphasis|dokładne punkty}}, przez które będzie przechodzić krzywa.


[[File:Draft_CubicBezCurve_example.png|500px]]
[[File:Draft_CubicBezCurve_example.png|500px]]
Line 38: Line 38:
# Polecenie można wywołać na kilka sposobów:
# Polecenie można wywołać na kilka sposobów:
#* Naciśnij przycisk {{Button|[[Image:Draft_CubicBezCurve.svg|16px]] '''Sześcienna krzywa Béziera'''}}.
#* Naciśnij przycisk {{Button|[[Image:Draft_CubicBezCurve.svg|16px]] '''Sześcienna krzywa Béziera'''}}.
#* Wybierz z menu {{MenuCommand|Kreślenie → Narzędzia krzywych Bézier → [[Image:Draft_CubicBezCurve.svg|16px]] Sześcienna krzywa Béziera}} .
#* Wybierz z menu {{MenuCommand|Kreślenie → Narzędzia krzywych Bézier'a → [[Image:Draft_CubicBezCurve.svg|16px]] Sześcienna krzywa Béziera}} .
# Otworzy się panel zadań {{MenuCommand|Sześcienna krzywa Béziera}}. Więcej informacji można znaleźć w sekcji [[#Opcje|Opcje]].
# Otworzy się panel zadań {{MenuCommand|Sześcienna krzywa Béziera}}. Więcej informacji można znaleźć w sekcji [[#Opcje|Opcje]].
# Nie jest możliwe wprowadzanie punktów za pomocą panelu zadań.
# Nie jest możliwe wprowadzanie punktów za pomocą panelu zadań.
Line 61: Line 61:
==Uwagi==
==Uwagi==


* Sześcienną krzywą Beziera środowiska Rysunek Roboczy można edytować za pomocą polecenia [[Draft_Edit/pl|Edycja]].
* Sześcienną krzywą Béziera środowiska Rysunek Roboczy można edytować za pomocą polecenia [[Draft_Edit/pl|Edycja]].

<span id="Preferences"></span>
==Ustawienia==

Zapoznaj się z informacjami na stronie [[Draft_BezCurve/pl#Ustawienia|Krzywa Bezier'a]].


<span id="Properties"></span>
<span id="Properties"></span>
==Właściwości==
==Właściwości==


Zapoznaj się z informacjami na stronie [[Draft_BezCurve/pl#Właściwości|Krzywa Bezier'a]].
Zapoznaj się z informacjami na stronie [[Draft_BezCurve/pl#Właściwości|Krzywa Bézier'a]].


<span id="Scripting"></span>
<span id="Scripting"></span>
==Tworzenie skryptów==
==Tworzenie skryptów==


See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].
Zobacz również stronę: [https://freecad.github.io/SourceDoc/ Dokumentacja API generowana automatycznie] oraz [[FreeCAD_Scripting_Basics/pl|Podstawy pisania skryptów dla FreeCAD]].


See [[Draft_BezCurve|Draft BezCurve]] for general information. A cubic Bézier is created by passing the option <code>degree=3</code> to {{incode|makeBezCurve()}}.
Aby uzyskać ogólne informacje, zobacz stronę [[Draft_BezCurve/pl|Krzywa Bézier'a]]. Poprzez przekazanie opcji tworzony jest sześcienna krzywa Bézier'a <code>degree=3</code> to {{incode|makeBezCurve()}}.


Dla każdego segmentu krzywej sześciennej Béziera należy użyć czterech punktów, z których dwa skrajne wskazują miejsce, przez które przechodzi krzywizna, a dwa punkty pośrednie są punktami kontrolnymi.
For each cubic Bézier segment four points must be used, of which the two extreme points indicate where the spline passes through, and the two intermediate points are control points.
* Jeżeli podane są tylko trzy punkty, zamiast tego tworzona jest kwadratowa krzywa Béziera z tylko jednym punktem kontrolnym.
* If only 3 points are given, it creates a quadratic Bézier instead, with only one control point.
* Jeżeli podane są tylko 2 punkty, tworzona jest liniowa krzywa Béziera, czyli linia prosta.
* If only 2 points are given, it creates a linear Bézier, that is, a straight line.
* Jeśli podano 5 punktów, pierwsze 4 tworzą sześcienny segment krzywej Béziera, 4. i 5. punkt są używane do utworzenia linii prostej.
* If 5 points are given, the first 4 create a cubic Bézier segment; the 4th and the 5th points are used to create a straight line.
* Jeśli podano 6 punktów, pierwsze 4 tworzą sześcienny odcinek krzywej Béziera, 4. i pozostałe dwa punkty są używane do utworzenia kwadratowego odcinka Béziera.
* If 6 points are given, the first 4 create a cubic Bézier segment; the 4th and the other two points are used to create a quadratic Bézier segment.
* Jeśli podano 7 punktów, pierwsze 4 tworzą sześcienny odcinek krzywej Béziera, czwarty i pozostałe trzy punkty są używane do utworzenia drugiego sześciennego odcinka krzywej Béziera.
* If 7 points are given, the first 4 create a cubic Bézier segment; the 4th and the other three points are used to create a second cubic Bézier segment.
* Ogólnie rzecz biorąc, ostatni punkt w grupie czterech jest dzielony z następującymi maksymalnie trzema punktami, aby utworzyć kolejny segment krzywej Béziera.
* In general, the last point in a group of four is shared with the following three points maximum to create another Bézier segment.
* To have smooth curves, with no straight segments, the number of points should be {{incode|3n + 1}} or {{incode|3n}}, where {{incode|n}} is the number of segments, for <code>n >= 1</code>.
* Aby uzyskać gładkie krzywe, bez prostych segmentów, liczba punktów powinna wynosić {{incode|3n + 1}} lub {{incode|3n}}, gdzie {{incode|n}} jest liczbą segmentów, dla <code>n >= 1</code>.


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


{{Caption|Examples of Bézier curves produced by using 2, 3, 4, 5, 6, 7, and 8 points. The solid lines indicate cubic Bézier segments; the other lines are quadratic or linear.}}
{{Caption|Przykłady krzywych Béziera utworzonych przy użyciu 2, 3, 4, 5, 6, 7 i 8 punktów. Linie ciągłe oznaczają sześcienne segmenty Béziera. Pozostałe linie kwadratowe lub proste.}}


Przykład:
Example:


{{Code|code=
{{Code|code=
Line 163: Line 158:




{{Docnav
{{Docnav/pl
|[[Draft_BSpline|BSpline]]
|[[Draft_BSpline/pl|Krzywa złożona]]
|[[Draft_BezCurve|BezCurve]]
|[[Draft_BezCurve/pl|Krzywa Bézier'a]]
|[[Draft_Workbench|Draft]]
|[[Draft_Workbench/pl|środowisko pracy Rysunek Roboczy]]
|IconL=Draft_BSpline.svg
|IconL=Draft_BSpline.svg
|IconR=Draft_BezCurve.svg
|IconR=Draft_BezCurve.svg

Latest revision as of 14:59, 11 December 2023

Rysunek Roboczy: Sześcienna krzywa Bézier'a

Lokalizacja w menu
Kreślenie → Narzędzia krzywych Bézier'a → Sześcienna krzywa Bézier'a
Środowisko pracy
Rysunek Roboczy, Architektura
Domyślny skrót
brak
Wprowadzono w wersji
0.19
Zobacz także
Krzywa Bézier'a, Krzywa złożona

Opis

Polecenie Sześcienna krzywa Bézier'a tworzy krzywą Béziera trzeciego stopnia (wymagane są cztery punkty).

Krzywa Béziera jest jedną z najczęściej używanych krzywych w grafice komputerowej. Polecenie to pozwala utworzyć ciągły splajn składający się z kilku segmentów Béziera trzeciego stopnia, w sposób podobny do narzędzia Bézier'a w Inkscape. Ogólną krzywą Béziera dowolnego stopnia można utworzyć za pomocą polecenia Krzywa Bezier'a.

Polecenia Krzywa Bézier'a i Sześcienna krzywa Bézier'a używają punktów kontrolnych do zdefiniowania położenia i krzywizny odcinka krzywej. Z kolei polecenie Krzywa złożona określa dokładne punkty, przez które będzie przechodzić krzywa.

Krzywa Spline składająca się z trzech sześciennych segmentów Béziera. Pierwszy segment jest zdefiniowany przez cztery punkty. Kolejne segmenty wykorzystują ponownie dwa punkty z poprzedniego segmentu, a zatem wymagają tylko dwóch dodatkowych punktów.

Użycie

Zapoznaj się również z informacjami na stronie: Tacka narzędziowa, Przyciąganie oraz Wiązania.

  1. Polecenie można wywołać na kilka sposobów:
    • Naciśnij przycisk Sześcienna krzywa Béziera.
    • Wybierz z menu Kreślenie → Narzędzia krzywych Bézier'a → Sześcienna krzywa Béziera .
  2. Otworzy się panel zadań Sześcienna krzywa Béziera. Więcej informacji można znaleźć w sekcji Opcje.
  3. Nie jest możliwe wprowadzanie punktów za pomocą panelu zadań.
  4. W przypadku następujących modeli Profil nawigacji myszką należy przytrzymać klawisz klawiatury:
    • W przypadku korzystania z profilu OpenInventor klawisz Ctrl musi być wciśnięty przez cały czas trwania polecenia.
    • Jeśli korzystasz z profilu Gesture, klawisz Alt musi być wciśnięty dla każdej sekwencji kliknięcia i przytrzymania, ale możliwe jest również trzymanie tego klawisza wciśniętego przez cały czas trwania polecenia.
  5. Wybierz pierwszy punkt w oknie widoku 3D i przytrzymaj przycisk myszki (1), jest to pierwszy punkt końcowy.
  6. Przeciągnij kursor do innego punktu w oknie widoku 3D i zwolnij przycisk myszki (2), jest to pierwszy punkt kontrolny.
  7. Przesuń kursor do innego punktu w oknie widoku 3D, wybierz ten punkt i przytrzymaj przycisk myszki (3), jest to drugi punkt końcowy.
  8. Przesuń kursor do innego punktu w oknie widoku 3D, aby dostosować końcową krzywiznę segmentu i zwolnij przycisk myszki (4), jest to drugi punkt kontrolny.
  9. Masz teraz jedną krzywą Béziera 3 stopnia.
  10. Opcjonalnie można powtórzyć proces klikania i przytrzymywania (5) oraz przeciągania i zwalniania (6), aby dodać więcej segmentów.
  11. Każdy kolejny segment użyje drugiego punktu końcowego i drugiego punktu kontrolnego poprzedniego segmentu jako odpowiednio pierwszego punktu końcowego i pierwszego punktu kontrolnego.
  12. Naciśnij Esc lub przycisk Zamknij, aby zakończyć polecenie.

Opcje

Zapoznaj się z informacjami na stronie Krzywa Bezier'a.

Uwagi

  • Sześcienną krzywą Béziera środowiska Rysunek Roboczy można edytować za pomocą polecenia Edycja.

Właściwości

Zapoznaj się z informacjami na stronie Krzywa Bézier'a.

Tworzenie skryptów

Zobacz również stronę: Dokumentacja API generowana automatycznie oraz Podstawy pisania skryptów dla FreeCAD.

Aby uzyskać ogólne informacje, zobacz stronę Krzywa Bézier'a. Poprzez przekazanie opcji tworzony jest sześcienna krzywa Bézier'a degree=3 to makeBezCurve().

Dla każdego segmentu krzywej sześciennej Béziera należy użyć czterech punktów, z których dwa skrajne wskazują miejsce, przez które przechodzi krzywizna, a dwa punkty pośrednie są punktami kontrolnymi.

  • Jeżeli podane są tylko trzy punkty, zamiast tego tworzona jest kwadratowa krzywa Béziera z tylko jednym punktem kontrolnym.
  • Jeżeli podane są tylko 2 punkty, tworzona jest liniowa krzywa Béziera, czyli linia prosta.
  • Jeśli podano 5 punktów, pierwsze 4 tworzą sześcienny segment krzywej Béziera, 4. i 5. punkt są używane do utworzenia linii prostej.
  • Jeśli podano 6 punktów, pierwsze 4 tworzą sześcienny odcinek krzywej Béziera, 4. i pozostałe dwa punkty są używane do utworzenia kwadratowego odcinka Béziera.
  • Jeśli podano 7 punktów, pierwsze 4 tworzą sześcienny odcinek krzywej Béziera, czwarty i pozostałe trzy punkty są używane do utworzenia drugiego sześciennego odcinka krzywej Béziera.
  • Ogólnie rzecz biorąc, ostatni punkt w grupie czterech jest dzielony z następującymi maksymalnie trzema punktami, aby utworzyć kolejny segment krzywej Béziera.
  • Aby uzyskać gładkie krzywe, bez prostych segmentów, liczba punktów powinna wynosić 3n + 1 lub 3n, gdzie n jest liczbą segmentów, dla n >= 1.

Przykłady krzywych Béziera utworzonych przy użyciu 2, 3, 4, 5, 6, 7 i 8 punktów. Linie ciągłe oznaczają sześcienne segmenty Béziera. Pozostałe linie są kwadratowe lub proste.

Przykład:

import FreeCAD as App
import Draft

doc = App.newDocument()

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.make_circle(100, placement=App.Placement(p1, rot), face=False)
c1.Label = "B1_E1"
c2 = Draft.make_circle(50, placement=App.Placement(p2, rot), face=True)
c2.Label = "B1_c1"
c3 = Draft.make_circle(50, placement=App.Placement(p3, rot), face=True)
c3.Label = "B1_c2"
c4 = Draft.make_circle(100, placement=App.Placement(p4, rot), face=False)
c4.Label = "B1_E2"
c5 = Draft.make_circle(50, placement=App.Placement(p5, rot), face=True)
c5.Label = "B2_c3"
c6 = Draft.make_circle(50, placement=App.Placement(p6, rot), face=True)
c6.Label = "B2_c4"
c7 = Draft.make_circle(100, placement=App.Placement(p7, rot), face=False)
c7.Label = "B2_E3"
c8 = Draft.make_circle(50, placement=App.Placement(p8, rot), face=True)
c8.Label = "B3_c5"

doc.recompute()

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

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

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

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

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

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

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

doc.recompute()