主要内容

隐式曲面的切平面与法线

自从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信谊r3 [1]矩阵F = r*r。”
f =
                 
                  
                   
                    
                     
                      
                       
                        r
                      
                     
                     
                     
                     
                      
                       
                        
                         
                          r
                        
                       
                      
                      
                       
                        T
                      
                     
                    
                   
                  
                 

隐式方程 f r 1 4 表示一个球体。将方程转化为信谊使用数据类型symmatrix2sym.用fimplicit3函数。

Feqn = symmatrix2sym(f == 14)
feqn =
                 
                  
                   
                    
                     
                      
                       
                        
                         
                          
                           
                            r
                          
                          
                           
                            1
                           
                           
                            1
                          
                         
                        
                        
                         
                          2
                        
                       
                       
                        +
                       
                        
                         
                          
                           
                            r
                          
                          
                           
                            1
                           
                           
                            2
                          
                         
                        
                        
                         
                          2
                        
                       
                       
                        +
                       
                        
                         
                          
                           
                            r
                          
                          
                           
                            1
                           
                           
                            3.
                          
                         
                        
                        
                         
                          2
                        
                       
                      
                     
                     
                     
                      14
                    
                   
                  
                 
fimplicit3 (feqn)轴平等的轴([-6 6 -6 6 -6 6])

图中包含一个轴对象。坐标轴对象包含一个隐式函数曲面类型的对象。

接下来,求出该点的切平面和法线 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乘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的切线平面fimplicit3

持有plot3 (r0(1)、r0(2)、r0 (3),“罗”,MarkerSize = 10,MarkerFaceColor =“r”) fimplicit3(symmatrix2sym(fplane == 0))

图中包含一个轴对象。axis对象包含3个隐式函数surface, 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*子(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),(2)、n (3), (0 - 1),的r - >

图中包含一个轴对象。axis对象包含4个类型为隐式函数surface, line, parameterizedfunctionline的对象。