判断多边形是否为平行四边形

来源:互联网 发布:会计软件怎么冲销 编辑:程序博客网 时间:2024/05/28 15:39
 /// <summary>        /// 判断多边形是否为平行四边形        /// </summary>        /// <param name="pPolygon">多边形</param>        /// <returns></returns>        public bool IsParallelogram(IPolygon pPolygon)        {            bool bResult = false;            if (pPolygon == null)            {                return false;            }            try            {                IPointCollection pPointCol = pPolygon as IPointCollection;                //// 这里判断5个点,是因为AE中绘制多边形是从起点开始,再绘制到起点结束,为一个封闭的图形                if (pPointCol.PointCount != 5)                {                    return false;                }                IPoint pFstPt = null;                IPoint pSecPt = null;                IPoint pTrdPt = null;                IPoint pForPt = null;                //// 这些点是按照绘制顺序来存储的                pFstPt = pPointCol.get_Point(0);                pSecPt = pPointCol.get_Point(1);                pTrdPt = pPointCol.get_Point(2);                pForPt = pPointCol.get_Point(3);                ILine pFstLine = new LineClass();                ILine pSecLine = new LineClass();                ILine pTrdLine = new LineClass();                ILine pForLine = new LineClass();                //// 获得四边形的四条边                pFstLine.PutCoords(pFstPt, pSecPt);                pSecLine.PutCoords(pSecPt, pTrdPt);                pTrdLine.PutCoords(pTrdPt, pForPt);                pForLine.PutCoords(pForPt, pFstPt);                //// 对边相等则是平行四边形                if (pFstLine.Length == pTrdLine.Length && pSecLine.Length == pForLine.Length)                {                    bResult = true;                }            }            catch (Exception ex)            {                bResult = false;            }            return bResult;        }

0 0
原创粉丝点击