官方文档
首先看一下 sphere 的官方文档
sphere % sphere 函数用于生成单位球面的 x,y,z 的坐标,以用于 surf or mesh。默认生成 20 x 20 个面的球面。
sphere(n) % 生成 n x n 个面的球面
sphere(ax,...) % 指定坐标区内绘制
[X,Y,Z] = sphere(...) % 在三个 (n+1)x(n+1)的矩阵内存储 n x n 个球面的坐标
画个球瞅瞅
首先画一个简单的球,
[x,y,z] = sphere(5)
surface(x,y,z)
xlabel('x')
view(3)
可以看到基本上5层面,每层5 个平面,构成了球面,不是很圆滑。但是小数量方便我们观察坐标规律。
直接看坐标
x =
0 0 0 0 0 0
-0.5878 -0.1816 0.4755 0.4755 -0.1816 -0.5878
-0.9511 -0.2939 0.7694 0.7694 -0.2939 -0.9511
-0.9511 -0.2939 0.7694 0.7694 -0.2939 -0.9511
-0.5878 -0.1816 0.4755 0.4755 -0.1816 -0.5878
0 0 0 0 0 0
y =
0 0 0 0 0 0
0 -0.5590 -0.3455 0.3455 0.5590 0
0 -0.9045 -0.5590 0.5590 0.9045 0
0 -0.9045 -0.5590 0.5590 0.9045 0
0 -0.5590 -0.3455 0.3455 0.5590 0
0 0 0 0 0 0
z =
-1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -1.0000
-0.8090 -0.8090 -0.8090 -0.8090 -0.8090 -0.8090
-0.3090 -0.3090 -0.3090 -0.3090 -0.3090 -0.3090
0.3090 0.3090 0.3090 0.3090 0.3090 0.3090
0.8090 0.8090 0.8090 0.8090 0.8090 0.8090
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
以等高线图可以看出来,x,y,z 中的数据排列规律是
x,y 平面是由内向外一圈一圈套起来的
z 方向是由下向上一层一层摞起来的
从而构成了完整的曲面。
可以发现,由于点的个数是偶数,所以坐标的对称性不是很好。为了获得更好的对称性,我们可以选择奇数个点,例如
[x,y,z] = sphere(6)
surface(x,y,z)
xlabel('x')
view(3)
x =
0 0 0 0 0 0 0
-0.5000 -0.2500 0.2500 0.5000 0.2500 -0.2500 -0.5000
-0.8660 -0.4330 0.4330 0.8660 0.4330 -0.4330 -0.8660
-1.0000 -0.5000 0.5000 1.0000 0.5000 -0.5000 -1.0000
-0.8660 -0.4330 0.4330 0.8660 0.4330 -0.4330 -0.8660
-0.5000 -0.2500 0.2500 0.5000 0.2500 -0.2500 -0.5000
0 0 0 0 0 0 0
y =
0 0 0 0 0 0 0
0 -0.4330 -0.4330 0 0.4330 0.4330 0
0 -0.7500 -0.7500 0 0.7500 0.7500 0
0 -0.8660 -0.8660 0 0.8660 0.8660 0
0 -0.7500 -0.7500 0 0.7500 0.7500 0
0 -0.4330 -0.4330 0 0.4330 0.4330 0
0 0 0 0 0 0 0
z =
-1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -1.0000
-0.8660 -0.8660 -0.8660 -0.8660 -0.8660 -0.8660 -0.8660
-0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000
0 0 0 0 0 0 0
0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000
0.8660 0.8660 0.8660 0.8660 0.8660 0.8660 0.8660
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
这样对称起来,就舒服多了。
版权声明:本文为baishuo8原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。