verzija: SageMath 9.4
from sage.plot.plot3d.shapes import *
load('MMZI.sage')
%display latex
var('u v t l')
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:
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}.$$
Napišite jednadžbu tangencijalne ravnine i normale plohe $z=x^3+y^3$ u točki $D(1,2,9).$
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.$
f(x,y)=x^3+y^3
Pronađemo parcijalne derivacije funkcije $f$
fx=diff(f(x,y),x)
fy=diff(f(x,y),y)
fx,fy
Izračunamo vrijednosti parcijalnih derivacija u točki $(x_0,y_0),$ tj. u točki $(1,2)$
fx.subs(x=1,y=2), fy.subs(x=1,y=2)
Dakle, normala tangencijalne ravnine u točki $(1,2,9)$ plohe je vektor $(3, 12, -1)$ pa njezina jednadžba glasi
RavninaNormala((1,2,9),(3,12,-1))
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.
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])
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:
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)}.$$
Napišite jednadžbu tangencijalne ravnine i normale plohe $x^2+y^2+z^2=169$ u točki $D(3,4,12).$
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.$
F(x,y,z)=x^2+y^2+z^2-169
Pronađemo parcijalne derivacije funkcije $F$
Fx=diff(F(x,y,z),x)
Fy=diff(F(x,y,z),y)
Fz=diff(F(x,y,z),z)
Fx,Fy,Fz
Izračunamo vrijednosti parcijalnih derivacija u točki $(x_0,y_0,z_0),$ tj. u točki $(3,4,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)
Dakle, normala tangencijalne ravnine u točki $(3,4,12)$ plohe je vektor $(6,8,24)$ pa njezina jednadžba nakon sređivanja glasi
RavninaNormala((3,4,12),(6,8,24))
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).$
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)