主要内容

切线平面和正常的隐式表面线

自R2021b以来

此示例显示了如何找到隐式表面的切线平面和正常线。此示例使用符号矩阵变量(带有Symmatrix数据类型)用于紧凑的数学符号。

可以隐式定义表面,例如球体 X 2 + y 2 + z 2 = r 2 。通常,隐式定义的表面由方程式表达 F (( X ,,,, y ,,,, z = k 。此示例找到了半径的切线和正常线 r = 1 4

创建符号矩阵变量 r 代表 X ,,,, y ,,,, z 坐标。将球形函数定义为 F (( r = r Å r

清除;关全部;CLC SYMSr[1 3]矩阵f = r*r。'
f =
                 
                  
                   
                    
                     
                      
                       
                        r
                      
                     
                     
                     
                     
                      
                       
                        
                         
                          r
                        
                       
                      
                      
                       
                        t
                      
                     
                    
                   
                  
                 

隐式方程 F (( r = 1 4 代表一个领域。将方程式转换为符号使用数据类型symmatrix2sym。使用fimplitic3功能。

feqn = symmatrix2sym(f == 14)
feqn =
                 
                  
                   
                    
                     
                      
                       
                        
                         
                          
                           
                            r
                          
                          
                           
                            1
                           
                            ,,,,
                           
                            1
                          
                         
                        
                        
                         
                          2
                        
                       
                       
                        +
                       
                        
                         
                          
                           
                            r
                          
                          
                           
                            1
                           
                            ,,,,
                           
                            2
                          
                         
                        
                        
                         
                          2
                        
                       
                       
                        +
                       
                        
                         
                          
                           
                            r
                          
                          
                           
                            1
                           
                            ,,,,
                           
                            3
                          
                         
                        
                        
                         
                          2
                        
                       
                      
                     
                     
                      =
                     
                      14
                    
                   
                  
                 
fimplitic3(FEQN)轴平等的轴([ -  6 6 -6 6 -6 6])

图包含一个轴对象。轴对象包含一个类型intimitfunctionsUrface的对象。

接下来,在该点找到切线和正常线 r 0 = X 0 ,,,, y 0 ,,,, z 0

回想一下梯度向量的 F F (( r = F X (( r ,,,, F y (( r ,,,, F z (( r 。该点的切线平面的方程式 r 0 然后由 F X (( r 0 (( X - X 0 + F y (( r 0 (( y - y 0 + F z (( r 0 (( z - z 0 = 0 。在紧凑的数学符号中,切线平面方程可以写为 F (( r 0 Å (( r - r 0 = 0

找到 F (( r 使用坡度功能。请注意,结果是3 by-1符号矩阵变量。

fgrad =渐变(f,r)
fgrad =
                 
                  
                   
                    
                     
                      2
                     
                     
                     
                      
                       
                        
                         
                          r
                        
                       
                      
                      
                       
                        t
                      
                     
                    
                   
                  
                 
尺寸(fgrad)
ans =1×23 1

定义切线平面的方程式。使用潜艇在该点评估梯度的功能 r 0 = 1 ,,,, - 2 ,,,, 3

r0 = [-2,1,3];fplane =(R-R0)*subs(fgrad,r,r0)
fplane =

2 - σ 1 + r σ 1 t 在哪里 σ 1 = (( - 2 1 3

绘制点 r 0 使用plot3,并使用fimplitic3

抓住Plot3(R0(1),R0(2),R0(3),,'ro',Markersize = 10,MarkerfaceColor ='r')fimplicit3(symmatrix2sym(fplane == 0))

图包含一个轴对象。轴对象包含3个类型的对象intimitfunctionsUrface,line。

该点正常线的方程式 r 0 是(谁)给的 n (( t = X 0 ,,,, y 0 ,,,, z 0 + t F X (( r 0 ,,,, F y (( r 0 ,,,, F z (( r 0 。在紧凑的数学符号中,方程可以写为 n (( t = r 0 + t F (( r 0

定义正常线的方程式。

符号tn = r0 + t*subs(fgrad,r,r0)。
n =

σ 1 + 2 t σ 1 在哪里 σ 1 = (( - 2 1 3

将普通线方程转换为符号使用数据类型symmatrix2sym。提取参数曲线 X (( t ,,,, y (( t , 和 z (( t 对于正常行,通过索引n。使用正常线fplot3

n = symmatrix2sym(n)
n =
                 
                  
                   
                    
                     ((
                    
                     
                      
                       
                        
                         
                          
                           -
                          
                           
                            
                             4
                            
                            
                            
                             t
                           
                          
                          
                           -
                          
                           2
                         
                        
                       
                      
                      
                       
                        
                         
                          
                           
                            
                             2
                            
                            
                            
                             t
                           
                          
                          
                           +
                          
                           1
                         
                        
                       
                      
                      
                       
                        
                         
                          
                           
                            
                             6
                            
                            
                            
                             t
                           
                          
                          
                           +
                          
                           3
                         
                        
                       
                      
                     
                    
                    
                   
                  
                 
fplot3(n(1),n(2),n(3),[0 1],,'r->'

图包含一个轴对象。轴对象包含4个类型的对象intimitfunctionsUrface,line,parameterizedFunctionline。