pow(x,n) = x**n; ## definida pow(x,n)

f(x,y) = sqrt(4 - pow(x,2) - pow(y,2));

m = sqrt(2);

set xrange [-m:m] ;

set yrange [-m:m] ;

Dfx(x,y) = -2*x/f(x,y); Dfy(x,y) = -2*y/f(x,y);

a=-1.0;b=1.0; c=f(a,b);

A = Dfx(a,b); B = Dfy(a,b); C = f(a,b);

## eq. do plano tangente z = f(a,b) + Dfx(a,b)*(x-a) + Dfy(a,b)*(y-b)

## eq. do plano tangente z - f(a,b) - Dfx(a,b)*(x-a) - Dfy(a,b)*(y-b)= 0

## eq. do plano tangente z - C - A(x - a) - B(y - c)

## vetor perp ao pl tan (-A, -B, 1)

## z = P(x,y) = C + A*(x-a) + B*(y-b);

P(x,y) = C + A*(x-a) + B*(y-b)

## P = (a,b,f(a,b))

## vetor perpendicular (-A,-B, 1) ===> (a,b,f(a,b)) + (-A, -B, 1)=(a-A, b-B,f(a,b)+1)

set arrow from 0,0,0 to a,b,f(a,b) ## coloca um vetor no gráfico

set arrow from 0,0,0 to -A,-B, 1; ## aparece quando usar plot ou splot

set arrow from a,b,f(a,b) to a-A, b-B,f(a,b)+1 ## um vetor no gráfico

splot f(x,y), P(x,y);

print "Aperte enter para continuar"

pause -2

unset arrow ## apaga as setas - para poder usar novos vetores

a=1.0;b=1.0; c=f(a,b);

A = Dfx(a,b); B = Dfy(a,b); C = f(a,b);

## eq. do plano tangente z = f(a,b) + Dfx(a,b)*(x-a) + Dfy(a,b)*(y-b)

## eq. do plano tangente z - f(a,b) - Dfx(a,b)*(x-a) - Dfy(a,b)*(y-b)= 0

## eq. do plano tangente z - C - A(x - a) - B(y - c)

## vetor perp ao pl tan (-A, -B, 1)

## z = P(x,y) = C + A*(x-a) + B*(y-b);

P(x,y) = C + A*(x-a) + B*(y-b)

## P = (a,b,f(a,b))

## vetor perpendicular (A,B, -1) ===> (a,b,f(a,b)) + (-A, -B, 1)=(a-A, b-B,f(a,b

set arrow from 0,0,0 to -A,-B, 1;

set arrow from 0,0,0 to a,b,f(a,b)

set arrow from a,b,f(a,b) to a-A, b-B,f(a,b)+1

splot f(x,y), P(x,y)

print "Aperte enter para continuar"

pause -2

unset arrow ## apaga as setas - para poder usar novos vetores

a=2.0;b=-2.0; c=f(a,b);

A = Dfx(a,b); B = Dfy(a,b); C = f(a,b);

## eq. do plano tangente z = f(a,b) + Dfx(a,b)*(x-a) + Dfy(a,b)*(y-b)

## eq. do plano tangente z - f(a,b) - Dfx(a,b)*(x-a) - Dfy(a,b)*(y-b)= 0

## eq. do plano tangente z - C - A(x - a) - B(y - c)

## vetor perp ao pl tan (-A, -B, 1)

## z = P(x,y) = C + A*(x-a) + B*(y-b);

P(x,y) = C + A*(x-a) + B*(y-b)

## P = (a,b,f(a,b))

## vetor perpendicular (A,B, -1) ===> (a,b,f(a,b)) + (-A, -B, 1)=(a-A, b-B,f(a,b)+1)

set arrow from 0,0,0 to -A,-B, 1;

set arrow from 0,0,0 to a,b,f(a,b)

set arrow from a,b,f(a,b) to a-A, b-B,f(a,b)+1

splot f(x,y), P(x,y)

print "Aperte enter para continuar"

pause -2

## este trecho do programa produz o gráfico que se encontra na página

unset arrow ## apaga as setas - para poder usar novos vetores

a=0.0;b=0.0; c=f(a,b);

A = Dfx(a,b); B = Dfy(a,b); C = f(a,b);

## eq. do plano tangente z = f(a,b) + Dfx(a,b)*(x-a) + Dfy(a,b)*(y-b)

## eq. do plano tangente z - f(a,b) - Dfx(a,b)*(x-a) - Dfy(a,b)*(y-b)= 0

## eq. do plano tangente z - C - A(x - a) - B(y - c)

## vetor perp ao pl tan (-A, -B, 1)

## z = P(x,y) = C + A*(x-a) + B*(y-b);

P(x,y) = C + A*(x-a) + B*(y-b)

## P = (a,b,f(a,b))

## vetor perpendicular (A,B, -1) ===> (a,b,f(a,b)) + (-A, -B, 1)=(a-A, b-B,f(a,b)+1)

set arrow from 0,0,0 to -A,-B, 1;

set arrow from 0,0,0 to a,b,f(a,b)

set arrow from a,b,f(a,b) to a-A, b-B,f(a,b)+1

splot f(x,y), P(x,y)

print "Aperte enter para continuar"

pause -2