24小时热门版块排行榜    

查看: 3710  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

adder8810

银虫 (小有名气)

[交流] 【求助】matlab生成旋转体? 已有5人参与

请教一个问题,谢谢:

已知一个二维数据,y=f(x), 想使得这个数据绕y轴旋转而成为一个旋转对称的三维数据,该如何处理!

我用了cylinder,但它好像只能是绕x轴旋转,并不是所希望的形状?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xianggui7895

银虫 (小有名气)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
xiegangmai(金币+1): 鼓励讨论交流! 2011-04-11 13:18:25
matlab好像没有提供更好的解决办法,你有函数f(x),先设定Y值,反函数求x,然后cylinder(x)??
4楼2011-04-11 11:04:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

xiegangmai

版主 (职业作家)

我没头衔

优秀版主优秀版主优秀版主

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
zzuwangshilei(金币+1): 积极参与 2011-04-11 14:07:15
引用回帖:
Originally posted by adder8810 at 2011-04-11 01:04:46:
请教一个问题,谢谢:

已知一个二维数据,y=f(x), 想使得这个数据绕y轴旋转而成为一个旋转对称的三维数据,该如何处理!

我用了cylinder,但它好像只能是绕x轴旋转,并不是所希望的形状?

默认是绕z轴旋转的。

如果需要绕其他轴或任意直线旋转,需要进行变换,用计算机图形学中的图形平移和旋转相关知识,说白了就是乘以一个转换矩阵。

[ Last edited by xiegangmai on 2011-4-11 at 12:48 ]
明德厚学、求是创新
2楼2011-04-11 07:36:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

adder8810

银虫 (小有名气)

引用回帖:
Originally posted by xiegangmai at 2011-04-11 07:36:08:
默认是绕y轴旋转的。

如果需要绕其他轴或任意直线旋转,需要进行变换,用计算机图形学中的图形平移和旋转相关知识,说白了就是乘以一个转换矩阵。

Matlab中是否有现成的函数可以调用?
另外,我的问题其实不是很复杂,能绕x轴或者y轴旋转就行,只是想改变系统默认的轴到与之垂直的轴上?
3楼2011-04-11 10:18:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)

我没头衔

优秀版主优秀版主优秀版主

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
zzuwangshilei(金币+1): 支持 2011-04-11 14:07:39
引用回帖:
Originally posted by adder8810 at 2011-04-11 10:18:50:
Matlab中是否有现成的函数可以调用?
另外,我的问题其实不是很复杂,能绕x轴或者y轴旋转就行,只是想改变系统默认的轴到与之垂直的轴上?

你看这样行不?
CODE:
clear
x = 0 : pi / 10 : 2 * pi;   % x范围
y = 2 + cos( x );   % y = f( x );

[ X, Y, Z ] = cylinder( y, 20 );    % 回转中心是z轴

subplot( 1, 3, 1 )  % 绕z轴旋转
surf( X, Y, Z )
xlabel( 'x' )
ylabel( 'y' )
zlabel( 'z' )
axis square

Sx = reshape( X, size( X, 1 ) * size( X, 2 ), 1 );
Sy = reshape( Y, size( Y, 1 ) * size( Y, 2 ), 1 );
Sz = reshape( Z, size( Z, 1 ) * size( Z, 2 ), 1 );

subplot( 1, 3, 2 ) % 将回转中心由z轴转到x轴,需绕y轴旋转90度
theta = pi / 2;
% 图形变换矩阵
M = [ cos( theta ), 0, -sin( theta );
    0, 1, 0;
    sin( theta ), 0, cos( theta ) ];

S1 = [ Sx, Sy, Sz ] * M;
X1 = reshape( S1( :, 1 ), size( X, 1 ), size( X, 2 ) );
Y1 = reshape( S1( :, 2 ), size( X, 1 ), size( X, 2 ) );
Z1 = reshape( S1( :, 3 ), size( X, 1 ), size( X, 2 ) );

surf( X1, Y1, Z1 )
xlabel( 'x' )
ylabel( 'y' )
zlabel( 'z' )
axis square



subplot( 1, 3, 3 )  % 将回转中心由z轴转到y轴,需绕x轴旋转-90度
theta = -pi / 2;
% 图形变换矩阵
M = [ 1, 0, 0;
    0, cos( theta ), sin( theta );
    0, -sin( theta ), cos( theta ) ];

S2 = [ Sx, Sy, Sz ] * M;
X2 = reshape( S2( :, 1 ), size( X, 1 ), size( X, 2 ) );
Y2 = reshape( S2( :, 2 ), size( X, 1 ), size( X, 2 ) );
Z2 = reshape( S2( :, 3 ), size( X, 1 ), size( X, 2 ) );
surf( X2, Y2, Z2 )
xlabel( 'x' )
ylabel( 'y' )
zlabel( 'z' )
axis square

明德厚学、求是创新
5楼2011-04-11 13:17:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 13/650 2026-08-26 09:48 by wittyboy
[基金申请] 国际合作可查了,中了面上 +10 Ldrop2023 2026-08-26 10/500 2026-08-26 09:45 by ilovexiaobin
[基金申请] 国合里面能看到了 +5 一怀馨秋 2026-08-26 5/250 2026-08-26 09:26 by 堡主大人
[基金申请] 出来了 +8 trojank 2026-08-26 8/400 2026-08-26 09:00 by gxc
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +24 木水思豆 2026-08-25 27/1350 2026-08-26 08:26 by yanchen918
[基金申请] 范进中举一文的中心思想 +8 炎黄贵胄 2026-08-22 9/450 2026-08-26 07:47 by WASM
[基金申请] 2026国自然函评费到账 +21 羊腰板 2026-08-21 24/1200 2026-08-26 07:20 by finnigan
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 (金币+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[基金申请] 有没有大神帮我看看基金代码 28+4 1234567wang 2026-08-24 10/500 2026-08-25 19:15 by lfy8008
[基金申请] 放榜前的不淡定 20+4 snowwithsea 2026-08-19 19/950 2026-08-25 17:57 by chick875
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[基金申请] 我面上完蛋了 +13 且听虎啸 2026-08-20 14/700 2026-08-25 09:10 by mrkang
[基金申请] 只有每年这种时候来逛逛小木虫 +25 yaoyewhu2008 2026-08-20 27/1350 2026-08-25 08:01 by Equinoxhua
[基金申请] 能否退出参与的面上项目解除限项 +21 koalala 2026-08-24 24/1200 2026-08-24 19:25 by 家与远方
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
信息提示
请填处理意见