EDA365电子论坛网

标题: 对三维空间中的一组坐标点进行范围限制 [打印本页]

作者: someone    时间: 2022-10-12 13:45
标题: 对三维空间中的一组坐标点进行范围限制
如题,我生成了一组空间中的三维感兴趣的坐标点,但不知道怎么对这组点的范围进行限制,比如我生成的点的坐标为(x,y,z),现在要求x的坐标为(-30,30),y的坐标范围为(-30,30),z的坐标范围为(0,5),请问怎么写呢?
作者: nocturne    时间: 2022-10-12 14:51
三维点的左边在矩阵中是  一系列数据,生成大量随机点后对不满足条件的点进行删除就得到合服你需要的点,, p$ J0 g' q# S8 l9 `! m4 F
又或生成随机坐标的时候限制 各坐标的范围进行随机生成
作者: someone    时间: 2022-10-12 14:59
我自己想到了一种方法,电脑不在旁边,明早去试试对不对+ [+ F& A7 P5 Y. @; L; I0 n
  输入为x,y,z三个坐标的向量" T0 G  U+ ?4 `& }& h
f=zeros(numel(x),3);- Z% P5 f' Y7 B- P* n
for i=numel(x)
+ G) W: M3 U+ Q7 k2 K  if 30>x(i)>-30&30>y(i)>-30&5>z(i)>0;
9 D* x2 u7 i5 n/ S9 M4 E. q           f(i,: )=[x(i),y(i),z(i)];) y- F% F% e/ h! T) i* l, D- i" Q6 i
else f(i,;)=[]7 a) u- L8 j9 f& z! q" {
end
  V0 r3 @; m' t3 Q5 m8 |& b* \7 Lend) k$ q% I( s) s0 [6 a2 b
这样是不是就能挑出所有满足条件的点了2 B+ i/ E4 f" h% k+ _
另外问下咱们论坛怎么贴代码啊
作者: unfaithful2021    时间: 2022-10-12 15:07
不用if; }) u7 {( z$ z: m! B; {5 j
直接进行矩阵判断   假如num 是 N*3 的矩阵  每行是一个点的 xyz
( F& q4 g0 }5 f- b  qflag=numel(:,1)>30 |  numel(:,1)<-30  | numel(:,2)>30 |  numel(:,2)<-30    | numel(:,3)>0 |  numel(:,3)<5
# C$ m) s) i: b1 C得到所有不符合条件的矩阵行标记 flag
) C$ _* n( Y- [numel(flag,:)=[]   删除不合格的  就得到合格的




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2