且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

【MATLAB】三维图形绘制 ( 绘制球面 | sphere 函数 | 设置光源 | light 函数 | 相机视线 | view 函数 )(一)

更新时间:2022-04-11 21:00:38

文章目录

一、绘制球面

1、sphere 函数

2、代码示例

二、设置光源

1、light 函数

2、代码示例

2、代码示例 2

三、相机视线

1、view 函数

2、代码示例

3、代码示例 2

四、综合代码示例





一、绘制球面




1、sphere 函数


sphere 函数参考文档 : https://ww2.mathworks.cn/help/matlab/ref/sphere.html


sphere 函数用于创建球面 ,


[X, Y, Z] = sphere(n)


上述代码的作用是创建一个半径为 1 11 , 包含 n × n n \times nn×n 个球面的 x , y , z x, y, zx,y,z 坐标 ;


返回的 X , Y , Z X , Y , ZX,Y,Z 都是 ( n + 1 ) × ( n + 1 ) ( n + 1 ) \times ( n + 1 )(n+1)×(n+1) 矩阵 ;




2、代码示例


代码示例 :


% 生成 50 x 50 个面的球面
sphere(50);



执行结果 :

【MATLAB】三维图形绘制 ( 绘制球面 | sphere 函数 | 设置光源 | light 函数 | 相机视线 | view 函数 )(一)







二、设置光源




1、light 函数


light 函数参考文档 : https://ww2.mathworks.cn/help/matlab/ref/light.html


基本语法 : 在某个指定的三维坐标点添加光源 ;



% 在 (3, -1, 3) 位置添加光源
light('Position', [3 -1 3]);


在不同的位置添加光源 , 产生的效果是不同的 , 下图中 , 左侧的球面是在 (-3, -1, 3) 位置添加光源 , 右侧的球面是在 (3, -1, 3) 位置添加光源 ;

【MATLAB】三维图形绘制 ( 绘制球面 | sphere 函数 | 设置光源 | light 函数 | 相机视线 | view 函数 )(一)





2、代码示例


代码示例 :


% 生成 50 x 50 个面的球面
sphere(50);
% 在 (-3, -1, 3) 位置添加光源
light('Position', [-3 -1 3]);


执行结果 :


【MATLAB】三维图形绘制 ( 绘制球面 | sphere 函数 | 设置光源 | light 函数 | 相机视线 | view 函数 )(一)