Касательная плоскость к поверхности
Касательная плоскость — это «плоский экран», которым мы заменяем кривую поверхность в окрестности точки.
Касательная плоскость к графику $z=f(x,y)$ в точке $(x_0,y_0)$ — плоскость, наилучшим образом приближающая поверхность вблизи этой точки.
Уравнение
Касательная плоскость собирается из частных производных — наклонов по двум осям:
$$z = f(x_0,y_0) + f_x(x_0,y_0)(x - x_0) + f_y(x_0,y_0)(y - y_0)$$
Это в точности полный дифференциал, записанный как уравнение плоскости. Нормаль к поверхности (перпендикуляр к касательной плоскости):
$$\vec n = (f_x,\; f_y,\; -1)$$
Зачем она нужна
Касательная плоскость лежит в основе линеаризации: компьютерная графика заменяет гладкие поверхности набором плоских граней, а методы оптимизации приближают функцию плоскостью на каждом шаге. Это «локальный плоский мир» для кривого пространства.
Сравним поверхность и плоскость
def f(x, y):
return x*x + y*y
x0, y0 = 1.0, 1.0
fx, fy = 2*x0, 2*y0 # частные производные
f0 = f(x0, y0)
def tangent(x, y):
return f0 + fx*(x - x0) + fy*(y - y0)
for dx in (0.0, 0.1, 0.3, 1.0):
x, y = x0 + dx, y0
print("dx=%.1f поверхность=%.3f плоскость=%.3f разница=%.3f"
% (dx, f(x, y), tangent(x, y), abs(f(x, y) - tangent(x, y))))Вывод:
dx=0.0 поверхность=2.000 плоскость=2.000 разница=0.000 dx=0.1 поверхность=2.210 плоскость=2.200 разница=0.010 dx=0.3 поверхность=2.690 плоскость=2.600 разница=0.090 dx=1.0 поверхность=5.000 плоскость=4.000 разница=1.000
Вблизи точки касания плоскость почти совпадает с поверхностью, а вдали расходится — приближение локально.
Как работает под капотом
Почему нормаль равна $(f_x, f_y, -1)$? Запишем поверхность как уровень функции $F(x,y,z) = f(x,y) - z = 0$. Градиент $\nabla F = (f_x, f_y, -1)$ перпендикулярен поверхности уровня $F=0$ — это и есть нормаль. Так задача о касательной плоскости сводится к градиенту функции трёх переменных.
Частые ошибки
- Брать нормаль как $(f_x, f_y, 1)$ без минуса — направление перевернётся.
- Применять линеаризацию далеко от точки касания, где ошибка велика.
- Путать касательную плоскость к графику и касательную плоскость к поверхности уровня.
Итог
- Касательная плоскость: $z = f_0 + f_x(x-x_0) + f_y(y-y_0)$.
- Нормаль к графику: $\vec n = (f_x, f_y, -1)$.
- Это линеаризация — точна вблизи точки касания.