如何用Matlab在球面画出一个可见点?
首先,我们用sphere球函数计算绘出单位球的【x,y,z】数据;
其二,根据球半径r,计算球半径为r的【x,y,z】数据;
其三,使用surf函数绘制其球面。
最后,用hold on命令和plot3函数将球面上的一个点【x1,y1,z1】绘制在图像上。
实现代码:
[X,Y,Z] = sphere; %用于绘出单位球的【x,y,z】数据
r = 5; %球半径
X2 = X * r;
Y2 = Y * r;
Z2 = Z * r;
surf(X2,Y2,Z2) %球半径为r = 5的球面
hold on %在同一图像增加其他图形
plot3(-3.5355,-3.5355,0.7822,'rp') %绘制球面上的一个点
axis equal
xlabel('x'),ylabel('y'),zlabel('z');
执行结果
追问这个点的数据是怎么得到的?
为什么点是个五角星,而不是个点呢?
追答为了看清,特意用五角星代替,点可以用o表示