声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3350|回复: 18

[编程技巧] 求教:如何提取三维坐标!

[复制链接]
发表于 2008-8-28 22:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
假如我要提取 z=x.^2+y.^2 ;[x,y]=meshgrid(-2:0.1:2,-3:0.1:3);mesh(x,y,z);的三维坐标!
我写了如下指令: [x,y]=meshgrid(-2:0.1:2,-3:0.1:3);z=x.^2+y.^2 ;mesh(x,y,z);xyz=[x'  y'  z'];
save fan.txt xyz -ascii;
结果发现提取的文档里面的坐标感觉很乱,我总感觉应该是三列,第一列为X的转秩,第二列为Y的转秩,第三列Z的转秩,可运行结果有五列,发现特别乱,每行所对应的也不是一个坐标点,呵呵,大家帮我想想呀,谢谢,我不知道为什么!
回复
分享到:

使用道具 举报

发表于 2008-8-29 07:54 | 显示全部楼层
这样的数据是对的,如果像你说的那样就是一条三维曲线,不是曲面了。
发表于 2008-8-29 09:21 | 显示全部楼层
[x,y]=meshgrid(-2:0.1:2,-3:0.1:3);
这个命令之后, x y都是2维的
这些都可以在work space里看到
lz可以找本基础书,稍微阅读一下

评分

1

查看全部评分

 楼主| 发表于 2008-8-29 13:14 | 显示全部楼层

回复 沙发 sogooda 的帖子

我意思就是想提取点的坐标,就是每个点对应着XYZ的坐标,而不是先一堆X坐标,再一堆Y坐标,再Z坐标,我那样编的话好像出来就特别混乱的,不知道为什么!我就想出来后特别整齐,有三列,第一列X坐标,第二列Y坐标,第三列Z坐标,然后横着每行就对应着一个点的坐标,呵呵,能行吗?谢谢,帮我看一下呀!
发表于 2008-8-29 13:24 | 显示全部楼层

回复 地板 fanzhenjie 的帖子

不知道你看了没有
meshgrid运行以后
所有x y z 都是2维矩阵
xyz=[x'  y'  z'];你这样,当然不对了

改这样xyz=[x(1,:)'  y(1,:)'  z(1,:)'];
 楼主| 发表于 2008-8-29 16:24 | 显示全部楼层

回复 5楼 sigma665 的帖子

谢谢楼主!真的非常感谢!我想问一下就是在输出的时候,假如我想以Z轴一行一行的扫描,就是对应一个Z值,会有一条弧线是关于X,Y的,这怎么控制输出呀,你上面的那个1和:号是什么意思呀,是控制什么的呀,不明白,在网上也没有查到,这是哪一部份的知识呀!谢谢楼主!

[ 本帖最后由 fanzhenjie 于 2008-8-29 17:28 编辑 ]
 楼主| 发表于 2008-8-29 17:09 | 显示全部楼层

回复 5楼 sigma665 的帖子

想问一下x(1,:)'中1和:是什么意思呀,谢谢,还有那个逗号是控制什么的呢,我在网上找了相关的知识,都找不到一个合适的解释!里面是怎么控制的呀,楼主给我详细说一下吧!非常感谢!
发表于 2008-8-29 17:29 | 显示全部楼层
x(1,:)
取第一行
 楼主| 发表于 2008-8-30 11:09 | 显示全部楼层

回复 8楼 sigma665 的帖子

感觉提取出来的还是不对呀,因为每行对应的三个值不是一个点的坐标!
 楼主| 发表于 2008-8-30 11:16 | 显示全部楼层

请教:如何提取出三维坐标呀!急,我提取出来的总不对!

我想提取出:z=x.^2+y.^2的三维坐标,想请教大家怎么把这些三维坐标,以每个点(x,y,z)形式提取出来呀,假如先生成一个:[x,y]=meshgrid(-2:0.1:2,-3:0.1:3);z=x.^2+y.^2;后面怎么提取出来就不会了!
发表于 2008-8-30 11:48 | 显示全部楼层

回复 10楼 fanzhenjie 的帖子

x1=linspace(-2,2);
y1=linspace(-3,3);
z1=x1.^2+y1.^2;
[x,y]=meshgrid(x1,y1);
z=x.^2+y.^2;
mesh(x,y,z)

xyz=[x1;y1;z1]'

lz我强烈建议你找本基础书看看
 楼主| 发表于 2008-8-30 22:33 | 显示全部楼层

回复 11楼 sigma665 的帖子

谢谢楼主!真的很感谢你!
 楼主| 发表于 2008-8-30 22:53 | 显示全部楼层

回复 11楼 sigma665 的帖子

我想请教你一下,如果我想在这个曲面挖去一部份,假如我想用一个圆面来截一下,只要其中被圆截出的一部份,我用了图形的镂空,NaN,模拟的时候也得到了被圆截得的图形,可我在提取数据的时候总有NaN,也就是说被圆截得部分是数外,其余还有那些NAN,想问问怎么操作能控制在输出时不要NAN呢?
发表于 2008-8-31 09:00 | 显示全部楼层

回复 13楼 fanzhenjie 的帖子

你把你的程序贴一下
图也贴上来
 楼主| 发表于 2008-8-31 12:05 | 显示全部楼层

帮我看看呀,谢谢!

:代码和图我用附件传上来了呀,没有截取之前,实际是一个半圆曲面,我用一个圆柱去截,得到一个口径为圆的曲面,可提取坐标的时候,NAN始终在里面!

sange1.m

2.51 KB, 下载次数: 6

代码

tu.doc

55.5 KB, 下载次数: 4

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-21 15:30 , Processed in 0.061806 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表