天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 138|回复: 0

点在区域内的判断

[复制链接]
  • TA的每日心情
    开心
    7 小时前
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    115

    主题

    11

    回帖

    1393

    积分

    管理员

    积分
    1393
    QQ
    发表于 2024-5-4 19:19:33 | 显示全部楼层 |阅读模式
    1. BOOL PointIsInPolygon(AcGePoint3d pt, AcGePoint3dArray ptArr)
    2. {
    3.         int ptNum, i, interNum;
    4.         AcGePoint3d ptA, ptB;
    5.         ads采用point pt0, pt1, pt2, ptIns, ptX;
    6.         interNum = 0;
    7.         pt0[X] = 0.0;
    8.         pt0[Y] = 0.0;
    9.         pt0[Z] = 0.0;
    10.         ptX[X] = pt.x;
    11.         ptX[Y] = pt.y;
    12.         ptX[Z] = pt.z;
    13.         ptNum = ptArr.length();
    14.         for (i = 0;i < ptNum - 1;i++) {
    15.                 ptA = ptArr.at(i);
    16.                 ptB = ptArr.at(i + 1);
    17.                 pt1[X] = ptA.x;
    18.                 pt1[Y] = ptA.y;
    19.                 pt1[Z] = 0.0;
    20.                 pt2[X] = ptB.x;
    21.                 pt2[Y] = ptB.y;
    22.                 pt2[Z] = 0.0;
    23.                 if(acdbInters(ptX, pt0, pt1, pt2, 1, ptIns) == RTNORM) {
    24.                         interNum++;
    25.                 }
    26.         }
    27.         if (interNum % 2 == 0) {
    28.                 return false;
    29.         }
    30.         else {
    31.                 return true;
    32.         }
    33. }
    复制代码

     

     

     

     

    点在区域内的判断
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

    GMT+8, 2024-11-5 12:31 , Processed in 0.125542 second(s), 27 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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