[算表] 同时符合x.y范围 回传

楼主: Pettitte1   2021-05-27 10:52:54
软件:Office
版本:Office 365
想请问我假设我有3个(x,y)范围
我想要判断某个(x,y)在哪个范围内
请问要怎么打公式呢? 没有头绪
详细如下
我有Area 23、24、25 三个(x,y)范围
想找Point 1 的(x,y)在哪个范围内
要同时符合(x,y),因为有些范围的框会是斜的
谢谢
Area x y Point Area x y
23 0.1930 0.0932 1 0.1936 0.0969
0.1928 0.0970 2 0.194 0.0976
0.1938 0.0986 3 0.1941 0.0979
0.1939 0.0948 4 0.1949 0.0994
0.1930 0.0932 5 0.1936 0.097
6 0.1941 0.0979
Area x y 7 0.1954 0.1005
24 0.1939 0.0948 8 0.1946 0.0991
0.1938 0.0986 9 0.1943 0.0984
0.1948 0.1003 10 0.1953 0.1004
0.1949 0.0963 11 0.1955 0.1006
0.1939 0.0948 12 0.1932 0.0962
13 0.1944 0.0986
Area x y
25 0.1949 0.0963
0.1948 0.1003
0.1958 0.1020
0.1958 0.0979
0.1949 0.0963
做出来的图如下
https://i.imgur.com/MeI5bsJ.jpg
作者: gunit01 (晋纬)   2021-05-27 13:54:00
直觉想到的是将线段方程式y=ax+b写好,带入x求y',在比较y与y'大小做条件判断
楼主: Pettitte1   2021-05-27 14:38:00
有想过用您的方法,但毕竟点不是刚好在方程式的线上面万一刚好点在边界会误判到错的Area吧?
作者: WeTinHsu (蛤~~)   2021-05-28 08:31:00
假设point落在Area1跟area2的边界上,就算不使用前面推文的方法,也是有可能发生的啊?这时还是要回到原问题时怎么定义吧!
作者: waiter337 (给开司一罐苏格登)   2021-05-28 23:53:00
google 射线法 vbahttp://forum.twbts.com/viewthread.php?tid=107826楼那个vba 做好自订函数 之后就能用了更正 要会一点vba 底子毕竟一条线就得判断一次 也就是你至少要判断四次 才能知道到底是不是https://mrkod.com/2014-04-19/point-in-polygon-ray-casting/ 自己接起来
楼主: Pettitte1   2021-05-31 08:52:00
VBA完全新手 看来要研究很久了 Thanks
作者: waiter337 (给开司一罐苏格登)   2021-06-01 06:15:00
现在学vba 没那么九 yt 书本 fb 群组 一大堆 快的话6个月就能吃一辈子

Links booklink

Contact Us: admin [ a t ] ucptt.com