27. Krzywe i powierzchnie zadane parametrycznie.
Treści kształcenia: Podstawy geometrii analitycznej. Podstawy rachunku wektorów i ich zastosowania. Równania prostych i powierzchni. Równanie prostej - postać kierunkowa i ogólna, warunek równoległości i prostopadłości prostych, odległość dwóch punktów i punktu od prostej, równanie okręgu. Krzywe i powierzchnie zadane parametrycznie.
Efekty kształcenia: Potrafi wykorzystać rachunek wektorowy w odniesieniu do obiektów geometrycznych. Operuje równaniami w opisach geometrycznych.
Opis parametryczny zbioru¶
Mówimy, że krzywa na płaszczyźnie jest zadana parametrycznie, jeżeli jest ona podana w postaci zbioru:
dla pewnych funkcji . Podobnie opisać można krzywą w przestrzeni. Z opisem tym spotkaliśmy się już przy prostych.
Aby opisać powierzchnię w przestrzeni, należy użyć dwóch parametrów, tzn. zapisać ją w postaci:
dla pewnych funkcji . W ten sposób przedstawialiśmy płaszczyzny.
Przykład - postać parametryczna wykresu funkcji¶
Znajdź postać parametryczną krzywej dla .
Odpowiedź: .
Uwaga: w podobny sposób sparametryzować można dowolny wykres funkcji.
parametric_plot((t, sin(t)*t), (t, -7, 7), color = "green")
Równanie parametryczne okręgu¶
Rozważmy okrąg jednostkowy. Jest on zadany równaniem . Niech będzie punktem na tym okręgu, takim, że odcinek tworzy kąt z osią . Rozważmy trójkąt (zaznaczony na poniższym rysunku na czerwono).
#Rysunek ilustrujący powyższy tekst.
rysunek = circle((0,0),1,rgbcolor = (0,0,0))
theta = pi/3
rysunek += point((cos(theta), sin(theta)), color= "black", size = 40)
rysunek += point((cos(theta), 0), color= "black", size = 40)
rysunek += point((0, 0), color= "black", size = 40)
rysunek += line([(0, 0), (cos(theta), sin(theta))], linestyle = "--", color = "red")
rysunek += line([(cos(theta), 0), (cos(theta), sin(theta))], linestyle = "--", color = "red")
rysunek += line([(cos(theta), 0), (0, 0)], linestyle = "--", color = "red")
rysunek += text(r"$\alpha$", (0.2, 0.1), fontsize = 30)
rysunek += text("P", (cos(theta), sin(theta)+0.1), fontsize = 30)
rysunek += text("P'", (cos(theta)+0.1, 0.1), fontsize = 30)
rysunek += text("O", (-0.1, 0.1), fontsize = 30)
rysunek.show()
Wówczas z definicji funkcji trygonometrycznych dla kątów ostrych (jako stosunku boków w trójkącie prostokątnym) mamy oraz , czyli:
Zauważmy, że równanie jest spełnione na mocy jedynki trygonometrycznej.
Okazuje się, że zależność zachodzi dla dowolnego kąta na mocy definicji funkcji trygonometrycznej. Zatem okrąg jednostkowy to zbiór punktów:
Możemy upewnić się, że tak określone współrzędne spełniają równanie okręgu za pomocą Sage’a.
#Sprawdzenie, że współrzędne spełniają równanie okręgu.
var('t')
X = cos(t)
Y = sin(t)
print((X^2 + Y^2 - 1).trig_simplify())0
Związek funkcji trygonometrycznych z okręgiem można prześledzić również na poniższej animacji.
# Kod animacji pokazującej związek okręgu z funkcjami trygonometrycznymi.
def par(theta):
var('t')
mac = circle((0,0),1,rgbcolor = (0,0,0))
mac += plot(sin(x), (x, 0, 7), color = "red")
mac += parametric_plot((cos(t), t), (t, 0, 7), color = "green")
mac += point((cos(theta), sin(theta)), color= "black", size = 40)
mac += point((theta, sin(theta)), color= "red", size = 40)
mac += point((cos(theta), theta), color= "green", size = 40)
mac += line([(cos(theta), sin(theta)), (theta, sin(theta))], linestyle = "--", color = "red")
mac += line([(cos(theta), sin(theta)), (cos(theta), theta)], linestyle = "--", color = "green")
return mac
liczba_klatek = 30
a2 = animate([par(2*pi/liczba_klatek*i) for i in range(liczba_klatek + 1)])
a2.show()#Sprawdzenie, że współrzędne spełniają równanie elipsy.
var('t')
X = 1/2*cos(t)
Y = 3*sin(t)
print((4*X^2 + 1/9*Y^2 - 1).trig_simplify())0
#Narysujmy elipsę zadaną równaniem.
var('x, y')
implicit_plot(4*x^2 + y^2/9 - 1, (x, -5, 5), (y, -5, 5))
#Narysujmy elipsę zadaną parametrycznie.
var('t')
parametric_plot((1/2*cos(t), 3*sin(t)), (t, -5, 5))
Przykład - helisa¶
(a) Narysuj w przestrzeni krzywą zadaną parametrycznie w następujący sposób:
(b) Które z punktów , należą do tej helisy?
#GRAFIKA 3D
#(a) Narysujmy helisę zadaną parametrycznie.
image = parametric_plot3d((cos(t), sin(t), t), (t, -10, 10))
image.show()
# Wersja statyczna.
image.show(viewer = 'tachyon')
# (b)
t = 5*pi/3
print((cos(t), sin(t)) == (-1/2, -sqrt(3)/2))
t = 2*pi/3
print((cos(t), sin(t)) == (-1/2, sqrt(3)/2))False
True
Odp. Tylko punkt .
Przykład - walec¶
(a) Narysuj w przestrzeni powierzchnię zadaną parametrycznie w następujący sposób:
(b) Które z punktów , należą do tego walca?
#GRAFIKA 3D
# (a) Narysujmy walec zadany parametrycznie.
var('t, u')
image = parametric_plot3d((cos(t), sin(t), u), (t, -10, 10), (u, -3, 3), opacity = 0.3)
image.show()
# Wersja statyczna
image = parametric_plot3d((cos(t), sin(t), u), (t, -10, 10), (u, -3, 3), opacity = 0.8)
image.show(viewer='tachyon')
(b) Obydwa punkty.
Przykład - torus¶
Wykaż, że powierzchnia zadana parametrycznie w następujący sposób:
dla , spełnia równanie:
#GRAFIKA 3D
# Narysujmy torus zadany równaniem.
var('x', 'y', 'z')
F = (sqrt(x^2 + y^2) - 4)^2 + z^2 - 1
image = implicit_plot3d(F, (x,-5,5), (y,-5,5), (z,-5,5), color='mediumspringgreen')
image.show()
# Wersja statyczna
image.show(viewer='tachyon')
# Zauważmy, że Sage nie zawsze radzi sobie ze sprawdzeniem tożsamości. Czy umiesz ręcznie dokończyć jego obliczenia?
var('t', 'u')
X = cos(t)*(4 + cos(u))
Y = sin(t)*(4 + cos(u))
Z = sin(u)
((sqrt(X^2 + Y^2) - 4)^2 + Z^2 - 1).trig_simplify()-8*sqrt(cos(u)^2 + 8*cos(u) + 16) + 8*cos(u) + 32Przykład - hiperboloidy¶
Niech będzie ustaloną liczbą rzeczywistą. Wykaż, że powierzchnia zadana parametrycznie:
spełnia równanie . W zależności od parametru , jest to hiperboloida jednopowłokowa, dwupowłokowa lub podwójny stożek. Czy korzystając z poniższego apletu możesz się domyślić, dla jakiego zachodzi jaki przypadek?
#aplet rysujący powierzchnię x^2 + y^2 - z^2 = d dla różnych wartości d.
def hiperboloidy(d):
var('s, t')
return parametric_plot3d((sqrt(s^2 + d)*cos(t), sqrt(s^2 + d)*sin(t), s), (s, -10, 10), (t, -10, 10))
@interact
def _(d = slider(-3, 3, 0.1)):
hiperboloidy(d).show()#Wersja statyczna apletu.
for d in [-1, 0, 1]:
print("d = %s"%(d))
hiperboloidy(d).show(viewer='tachyon')d = -1

d = 0

d = 1

Zadania dodatkowe¶
Zadanie nr 1¶
(a) Znajdź równanie sfery o środku w oraz promieniu 1.
(b) Wykaż, że , spełniają równanie sfery.
Zadanie nr 2¶
(a) Wykaż, że , , stanowi inną parametryzację okręgu jednostkowego bez punktu .
(b) Jakiemu argumentowi odpowiada punkt ?
Zadanie nr 3¶
Znajdź dowolną parametryzację krzywej .
Wskazówka: znajdź taką parametryzację, w której oraz są potęgami zmiennej .