Um engenheiro de computação está desenvolvendo um motor de renderização (render engine) para um jogo. Um dos objetos no cenário é uma colina matemática definida pela função:
f(x, y)=10 e^{-\left(x^{2}+y^{2}\right)}
Para calcular a reflexão da luz solar no ponto P\left(1,0,10 e^{-1}\right), o algoritmo precisa determinar a equação do plano tangente nesse ponto, pois o vetor perpendicular a esse plano (vetor normal) será usado para calcular a intensidade do brilho (shading).
Determine a equação do plano tangente à superfície no ponto P\left(1,0,10 e^{-1}\right). Considere e^{-1} \approx 0,37.
Por que isso importa para o Engenheiro de Computação?
Vetor Normal: A partir do plano , o computador extrai o vetor normal .
Cálculo de Cor: O software faz o produto escalar entre \vec{n} e o vetor da luz ( \vec{L} ). Se o ângulo for pequeno, o pixel fica claro; se for grande, o pixel fica escuro. Sem o plano tangente, os objetos em 3D pareceriam "achatados"e sem realismo.

Passo 1

O que o enunciado pede e o que nos foi dado:
  • Pede: determinar a equação do plano tangente à superfície no ponto P\left(1,0,10 e^{-1}\right).
  • Dados: a superfície é dada por f(x,y)=10 e^{-\left(x^{2}+y^{2}\right)}.
  • Ponto de tangência: P=(x_0,y_0,z_0)=(1,0,10 e^{-1}).
  • Informação numérica útil: e^{-1}\approx 0,37.
    Observação: a resposta precisa entregar a equação do plano tangente; a partir dela o engenheiro extrai o vetor normal e usa esse vetor para calcular brilho via produto escalar com o vetor da luz.

Passo 2

Ideia e fórmula do plano tangente (explicação didática):
  • Quando a superfície é dada como gráfico z=f(x,y), o plano tangente em (x_0,y_0,z_0) tem a forma
z-z_0=f_x(x_0,y_0)\,(x-x_0)+f_y(x_0,y_0)\,(y-y_0).
  • Aqui f_x é a derivada parcial de f em relação a x (slope da superfície se variar só x, com y fixo) e f_y é a derivada parcial em relação a y (slope quando varia só y). Esses dois números definem como a superfície inclina nas direções x e y; combinados dão o plano que melhor aproxima a superfície no ponto.
  • Em termos práticos: o plano tangente é a aproximação linear de f perto do ponto; computadores usam essa aproximação para computar a normal e, daí, o brilho.

Passo 3

Calcular as derivadas parciais gerais de f:
  • A função é f(x,y)=10 e^{-(x^2+y^2)}.
  • Usando regra da cadeia, para f_x derivamos o expoente -(x^2+y^2) em relação a x, que dá -2x. Assim
f_x(x,y)=10\cdot e^{-(x^2+y^2)}\cdot(-2x)=-20x\,e^{-(x^2+y^2)}.
  • Analogamente, derivando em relação a y (expoente dá -2y):
f_y(x,y)=-20y\,e^{-(x^2+y^2)}.
  • Comentário intuitivo: f_x é proporcional a -x e f_y a -y; perto da origem a inclinação é pequena, longe dela aumenta (em módulo), e o sinal negativo indica que a superfície decai para fora do pico central.

Passo 4

Avaliar as derivadas no ponto (x_0,y_0)=(1,0) e obter z_0:
  • Avaliando
f_x(1,0)=-20\cdot 1\cdot e^{-1}=-20 e^{-1},
f_y(1,0)=-20\cdot 0\cdot e^{-1}=0.
  • E o valor de z_0 já nos foi dado: z_0=f(1,0)=10 e^{-1}.

Passo 5

Montar a equação do plano tangente usando a fórmula do Passo 2:
  • Substituindo em z-z_0=f_x(x_0,y_0)(x-x_0)+f_y(x_0,y_0)(y-y_0) obtemos
z-10 e^{-1} = -20 e^{-1}\,(x-1) + 0\cdot(y-0).
  • Simplificando (expandindo o termo):
z-10 e^{-1} = -20 e^{-1} x +20 e^{-1}.
  • Isolando z:
z = -20 e^{-1}\,x +30 e^{-1}.
  • Forma alternativa (forma padrão): podemos rearranjar para
20 e^{-1}\,x + z -30 e^{-1}=0.
Essas expressões são algebraicamente equivalentes; escolha a forma que for mais prática para implementação.

Passo 6

Aproximação numérica usando e^{-1}\approx 0,37 (para ver coeficientes em números reais):
  • Calcule os coeficientes:
-20 e^{-1}\approx -20\cdot 0,37=-7,4, \qquad 30 e^{-1}\approx 30\cdot 0,37=11,1.
  • Assim aproximadamente
z\approx -7,4\,x +11,1.
  • Verificação rápida: para x=1,y=0 temos z\approx -7,4+11,1=3,7, que é 10 e^{-1}\approx 3,7 — ponto confirmado sobre o plano.

Passo 7

Extrair o vetor normal a partir do plano (explicação e cálculo):
  • Para o gráfico z=f(x,y), um vetor normal não normalizado é ( -f_x, -f_y, 1 ). Isso vem da observação de que o vetor (1,0,f_x) é tangente na direção x e (0,1,f_y) é tangente na direção y; o produto vetorial desses dois vetores dá a normal.
  • Avaliando em (1,0):
\vec{n} = \bigl(-f_x(1,0), -f_y(1,0), 1\bigr) = \bigl(-(-20 e^{-1}), -0, 1\bigr) = \bigl(20 e^{-1}, 0, 1\bigr).
  • Aproximação numérica:
20 e^{-1}\approx 7,4, \quad\text{logo}\quad \vec{n}\approx (7,4,\,1).
  • Normalizado (útil para produto escalar): a norma é \|\vec{n}\|=\sqrt{(20 e^{-1})^{2}+1}. Numericamente \|\vec{n}\|\approx\sqrt{7,4^{2}+1}\approx 7,47, então
\hat{n}=\frac{\vec{n}}{\|\vec{n}\|}\approx\left(\frac{7,4}{7,47},\,0,\,\frac{1}{7,47}\right)\approx(0{,}99,\,0,\,0{,}13).

Passo 8

Por que isso importa para o engenheiro de computação — ligação com shading (explicação prática passo a passo):
  • O pipeline típico simplificado:
    1. Para cada ponto visível na superfície (cada pixel), o motor calcula ou interpola uma posição (x,y,z).
    2. Para esse ponto calcula-se o plano tangente (ou diretamente a derivada/gradiente) e daí o vetor normal \vec{n}.
    3. Normaliza-se \vec{n} para obter \hat{n}.
    4. Calcula-se a direção da luz (vetor unitário \hat{L}) — para sol distante é uma direção fixa; para fonte pontual depende da posição relativa.
    5. A intensidade difusa (Lambert) é dada por
    I_{\text{dif}} = k_d\max\bigl(0,\hat{n}\cdot\hat{L}\bigr),onde k_d é a constante de difusão (cor/coeficiente do material). Se o produto escalar for grande (ângulo pequeno), o pixel fica claro; se for pequeno/negativo, fica escuro/sombrado.
    6. Para brilhos especulares usa-se o vetor reflexão ou modelos como Phong/Blinn-Phong, que também dependem de \hat{n}.
  • Exemplo rápido: se a luz vier exatamente de cima com \hat{L}=(0,0,1), então
\hat{n}\cdot\hat{L}\approx 0{,}13,
ou seja intensidade baixa (a superfície ali não aponta muito para cima), então o pixel fica relativamente escuro — isso é resultado direto do fato de a colina inclinar para fora em x.
  • Sem calcular o plano tangente e a normal, o motor não teria a informação de orientação local da superfície e o sombreamento seria incorreto; objetos pareceriam “achatados” e sem relevo.

Passo 9

Resumo prático para implementar no motor (passos que o engenheiro deve codificar)
  • Ao carregar a superfície (ou ao amostrar a heightmap), computar f_x,f_y analiticamente (como fizemos) ou numericamente via diferenças finitas.
  • Usar \vec{n}=(-f_x,-f_y,1) e normalizar antes do produto escalar.
  • Calcular I=\text{emissão ambiental} + I_{\text{dif}} + I_{\text{esp}}ã usando \hat{n} para todas as contribuições de iluminação.
  • Guardar a fórmula do plano tangente se precisar de operações de espaço tangent (ex.: normal mapping avançado) — o próprio plano ou suas direções tangentes são úteis.

Resposta

\text{Plano tangente: } z-10 e^{-1} = -20 e^{-1}\,(x-1)\quad\text{(equivalente a }z=-20 e^{-1}x+30 e^{-1}\text{; numeric.: }z\approx -7{,}4x+11{,}1\text{).}
\text{Importância: permite extrair o vetor normal } \vec{n}=(20 e^{-1},0,1)\text{ (aprox. }(7{,}4,0,1)\text{) e calcular o brilho via }I=\max(0,\hat{n}\cdot\hat{L})\text{, crucial para shading realista.}â

Exercícios relacionados