如何理解三维曲面的法线向量公式?
链接:https://www.zhihu.com/question/34019475/answer/57764660
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原答案如下(其实是错的):
三维空间中的曲面可理解为三维空间中的标量场的等值面,
是每一点处的梯度,也就是值的变化最大的方向,直观上就是该等值面的法向方向。
考虑全微分公式
若和都在曲面上,则,于是
即与曲面上的
附近的任意极小线段垂直,即它是曲面的法向量。写得不严格,大致是这么个意思。
和拉格朗日乘子没直接关系吧,即使有关系,也是通过的间接关系。算子的各种运算和含义,需要在一些例子中理解,在任何一本微积分教材中都会涉及。初学的时候基本上都要死记一些,后面熟了之后才会理解。
=============================================================
为什么上述答案是错的呢?因为它把一些似是而非的概念揉在了一起。正确答案应该是:
- 梯度的定义是:对任意 , ,其中 指 在 方向上的方向导数。点乘和方向导数都是有明确定义的 ( 方向上的方向导数可理解为 对 求导),且不依赖于具体的坐标系,因而梯度是不依赖于具体坐标系的。
- 对于曲面 ,一点处的切平面上的任一矢量 ,满足 ,因而 ,即梯度与切平面垂直。
所以,梯度的定义实际上就规定了它的唯一方向:与切平面垂直。那么原答案错的何处呢?
- 考虑曲面时,全微分没意义。处理曲面的工具是微分几何,依据是切平面上的局部坐标系,而全微分显然用了全局坐标系。
- 如果一定要用全局坐标系,并把dx,dy,dz理解坐标微元,它们显然与切平面不对齐。强制要求它们与切平面对齐,就得到一个处处变化的局部坐标系,实际上又回到了微分几何那一套。
那为什么一般都用 这个偏微分定义呢?它用的好像是全局坐标呀?
- 如果不考虑曲面性质,用全局坐标并无不妥。因为梯度与坐标系无关,这个定义只是它在一个具体坐标系下的表现形式。
- 为什么是这个形式呢?我们从梯度的原始定义出发,欲求梯度,需要先求切平面方程。对于曲面 ,它在某点 处的切平面方程的形式为 ,这实际上是 的一阶近似,因而系数就是那三个偏微分,这也就是梯度的偏微分定义的来源。
如何理解三维曲面的法线向量公式?相关推荐
- 一文带你深刻理解三维曲面法向量的推导计算
一直以来,对空间曲面的隐函数的梯度表示法向量理解不是很深刻,感觉不如向量叉乘来的直观,本文就是利用向量叉乘表明曲面梯度为啥就是法向量.
- matlab画三维向量的曲面,Matlab绘制三维曲面(以二维高斯函数为例)
寒假学习了一下Python下的NumPy和pymatlab,感觉不是很容易上手.来学校之后,决定继续看完数字图像处理一书.还是想按照上学期的模式,边看边实现书中的算法.上学期看的时候,是用C语言实现的 ...
- OpenGL.Shader:7-学习光照-法线向量
OpenGL.Shader:7-学习光照-法线向量 光照在OpenGL当中占据很重要的一部分.光照的仿真已经成为计算机领域的一个主要研究课题,我们可以看到这个领域的影响,这不仅仅反映在逐步提升的游戏视 ...
- (MATLAB)三维曲面(mesh/surf)
本实验取材于中南大学<MATLAB与科学计算> 今天学习了三维曲面绘制,三维曲面绘制需要用相应的函数是,但是步骤总体包括: 平面网格数据的生成 绘制三维曲面的mesh函数和surf函数 f ...
- 如何利用MATLAB函数绘制三维曲面?系统学习MATLAB三维曲面的绘制
文章目录 0 前言 1 平面网格数据的生成 2 绘制三维曲面的函数 2.1 mesh函数和surf函数的一般召唤方式 2.2 其他召唤方式 2.3 mesh.surf函数的亲戚朋友 3.标准三维曲面 ...
- B-spline曲面的法线贴图
[教学视频]计算机图形学基础 在线学习教程 *原创文章,转载请注明出处* B-spline曲面的法线贴图 Normal Mapping on B-spline Surface 在openGL Cg系 ...
- 导出txt文件宏_利用solidwords二次开发导出三维曲面方阵点坐标方法
本文介绍了利用solidwords二次开发(API Application Program Interface,应用程序接口)实现三维曲面基于基准平面上的矩阵点投影到三维曲面上点的坐标值导出方法:利用 ...
- python绘制三维曲面图-python中Matplotlib实现绘制3D图的示例代码
Matplotlib 也可以绘制 3D 图像,与二维图像不同的是,绘制三维图像主要通过 mplot3d 模块实现.但是,使用 Matplotlib 绘制三维图像实际上是在二维画布上展示,所以一般绘制三 ...
- 4.5 matlab三维曲面(mesh、fmesh、meshc、meshz、surf、fsurf、surfc、surfl)
1.平面网格数据的生成 (1)利用矩阵运算生成 (2)利用meshgrid函数生成 [X,Y]=meshgrid(x, y); 其中,参数x.y为向量,存储网格点坐标的X.Y为矩阵. %方法1 x = ...
最新文章
- 数据挖掘关联规则挖掘FPtree的思想
- 使用DirectX截屏
- 【转】函数调用时堆栈变化
- 【SPOJ - TOURS 387】Travelling tours (最小费用最大流,拆点)
- 黑夜主权个人团队html源码 简单修改即可使用
- java jedis_Java操作Redis之Jedis用法详解
- 计算机图形学中向量点乘和叉乘的用途_图形学笔记(一):基础知识
- 系统调用功能模块的初始化
- 设计模式08_适配器
- ENVI入门系列教程---一、数据预处理---4.3自定义RPC文件图像正射校正
- 【GIMP教程探索系列】GIMP将照片修改为符合要求的证件照吗,修改尺寸与像素,压缩图像大小
- 安卓网页离线保存_Android webView 缓存 Cache + HTML5离线功能 解决
- 系统架构设计——使用结构图分解复杂系统
- Junit实现抽象类测试(一)
- 小米手机 root权限 获取
- 平面向量内积坐标公式推导_平面向量的所有公式-平面向量公式
- 牛客 | C 选择颜色
- HardFault错误信息分析定位
- 计算机应用基础1010转换为10进制,大学计算机应用基础期末考试试题及答案
- 元宇宙将如何改变工作的未来?