查看: 193|回复: 1|关注: 0

[已答复] 如何判断点在正六边形内

[复制链接]

新手

36 麦片

财富积分


050


17

主题

30

帖子

0

最佳答案
发表于 2019-7-30 16:06:19 | 显示全部楼层 |阅读模式
我画了一个正六边形,想在六边形中随机生成40个点,如何判断每个点都在这个正六边形中?下边是别人的例子,但是判断随机点在六边形中,我不太理解(红色部分),还请大神赐教
X0 = AD+D;  %蜂窝中心横坐标
Y0 = 0;  %蜂窝中心纵坐标
theta = linspace(0,2*pi,7);
plot(D*cos(theta)+X0,D*sin(theta) + Y0,'g-');
axis square

for j=1:M
    i = 0;
    X=zeros(1,N);%随机撒点
    Y=zeros(1,N);

    while i < N
        temp = 2*D*rand(1,2)-1*D%(-3,3)
         if (abs(temp(1)) + abs(temp(2))/sqrt(3) ) <= D && abs(temp(2)) <= D*sqrt(3)/2

            X(i+1)= temp(1) + X0
            Y(i+1)= temp(2) + Y0

论坛优秀回答者

5

主题

1518

帖子

425

最佳答案
  • 关注者: 123
发表于 2019-7-30 23:01:00 | 显示全部楼层
直接用inpolygon函数就是了
  1. www.mathworks.com/help/matlab/ref/inpolygon.html
复制代码
提问请:①准确描述问题②贴代码别贴代码的截图③勿一问多帖或一帖多问④及时反馈⑤看清回复的每个字
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

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