请问如何在matlab中证明一个点在一个点阵中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问如何在matlab中证明一个点在一个点阵中相关的知识,希望对你有一定的参考价值。
一个类似于球体表面的点阵,每个点都有明确 x,y,z坐标。
空间中有另一点。
怎么正面独立点在那个球体里?
我大概的想法是
取相同的x坐标,然后检查点是否在圆内,然后再取y,再次检查,最后是z。
如果三次都在,便说明点在球体内了。
这个想法比较麻烦。
求好解。
关键是这不是个规则的圆,更像个坑坑洼洼的椭圆
这个和二维空间的类似
一个点在直线的上面还是在直线的下面
把点 代入函数式子就可以了
---------------------------------------------
做成向量 方向一样 就对了
点成符号一样 有几个点 就比较几次 参考技术A 有x,y,z坐标,可以fit出球心和半径
然后比较此点到圆心的距离与半径的大小即可。 参考技术B 你上面给的算法是不严格的。
这属于求点是否在不规则多面体内,去找本计算几何的书吧,应该是有通用算法的。
Matlab中如何实现通过鼠标在图上点击一下,而获得所点击点在该图的像素矩阵中的位置。
不要告诉我用get(gcf,'curent point')之类的,因为我试过这些得到的都是在一个外在坐标系中的坐标(包含小数),而我想要的是那张图(比如520*680)的,在其(520*680)大小的矩阵中的行列数!
谢谢!
imshow(I)
ginput(1)追问
这样得到的还是小数形式的坐标~~
追答这个不是大问题。因为ginput返回的是小数,对于图像窗口,它是返回整数的小数形式。
你用floor函数再转成整数。
即:
[x,y]=ginput(1);
x=floor(x)
y=floor(y)
即可。
以上是关于请问如何在matlab中证明一个点在一个点阵中的主要内容,如果未能解决你的问题,请参考以下文章