24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 3741  |  回复: 7

beyondstar

木虫 (正式写手)

[求助] 如何用MATLAB画立体图和它在三个面上的投影,如图?已有2人参与

比如一个球的立体图和他在三个面上的投影,

如何用MATLAB画立体图和它在三个面上的投影,如图?
matlab.jpg
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

reko34

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
现在手头没MATLAB,凭记忆打的命令你可以先试试
N=? '定义网格分多细,看个人需要
M=? '同上
R=? '球的半径自己填
X=zeros(N+1,M)
X0=zeros(N+1,M)
Y=zeros(N+1,M)
Y0=zeros(N+1,M)
Z=zeros(N+1,M)
Z0=zeros(N+1,M)
for i=0:N
for j=1:M
X(i,j)=R*sin(pi/N*i)*cos(2*pi/M*j)
Y(i,j)=R*sin(pi/N*i)*sin(2*pi/M*j)
Z(i,j)=R*cos(pi/N*i)
end
end
mesh(X,Y,Z)
hold
mesh(X,Y,Z0)
mesh(X,Y0,Z)
mesh(X0,Y,Z)
2楼2014-05-06 10:33:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

beyondstar

木虫 (正式写手)

引用回帖:
2楼: Originally posted by reko34 at 2014-05-06 10:33:52
现在手头没MATLAB,凭记忆打的命令你可以先试试
N=? '定义网格分多细,看个人需要
M=? '同上
R=? '球的半径自己填
X=zeros(N+1,M)
X0=zeros(N+1,M)
Y=zeros(N+1,M)
Y0=zeros(N+1,M)
Z=zeros(N+1,M)
Z0=zer ...

多谢,我先试试
3楼2014-05-06 11:27:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

reko34

木虫 (正式写手)

引用回帖:
3楼: Originally posted by beyondstar at 2014-05-06 11:27:15
多谢,我先试试...

我已经发现错了,最近一直用VBA结果习惯变了,中间的循环要改
for i=1:N+1
for j=1:M
X(i,j)=R*sin(pi/N*(i-1))*cos(2*pi/M*j)
Y(i,j)=R*sin(pi/N*(i-1))*sin(2*pi/M*j)
Z(i,j)=R*cos(pi/N*(i-1))
end
end
4楼2014-05-06 11:56:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

【答案】应助回帖

感谢参与,应助指数 +1
matlab没办法画侧面投影
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
5楼2014-05-06 12:27:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

reko34

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
beyondstar: 金币+30, ★★★★★最佳答案, 我试试 2014-05-06 22:03:24
拿到MATLAB后试出来了,用这套命令:
N=100;
M=100;
R=10;
X=zeros(N+1,M+1);
X0=zeros(N+1,M+1)-R*2;
Y=zeros(N+1,M+1);
Y0=zeros(N+1,M+1)+R*2;
Z=zeros(N+1,M+1);
Z0=zeros(N+1,M+1)-R*2;
for i=1:N+1
    for j=1:M+1
        X(i,j)=R*sin(pi/(N-1)*i)*cos(2*pi/M*j);
        Y(i,j)=R*sin(pi/(N-1)*i)*sin(2*pi/M*j);
        Z(i,j)=R*cos(pi/(N-1)*i);
    end
end
hold off;
mesh(X,Y,Z);
hold on;
mesh(X,Y,Z0);
mesh(X,Y0,Z);
mesh(X0,Y,Z);
6楼2014-05-06 21:09:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

njsatellite

铁虫 (小有名气)

引用回帖:
6楼: Originally posted by reko34 at 2014-05-06 21:09:04
拿到MATLAB后试出来了,用这套命令:
N=100;
M=100;
R=10;
X=zeros(N+1,M+1);
X0=zeros(N+1,M+1)-R*2;
Y=zeros(N+1,M+1);
Y0=zeros(N+1,M+1)+R*2;
Z=zeros(N+1,M+1);
Z0=zeros(N+1,M+1)-R*2;
for i=1:N+1 ...

高手!
若想 用规则网格 如立方体形式  如何画球啊?
谢谢阿
7楼2015-01-04 03:30:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

吃木头在虫子

新虫 (小有名气)

引用回帖:
6楼: Originally posted by reko34 at 2014-05-06 21:09:04
拿到MATLAB后试出来了,用这套命令:
N=100;
M=100;
R=10;
X=zeros(N+1,M+1);
X0=zeros(N+1,M+1)-R*2;
Y=zeros(N+1,M+1);
Y0=zeros(N+1,M+1)+R*2;
Z=zeros(N+1,M+1);
Z0=zeros(N+1,M+1)-R*2;
for i=1:N+1 ...

能不能帮我编写一段程序,二次函数的,重谢
8楼2015-01-04 20:26:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 beyondstar 的主题更新
信息提示
请填处理意见