Plohe u SAGE-u

verzija: SageMath 9.4

In [1]:
from sage.plot.plot3d.shapes import *
In [2]:
load('MMZI.sage')
Dodatne funkcije za predmet 'Matematicke metode za informaticare'.
MMZI_naredbe je rjecnik u kojemu je po poglavljima dan popis svih dodatnih naredbi koje trenutno postoje.
In [3]:
%display latex
In [4]:
var('u v t l')
Out[4]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(u, v, t, l\right)\]

Ploha zadana u eksplicitnom obliku

Ako je ploha zadana u eksplicitnom obliku $z=f(x,y)$, tada jednadžbu tangencijalne ravnine u nekoj točki $(x_0,y_0,z_0)$ zadane plohe tražimo na sljedeći način:

  • Najprije pronađemo normalu tangencijalne ravnine u točki $(x_0, y_0, z_0)$. To je vektor $\vec{n}=\big(f_x(x_0,y_0),\, f_y(x_0,y_0),\, -1\big).$
  • Zatim iskoristimo jednadžbu ravnine $A(x-x_0)+B(y-y_0)+C(z-z_0)=0$ sa zadanom točkom $T_0(x_0, y_0, z_0)$ i normalom $\vec{n}=(A, B, C)$ i napišemo jednadžbu tangencijalne ravnine.

Dakle, jednadžba tangencijalne ravnine na plohu $z=f(x,y)$ u točki $(x_0, y_0, z_0)$ glasi

$$f_x(x_0, y_0)\cdot(x-x_0)+f_y(x_0, y_0)\cdot(y-y_0)-(z-z_0)=0.$$

Normala na plohu $z=f(x,y)$ u točki $(x_0, y_0, z_0)$ plohe je pravac koji prolazi točkom $(x_0, y_0, z_0)$ i okomit je na tangencijalnu ravninu plohe u točki $(x_0, y_0, z_0).$ Stoga kanonski oblik jednadžbe normale glasi

$$\dfrac{x-x_0}{f_x(x_0, y_0)}=\dfrac{y-y_0}{f_y(x_0, y_0)}=\dfrac{z-z_0}{-1}.$$

1. zadatak

Napišite jednadžbu tangencijalne ravnine i normale plohe $z=x^3+y^3$ u točki $D(1,2,9).$

Rješenje

Ploha je zadana u eksplicitnom obliku $z=f(x,y)$ pri čemu je $f(x,y)=x^3+y^3$, a točka $D$ se zaista nalazi na toj plohi jer je $z_0=x_0^3+y_0^3,$ tj. $9=1^3+2^3.$

In [5]:
f(x,y)=x^3+y^3

Pronađemo parcijalne derivacije funkcije $f$

In [6]:
fx=diff(f(x,y),x)
fy=diff(f(x,y),y)
fx,fy
Out[6]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(3 \, x^{2}, 3 \, y^{2}\right)\]

Izračunamo vrijednosti parcijalnih derivacija u točki $(x_0,y_0),$ tj. u točki $(1,2)$

In [7]:
fx.subs(x=1,y=2), fy.subs(x=1,y=2)
Out[7]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(3, 12\right)\]

Dakle, normala tangencijalne ravnine u točki $(1,2,9)$ plohe je vektor $(3, 12, -1)$ pa njezina jednadžba glasi

In [8]:
RavninaNormala((1,2,9),(3,12,-1))
Out[8]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}3 \, x + 12 \, y - z - 18 = 0\]

Jednadžba normale plohe u točki $(1,2,9)$ glasi:  $\frac{x-1}{3}=\frac{y-2}{12}=\frac{z-9}{-1}$

Na donjoj slici je prikazana zadana ploha, njezina tangencijalna ravnina i normala u crvenoj točki $D(1, 2, 9).$ Kako bi se sve jasno vidjelo, skalirane su mjerne jedinice na koordinatnim osima s odgovarajućim faktorima pa su u skladu s time prilagođeni i drugi brojevi da se dobije što vjernija slika.

In [9]:
cm = colormaps.summer
def c(x,y): return 0.01*(x**3+y**3)+0.9
graf=plot3d(x^3+y^3,(x,-4,3),(y,-3,3),opacity=0.9,color=(c,cm),plot_points=80)
tocka=Sphere(0.1,color='red').scale(1,1,15).translate(1,2,9)
ravnina=parametric_plot3d([1+u,2+v,9+3*u+12*v],(u,-5,2),(v,-4,1),color='sandybrown')
pravac=parametric_plot3d([1+3*u,2+12*u,9-175*u],(u,-0.2,0.2),radius=0.06)
(graf+tocka+ravnina+pravac).show(viewer='threejs',online=True,aspect_ratio=[2.5,2.5,0.15])

Ploha zadana u implicitnom obliku

Ako je ploha zadana u implicitnom obliku $F(x,y,z)=0$, tada jednadžbu tangencijalne ravnine u nekoj točki $(x_0,y_0,z_0)$ zadane plohe tražimo na sljedeći način:

  • Najprije pronađemo normalu tangencijalne ravnine u točki $(x_0, y_0, z_0)$. To je vektor
    $$\vec{n}=\big(F_x(x_0,y_0,z_0),\, F_y(x_0,y_0,z_0),\, F_z(x_0,y_0,z_0)\big).$$
  • Zatim iskoristimo jednadžbu ravnine $A(x-x_0)+B(y-y_0)+C(z-z_0)=0$ sa zadanom točkom $T_0(x_0, y_0, z_0)$ i normalom $\vec{n}=(A, B, C)$ i napišemo jednadžbu tangencijalne ravnine.

Dakle, jednadžba tangencijalne ravnine na plohu $F(x,y,z)=0$ u točki $(x_0, y_0, z_0)$ glasi

$$F_x(x_0, y_0,z_0)\cdot(x-x_0)+F_y(x_0, y_0,z_0)\cdot(y-y_0)+F_z(x_0,y_0,z_0)\cdot(z-z_0)=0.$$

Normala na plohu $F(x,y,z)=0$ u točki $(x_0, y_0, z_0)$ plohe je pravac koji prolazi točkom $(x_0, y_0, z_0)$ i okomit je na tangencijalnu ravninu plohe u točki $(x_0, y_0, z_0).$ Stoga kanonski oblik jednadžbe normale glasi

$$\dfrac{x-x_0}{F_x(x_0, y_0,z_0)}=\dfrac{y-y_0}{F_y(x_0, y_0,z_0)}=\dfrac{z-z_0}{F_z(x_0,y_0,z_0)}.$$

2. zadatak

Napišite jednadžbu tangencijalne ravnine i normale plohe $x^2+y^2+z^2=169$ u točki $D(3,4,12).$

Rješenje

Nakon što sve prebacimo na lijevu stranu, dobivamo $x^2+y^2+z^2-169=0$. Vidimo da je ploha zadana u implicitnom obliku $F(x,y,z)=0$ pri čemu je $F(x,y,z)=x^2+y^2+z^2-169.$ Točka $D$ se zaista nalazi na toj plohi jer je $x_0^2+y_0^2+z_0^2=169,$ tj. $3^2+4^2+12^2=169.$

In [10]:
F(x,y,z)=x^2+y^2+z^2-169

Pronađemo parcijalne derivacije funkcije $F$

In [11]:
Fx=diff(F(x,y,z),x)
Fy=diff(F(x,y,z),y)
Fz=diff(F(x,y,z),z)
Fx,Fy,Fz
Out[11]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(2 \, x, 2 \, y, 2 \, z\right)\]

Izračunamo vrijednosti parcijalnih derivacija u točki $(x_0,y_0,z_0),$ tj. u točki $(3,4,12)$

In [12]:
Fx.subs(x=3,y=4,z=12), Fy.subs(x=3,y=4,z=12), Fz.subs(x=3,y=4,z=12)
Out[12]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(6, 8, 24\right)\]

Dakle, normala tangencijalne ravnine u točki $(3,4,12)$ plohe je vektor $(6,8,24)$ pa njezina jednadžba nakon sređivanja glasi

In [13]:
RavninaNormala((3,4,12),(6,8,24))
Out[13]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}3 \, x + 4 \, y + 12 \, z - 169 = 0\]

Jednadžba normale plohe u točki $(3,4,12)$ glasi: $\frac{x-3}{6}=\frac{y-4}{8}=\frac{z-12}{24}$

Na donjoj slici je prikazana zadana ploha, njezina tangencijalna ravnina i normala u žutoj točki $D(3,4,12).$

In [14]:
graf2=implicit_plot3d(x^2+y^2+z^2==169,(x,-13,13),(y,-13,13),(z,-13,13),adaptive=True,color='pink',opacity=0.9)
tocka2=point3d((3,4,12),size=20,color='yellow')
ravnina2=parametric_plot3d([3+u,4+v,12-1/4*u-1/3*v],(u,-8,8),(v,-9,9),color='sandybrown')
pravac2=parametric_plot3d([3+3*u,4+4*u,12+12*u],(u,-0.8,0.8),radius=0.2)
(graf2+tocka2+ravnina2+pravac2).show(viewer='threejs',online=True)

Napomena

Uočite da je eksplicitni oblik jednadžbe plohe samo jedan specijalni slučaj implicitnog oblika. Naime, ako je ploha zadana u eksplicitnom obliku $z=f(x,y),$ tada njezin implicitni oblik glasi $f(x,y)-z=0.$ Dakle, u ovom slučaju je $F(x,y,z)=f(x,y)-z.$ Parcijalne derivacije funkcije $F$ su: $F_x=f_x,$ $F_y=f_y,$ $F_z=-1.$ Stoga je normala tangencijalne ravnine vektor $\vec{n}=(f_x,f_y,-1),$ a to je onaj isti vektor kojeg koristimo kada radimo direktno s eksplicitnim oblikom jednadžbe plohe.

Ploha zadana u parametarskom obliku

Ako je ploha zadana u parametarskom obliku $r(u,v)=\big(x(u,v),\,y(u,v),\,z(u,v)\big),$ tada jednadžbu tangencijalne ravnine u nekoj točki $(x_0,y_0,z_0)$ zadane plohe tražimo na sljedeći način:

  • Pronađemo parametre $u_0, v_0$ za koje je $r(u_0, v_0)=(x_0,y_0,z_0).$ Ukoliko su na početku bili zadani parametri $u_0$ i $v_0$ umjesto točke $(x_0,y_0,z_0)$, tada samo izračunamo $r(u_0,v_0)$ kako bismo dobili točku $(x_0,y_0,z_0).$
  • Pronađemo parcijalne derivacije vektorske funkcije $r,$ tj. pronađemo $r_u$ i $r_v.$
  • Izračunamo vrijednosti parcijalnih derivacija $r_u$ i $r_v$ u točki $(u_0,v_0).$ Vektori $r_u(u_0,v_0)$ i $r_v(u_0,v_0)$ razapinju tangencijalnu ravninu zadane plohe u točki $(x_0,y_0,z_0).$
  • Pronađemo normalu tangencijalne ravnine u točki $(x_0,y_0,z_0).$ To je vektor $\vec{n}=r_u(u_0,v_0)\times r_v(u_0,v_0).$
  • Zatim iskoristimo jednadžbu ravnine $A(x-x_0)+B(y-y_0)+C(z-z_0)=0$ sa zadanom točkom $T_0(x_0, y_0, z_0)$ i normalom $\vec{n}=(A, B, C)$ i napišemo jednadžbu tangencijalne ravnine.

3. zadatak

Zadana je ploha $r(u,v)=(\sin{u},\sin{v},\sin{(u+v)})$ i točka $A$ na toj plohi s parametrima $u=\frac{\pi}{3}, v=\frac{\pi}{6}.$ Odredite jednadžbu tangencijalne ravnine i normale zadane plohe u točki $A.$

Rješenje

Kartezijeve koordinate točke $A$ dobijemo tako da izračunamo

$$r\Big(\frac{\pi}{3},\frac{\pi}{6}\Big)=\Big(\sin\frac{\pi}{3},\sin{\frac{\pi}{6}},\sin{\Big(\frac{\pi}{3}+\frac{\pi}{6}\Big)}\Big)=\bigg(\frac{\sqrt{3}}{2},\frac{1}{2},1\bigg).$$

Dakle, $A\Big(\frac{\sqrt{3}}{2},\frac{1}{2},1\Big).$

In [15]:
r(u,v)=(sin(u),sin(v),sin(u+v))
In [16]:
A=r(pi/3,pi/6); A
Out[16]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\frac{1}{2} \, \sqrt{3},\,\frac{1}{2},\,1\right)\]

Pronađemo parcijalne derivacije funkcije $r$

In [17]:
ru=diff(r(u,v),u); ru
Out[17]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\cos\left(u\right),\,0,\,\cos\left(u + v\right)\right)\]
In [18]:
rv=diff(r(u,v),v); rv
Out[18]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(0,\,\cos\left(v\right),\,\cos\left(u + v\right)\right)\]

Izračunamo vrijednosti parcijalnih derivacija $r_u$ i $r_v$ u točki $\big(\frac{\pi}{3},\frac{\pi}{6}\big)$

In [19]:
ru0=ru.subs(u=pi/3,v=pi/6); ru0
Out[19]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\frac{1}{2},\,0,\,0\right)\]
In [20]:
rv0=rv.subs(u=pi/3,v=pi/6); rv0
Out[20]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(0,\,\frac{1}{2} \, \sqrt{3},\,0\right)\]

Pronađemo normalu tangencijalne ravnine kao vektorski produkt vektora $r_u\big(\frac{\pi}{3},\frac{\pi}{6}\big)$ i $r_v\big(\frac{\pi}{3},\frac{\pi}{6}\big).$

In [21]:
VP(ru0,rv0)
Out[21]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(0,\,0,\,\frac{1}{4} \, \sqrt{3}\right)\]

Možemo za normalu tangencijalne ravnine uzeti vektor $\vec{n}=(0,0,1).$ Dakle, tangencijalna ravnina u točki $A\Big(\frac{\sqrt{3}}{2},\frac{1}{2},1\Big)$ na zadanu plohu ima jednadžbu

In [22]:
RavninaNormala(A,(0,0,1))
Out[22]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}z - 1 = 0\]

Jednadžba normale plohe u točki $A$ glasi:  $\dfrac{x-\frac{\sqrt{3}}{2}}{0}=\dfrac{y-\frac{1}{2}}{0}=\dfrac{z-1}{1}.$

Na donjoj slici je prikazana zadana ploha, njezina tangencijalna ravnina i normala u žutoj točki $A.$ Uočite da je promatrana tangencijalna ravnina paralelna s $xy$-ravninom.

In [23]:
graf3=parametric_plot3d([sin(u),sin(v),sin(u+v)],(u,0,2*pi),(v,0,2*pi),opacity=1)
tocka3=Sphere(0.05,color='yellow').translate(sqrt(3)/2,1/2,1)
ravnina3=plot3d(1,(x,-1.2,1.2),(y,-1.2,1.2),color='sandybrown',opacity=0.7)
pravac3=line3d([(sqrt(3)/2,1/2,-0.5),(sqrt(3)/2,1/2,2)],radius=0.02,color='red')
(graf3+tocka3+ravnina3+pravac3).show(viewer='threejs',online=True)

4. zadatak

Odredite jednadžbu tangencijalne ravnine i normale na plohu $x=u+v,\, y=u^2+v^2,\, z=u^3+v^3$ u točki $M(1,1,1).$

Rješenje

Ploha je zadana u parametarskom obliku $r(u,v)=\big(u+v, u^2+v^2, u^3+v^3\big).$ U ovom slučaju je početna točka $M$ zadana svojim Kartezijevim koordinatama pa trebamo odrediti parametre $u$ i $v$ za koje se ona dobiva u zadanoj parametrizaciji plohe. Dakle, tražimo $u$ i $v$ za koje je $r(u,v)=M,$ tj. za koje je $r(u,v)=(1,1,1).$ Trebamo riješiti sustav jednadžbi $u+v=1,\, u^2+v^2=1,\, u^3+v^3=1,$ tj. dovoljno je "pogoditi" neko njegovo rješenje. Na primjer, jedno rješenje tog sustava je $u=1,\, v=0.$ 

In [24]:
solve([u+v==1,u^2+v^2==1,u^3+v^3==1],[u,v])
Out[24]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left[\left[u = 1, v = 0\right], \left[u = 0, v = 1\right]\right]\]

Pronađemo parcijalne derivacije funkcije $r$

In [25]:
r(u,v)=(u+v,u^2+v^2,u^3+v^3)
In [26]:
ru=diff(r(u,v),u); ru
Out[26]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(1,\,2 \, u,\,3 \, u^{2}\right)\]
In [27]:
rv=diff(r(u,v),v); rv
Out[27]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(1,\,2 \, v,\,3 \, v^{2}\right)\]

Izračunamo vrijednosti parcijalnih derivacija $r_u$ i $r_v$ u točki $(1,0)$ (sjetimo se da smo ranije dobili da je $u=1, v=0$)

In [28]:
ru0=ru.subs(u=1,v=0); ru0
Out[28]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(1,\,2,\,3\right)\]
In [29]:
rv0=rv.subs(u=1,v=0); rv0
Out[29]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(1,\,0,\,0\right)\]

Pronađemo normalu tangencijalne ravnine kao vektorski produkt vektora $r_u(1,0)$ i $r_v(1,0)$

In [30]:
VP(ru0,rv0)
Out[30]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(0,\,3,\,-2\right)\]

Dakle, tangencijalna ravnina u točki $M(1,1,1)$ na zadanu plohu ima jednadžbu

In [31]:
RavninaNormala((1,1,1),(0,3,-2))
Out[31]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}3 \, y - 2 \, z - 1 = 0\]

Jednadžba normale plohe u točki $M$ glasi:  $\frac{x-1}{0}=\frac{y-1}{3}=\frac{z-1}{-2}$

Na donjoj slici je prikazana zadana ploha, njezina tangencijalna ravnina i normala u žutoj točki $M.$

In [32]:
graf4=implicit_plot3d(x^3-3*x*y+2*z==0,(x,-3,3),(y,-3,3),(z,-3,3))
tocka4=Sphere(0.1,color='yellow').translate(1,1,1)
ravnina4=parametric_plot3d([1+u+v,1+2*u,1+3*u],(u,-1.4,0.7),(v,-4,2),color='sandybrown',opacity=0.7)
pravac4=parametric_plot3d([1,1+3*t,1-2*t],(t,-1,1),color='red',radius=0.05)
(graf4+tocka4+ravnina4+pravac4).show(viewer='threejs',online=True)

Praktična napomena

Ova napomena nema nikakve veze sa rješavanjem prethodnog zadatka već sa crtanjem plohe $r(u,v)=(u+v, u^2+v^2, u^3+v^3).$ Ukoliko probate nacrtati zadanu plohu sa naredbom parametric_plot3d, nećete baš dobiti  vizualno najbolju sliku jer je zadana parametrizacija jako nezgodna za dobivanje lijepe slike. Problem se može izbjeći tako da se pronađe neka druga parametrizacija plohe ili neki drugi oblik jednadžbe plohe. Naravno da to općenito nije uvijek moguće u praksi realizirati. Sve ovisi o tome koliko su zadane jednadžbe jednostavne ili komplicirane i da li ih je moguće dovesti u neku vezu. Na ovom primjeru ćemo pokazati kako se lagano iz parametarskih jednadžbi može dobiti implicitni oblik jednadžbe plohe.

Naime, znamo da je $x=u+v,\, y=u^2+v^2,\, z=u^3+v^3.$ Stoga je

$$xy=(u+v)\big(u^2+v^2\big)=u^3+uv^2+u^2v+v^3=\big(u^3+v^3\big)+uv(u+v)=z+uvx.$$

Dakle, dobili smo da je $xy=z+uvx.$ Preostaje nam da se još riješimo produkta $uv.$

Naime, iz $x=u+v$ kvadriranjem dobivamo $x^2=u^2+2uv+v^2.$ Uvažimo li da je $u^2+v^2=y,$ dobivamo $x^2=y+2uv$ pa je konačno $uv=\frac{1}{2}\big(x^2-y\big).$

Ako sada $uv=\frac{1}{2}\big(x^2-y\big)$ uvrstimo u $xy=z+uvx,$ nakon sređivanja dobivamo $x^3-3xy+2z=0$, a to je implicitni oblik jednadžbe zadane plohe. Sada se korištenjem implicitnog oblika pomoću naredbe implicit_plot3d nacrta zadana ploha i dobiva se gornja slika koja je puno ljepša od slike koja bi se dobila korištenjem zadane parametrizacije $r(u,v)$ i naredbe parametric_plot3d.

5. zadatak

Na plohu $x^2+2y^2+3z^2=21$ položite tangencijalne ravnine koje su paralelne s ravninom $x+4y+6z=0.$

Rješenje

Ploha je zadana u implicitnom obliku $x^2+2y^2+3z^2-21=0$ pa je $F(x,y,z)=x^2+2y^2+3z^2-21.$

In [33]:
F(x,y,z)=x^2+2*y^2+3*z^2-21

Pronađemo parcijalne derivacije funkcije $F$

In [34]:
Fx=diff(F(x,y,z),x)
Fy=diff(F(x,y,z),y)
Fz=diff(F(x,y,z),z)
nt=(Fx,Fy,Fz); nt
Out[34]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(2 \, x, 4 \, y, 6 \, z\right)\]

Normala tangencijalne ravnine plohe u točki $(x,y,z)$ plohe je vektor $\vec{n}_t=(2x,4y,6z).$ Kako tangencijalna ravnina plohe mora biti paralelna s ravninom $x+4y+6z=0$, njihove normale moraju biti kolinearni vektori. Normala ravnine $x+4y+6z=0$ je vektor $\vec{n}=(1,4,6).$ Zaključujemo da mora biti $\vec{n}_t=\lambda\vec{n}$ za neki $\lambda\in\mathbb{R}\setminus\{0\}.$ Raspisivanjem dobivamo $(2x,4y,6z)=\lambda\cdot(1,4,6),$ odnosno $2x=\lambda,$ $4y=4\lambda,$ $6z=6\lambda$. Sređivanjem slijedi da mora biti $x=\frac{\lambda}{2},$ $y=\lambda,$ $z=\lambda.$ Kako se točka $(x,y,z)$ mora nalaziti na zadanoj plohi, njezine koordinate moraju zadovoljavati jednadžbu te plohe. Uvrstimo li sada $x=\frac{\lambda}{2},$ $y=\lambda,$ $z=\lambda$ u jednadžbu plohe $x^2+2y^2+3z^2=21,$ nakon sređivanja dobivamo $\lambda^2=4$ iz čega slijedi $\lambda_1=2$ i $\lambda_2=-2.$

In [35]:
ploha=x^2+2*y^2+3*z^2==21
ploha.subs(x=1/2*l,y=l,z=l)
Out[35]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\frac{21}{4} \, l^{2} = 21\]
In [36]:
4/21*ploha.subs(x=1/2*l,y=l,z=l)
Out[36]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}l^{2} = 4\]

Uvrstimo li sada $\lambda_1=2$ i $\lambda_2=-2$ u $x=\frac{\lambda}{2},$ $y=\lambda,$ $z=\lambda$, dobivamo dvije točke $T_1(1,2,2)$ i $T_2(-1,-2,-2)$ na zadanoj plohi u kojima su tangencijalne ravnine paralelne s ravninom $x+4y+6z=0.$

Sada nije problem pronaći jednadžbe tih tangencijalnih ravnina u točkama $T_1$ i $T_2.$ Za to su nam još potrebne normale tih ravnina. No, sjetimo se da je normala tangencijalne ravnine vektor $\vec{n}_t=(2x,4y,6z)$. Za točku $T_1$  to je vektor $(2,8,12),$ a za točku $T_2$  to je vektor $(-2,-8,-12)$. Zapravo, tangencijalne ravnine moraju biti paralelne s ravninom $x+4y+6z=0$ pa za obje tangencijalne ravnine za njihove normale možemo uzeti normalu ravnine $x+4y+6z=0$, a to je vektor $(1,4,6).$

Tangencijalna ravnina u točki $T_1$

In [37]:
RavninaNormala((1,2,2),(1,4,6))
Out[37]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}x + 4 \, y + 6 \, z - 21 = 0\]

Tangencijalna ravnina u točki $T_2$

In [38]:
RavninaNormala((-1,-2,-2),(1,4,6))
Out[38]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}x + 4 \, y + 6 \, z + 21 = 0\]

Na donjoj slici je prikazana zadana ploha i dvije žute točke na toj plohi u kojima su tangencijalne ravnine paralelne sa zadanom zelenom ravninom $x+4y+6z=0.$

In [39]:
graf5=implicit_plot3d(x^2+2*y^2+3*z^2==21,(x,-5,5),(y,-5,5),(z,-5,5),opacity=0.9)
#tocka5=point3d([(1,2,2),(-1,-2,-2)],size=20,color='yellow')
tocka51=Sphere(0.1,color='yellow').translate(1,2,2)
tocka52=Sphere(0.1,color='yellow').translate(-1,-2,-2)
rav1=parametric_plot3d([1+2*u-4*v,2+4*u+v,2-3*u],(u,-0.7,0.7),(v,-1.2,1.2),color='sandybrown',opacity=0.6)
rav2=parametric_plot3d([-1+2*u-4*v,-2+4*u+v,-2-3*u],(u,-0.7,0.7),(v,-1.2,1.2),color='sandybrown',opacity=0.6)
rav3=parametric_plot3d([2*u-4*v,4*u+v,-3*u],(u,-0.7,0.7),(v,-1.2,1.2),color='lightgreen')
(graf5+tocka51+tocka52+rav1+rav2+rav3).show(viewer='threejs',online=True)

6. zadatak

Zadana je ploha $r(u,v)=\big(u^2+v^2, u^2-v^2, uv\big).$ Odredite sve točke na zadanoj plohi koje se nalaze u ravnini $z=-1$ i u kojima je tangencijalna ravnina plohe okomita na ravninu $x+y-z=1.$

Rješenje

In [40]:
r(u,v)=(u^2+v^2,u^2-v^2,u*v)

Parcijalne derivacije funkcije $r$

In [41]:
ru=diff(r(u,v),u); ru
Out[41]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(2 \, u,\,2 \, u,\,v\right)\]
In [42]:
rv=diff(r(u,v),v); rv
Out[42]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(2 \, v,\,-2 \, v,\,u\right)\]

Normala tangencijalne ravnine je vektor $\vec{n}_t=r_u\times r_v$

In [43]:
nt=VP(ru,rv); nt
Out[43]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(2 \, u^{2} + 2 \, v^{2},\,-2 \, u^{2} + 2 \, v^{2},\,-8 \, u v\right)\]

Kako tangencijalna ravnina mora biti okomita na ravninu $x+y-z=1,$ njihove normale moraju biti okomite pa im skalarni produkt mora biti 0.

In [44]:
SP(nt,(1,1,-1))==0
Out[44]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}8 \, u v + 4 \, v^{2} = 0\]

Točke koje tražimo, osim što moraju biti na zadanoj plohi, moraju biti i u ravnini $z=-1.$ Kako je točka na plohi, mora biti $z=uv.$ Stoga je $uv=-1.$ Uvrstimo li sada $uv=-1$ u $8uv+4v^2=0,$ dobivamo $v^2=2$ iz čega slijedi $v_1=\sqrt{2}$ i $v_2=-\sqrt{2}.$ Iz $uv=-1$ slijedi $u_1=-\frac{1}{\sqrt{2}},$ $u_2=\frac{1}{\sqrt{2}}.$

U oba slučaja dobijemo istu točku $T\big(\frac{5}{2},-\frac{3}{2},-1\big).$

In [45]:
r(-1/sqrt(2),sqrt(2))
Out[45]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\frac{5}{2},\,-\frac{3}{2},\,-1\right)\]
In [46]:
r(1/sqrt(2),-sqrt(2))
Out[46]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(\frac{5}{2},\,-\frac{3}{2},\,-1\right)\]

Na donjoj slici je prikazana zadana plava ploha i žuta ravnina $z=-1.$ Presjek te ravnine i plohe je crvena krivulja na slici. U zadatku smo zapravo trebali pronaći sve točke na toj crvenoj krivulji u kojima su tangencijalne ravnine na zadanu plohu okomite na zelenu ravninu $x+y-z=1.$ Gornjim računom smo došli do zaključka da postoji samo jedna takva točka $T\big(\frac{5}{2},-\frac{3}{2},-1\big)$ koja je na slici označena svijetlo plavom bojom. Također, na slici je nacrtana i tangencijalna ravnina u toj točki na zadanu plohu (roza ravnina) koja je okomita na zadanu zelenu ravninu.

In [47]:
graf6=parametric_plot3d([2*u,2*u*cos(v),u*sin(v)],(u,-3,3),(v,0,2*pi))
rav4=plot3d(-1,(x,-6,6),(y,-6,6),color='yellow')
rav5=parametric_plot3d([1+u+1/2*v,1-u+1/2*v,1+v],(u,-5,4),(v,-5,3),color='lightgreen',opacity=0.5)
rav6=parametric_plot3d([2.5+u-11/3*v,-1.5+u+13/3*v,-1-u+2/3*v],(u,-3,3),(v,-0.7,1.7),color='pink',opacity=0.5)
kriv1=parametric_plot3d([2*cosh(t),2*sinh(t),-1],(t,-1.75,1.75),color='red',radius=0.08)
kriv2=parametric_plot3d([-2*cosh(t),-2*sinh(t),-1],(t,-1.75,1.75),color='red',radius=0.08)
tocka6=Sphere(0.2,color='cyan').translate(2.5,-1.5,-1)
(graf6+rav4+rav5+kriv1+kriv2+tocka6+rav6).show(viewer='threejs',online=True)

7. zadatak

Zadana je ploha $x^2z+y^2z=9$ i pravac $\frac{x-1}{1}=\frac{y+2}{1}=\frac{z+1}{1}.$ Odredite jednadžbe tangencijalnih ravnina i normala na zadanu plohu u točkama u kojima zadani pravac siječe tu plohu.

Rješenje

Najprije odredimo sve presjeke zadanog pravca sa zadanom plohom tako da parametarske jednadžbe pravca uvrstimo u jednadžbu plohe i riješimo jednadžbu.

In [48]:
F(x,y,z)=x^2*z+y^2*z-9
In [49]:
jed=expand(F(t+1,t-2,t-1)); jed
Out[49]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}2 \, t^{3} - 4 \, t^{2} + 7 \, t - 14\]

Imamo samo jedno realno rješenje $t=2$ pa pravac siječe plohu u samo jednoj točki $T(3,0,1).$

In [50]:
solve(jed==0,t)
Out[50]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left[t = -\frac{1}{2} i \, \sqrt{7} \sqrt{2}, t = \frac{1}{2} i \, \sqrt{7} \sqrt{2}, t = 2\right]\]

Sada tražimo jednadžbu tangencijalne ravnine i normale u točki $T(3,0,1)$ na već ranije opisani način kada je ploha zadana u implicitnom obliku.

In [51]:
Fx=diff(F(x,y,z),x)
Fy=diff(F(x,y,z),y)
Fz=diff(F(x,y,z),z)
Fx,Fy,Fz
Out[51]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(2 \, x z, 2 \, y z, x^{2} + y^{2}\right)\]
In [52]:
Fx.subs(x=3,y=0,z=1), Fy.subs(x=3,y=0,z=1), Fz.subs(x=3,y=0,z=1)
Out[52]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}\left(6, 0, 9\right)\]

Jednadžba tangencijalne ravnine plohe u točki $T(3,0,1)$

In [53]:
RavninaNormala((3,0,1),(6,0,9))
Out[53]:
\[\newcommand{\Bold}[1]{\mathbf{#1}}2 \, x + 3 \, z - 9 = 0\]

Jednadžba normale plohe u točki $T(3,0,1)$:  $\frac{x-3}{2}=\frac{y}{0}=\frac{z-1}{3}$

Na donjoj slici je prikazana zadana ploha, zadani svijetloplavi pravac i žuta točka $T(3,0,1)$ u kojoj zadani pravac siječe plohu. Tu je još i tangencijalna ravnina plohe i njezina normala (crveni pravac) u točki $T(3,0,1).$

In [54]:
graf7=implicit_plot3d(x^2*z+y^2*z-9==0,(x,-5,5),(y,-5,5),(z,-2,6))
tocka7=Sphere(0.17,color='yellow').translate(3,0,1)
pravac7=parametric_plot3d([t+3,t,t+1],(t,-3,2.5),color='cyan',radius=0.08)
rav7=parametric_plot3d([3+3*u,v,1-2*u],(u,-2,1),(v,-5,5),color='sandybrown',opacity=0.6)
nor7=parametric_plot3d([3+2*t,0,1+3*t],(t,-1.3,1.3),color='red',radius=0.08)
(graf7+tocka7+pravac7+rav7+nor7).show(viewer='threejs',online=True)
In [ ]: