zoukankan      html  css  js  c++  java
  • Revit点与线,线与线的关系处理

    一.点与线的处理

           IntersectionResult Project(XYZ point) 该函数用来获取曲线上距离该点最近的点

           上述函数分为两种情况:

                   1.如果曲线为直线,那么求取的点,肯定是通过做垂足获取的,即是距离最近的点。

                   2.如果是一般的曲线(有界限),那么如果通过垂足取得的点,在曲线上,那么就返回该点。如果通过垂足求取的点,不在曲线上,那么就会返回曲线的端点。

    二.点是否在曲线内部

            public bool IsInside(double param)  

            public bool IsInside(double param,out int end) end返回参数表示位置在哪里

    三.线与线的处理

        public SetComparisonResult Intersect(Curve curve);
        public SetComparisonResult Intersect(Curve curve, out IntersectionResultArray resultArray);
    第一个函数直接给出两条曲线的相交情况;

    第二个函数不仅判断其相交情况,还会给出交点的信息等,需要说明的是IntersectionResultArray是输出值,如果没有交点,会输出为NULL;

    SetComparisonResult.Overlap,共面且相交。

    SetComparisonResult.Subset,共线,且只有一个交点,即两条有边界直线共线且首尾相连。

    SetComparisonResult.Superset,共线;注:使用前需将其中一条曲线MakeUnbound();

    SetComparisonResult.Disjoint,无交点,可能是共面且平行,也可能是空间内不共面;

    SetComparisonResult.Equal,两条直线有重合部分(只有一个交点的情况除外)。

  • 相关阅读:
    loj#2540. 「PKUWC2018」随机算法
    loj#2538. 「PKUWC2018」Slay the Spire
    loj#2537. 「PKUWC2018」Minimax
    CF662C Binary Table
    bzoj4589: Hard Nim
    【HDU5909】Tree Cutting(FWT)
    P3175 [HAOI2015]按位或
    P4389 付公主的背包
    P4233 射命丸文的笔记
    GFS分布式文件系统环境部署与管理
  • 原文地址:https://www.cnblogs.com/xiaowangzi1987/p/14868182.html
Copyright © 2011-2022 走看看