切线平面和正常的隐式表面线
自R2021b以来
此示例显示了如何找到隐式表面的切线平面和正常线。此示例使用符号矩阵变量(带有Symmatrix
数据类型)用于紧凑的数学符号。
可以隐式定义表面,例如球体 。通常,隐式定义的表面由方程式表达 。此示例找到了半径的切线和正常线 。
创建符号矩阵变量 代表 坐标。将球形函数定义为 。
清除;关全部;CLC SYMSr[1 3]矩阵f = r*r。'
f =
隐式方程
代表一个领域。将方程式转换为符号
使用数据类型symmatrix2sym
。使用fimplitic3
功能。
feqn = symmatrix2sym(f == 14)
feqn =
fimplitic3(FEQN)轴平等的轴([ - 6 6 -6 6 -6 6])
接下来,在该点找到切线和正常线 。
回想一下梯度向量的 是 。该点的切线平面的方程式 然后由 。在紧凑的数学符号中,切线平面方程可以写为 。
找到
使用坡度
功能。请注意,结果是3 by-1符号矩阵变量。
fgrad =渐变(f,r)
fgrad =
尺寸(fgrad)
ans =1×23 1
定义切线平面的方程式。使用潜艇
在该点评估梯度的功能
。
r0 = [-2,1,3];fplane =(R-R0)*subs(fgrad,r,r0)
fplane =
绘制点
使用plot3
,并使用fimplitic3
。
抓住上Plot3(R0(1),R0(2),R0(3),,'ro',Markersize = 10,MarkerfaceColor ='r')fimplicit3(symmatrix2sym(fplane == 0))
该点正常线的方程式 是(谁)给的 。在紧凑的数学符号中,方程可以写为 。
定义正常线的方程式。
符号tn = r0 + t*subs(fgrad,r,r0)。
n =
将普通线方程转换为符号
使用数据类型symmatrix2sym
。提取参数曲线
,,,,
, 和
对于正常行,通过索引n
。使用正常线fplot3
。
n = symmatrix2sym(n)
n =
fplot3(n(1),n(2),n(3),[0 1],,'r->')