一、绘制球面





1、sphere 函数


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

sphere 函数用于创建球面 ,

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

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

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



2、代码示例


代码示例 :

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

执行结果 :

在这里插入图片描述





二、设置光源





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) 位置添加光源 ;

在这里插入图片描述



2、代码示例


代码示例 :

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

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

执行结果 :

在这里插入图片描述



2、代码示例 2


代码示例 :

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

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

执行结果 :

在这里插入图片描述





三、相机视线





1、view 函数


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


view 函数语法 : 设置相机的方位角 az 和 仰角 el ;

view(az,el)

绘制了一个对象之后 , 可以设置观察该对象的摄像机位置 , 摄像机的前后左右位置可以进行调整 , 这里可以设置两个角度

  • Azimuth 方位角 , 摄像头绕绘制物体旋转角度 ;
  • Elevation 仰角 , 摄像头上下倾斜的角度 ;

在这里插入图片描述


下图中

  • 左侧图的方位角是 -45 度 , 仰角是 20 度 ;
  • 右侧图的方位角是 -45 度 , 仰角是 60 度 ;

在这里插入图片描述



2、代码示例


代码示例 :

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

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

% 摄像机角度 , 不同的角度摄像头位置不同
view(-45, 20);

执行效果 :

在这里插入图片描述



3、代码示例 2


代码示例 :

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

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

% 摄像机角度 , 不同的角度摄像头位置不同
view(-45, 60);

执行效果 :

在这里插入图片描述





四、综合代码示例



代码示例 :

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

% 着色方式
shading flat;

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

% 设置图像颜色值 , 白色 , 默认灰色
set(gcf, 'Color', [1 1 1]);

% 摄像机角度 , 不同的角度摄像头位置不同
view(-45, 20);

% 坐标轴样式 square
axis square;

执行结果 :

在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐