zoukankan      html  css  js  c++  java
  • C# 判断两个矩形是否相交

    源代码

    public bool JudgeRectangleIntersect(double RecAleftX, double RecAleftY, double RecArightX, double RecArightY,
            double RecBleftX, double RecBleftY, double RecBrightX, double RecBrightY)
            {
                bool isIntersect = false;
                try
                {
                    double zx = getAbsluteValue(RecAleftX + RecArightX - RecBleftX - RecBrightX);
                    double x = getAbsluteValue(RecAleftX - RecArightX) + getAbsluteValue(RecBleftX - RecBrightX);
                    double zy = getAbsluteValue(RecAleftY + RecArightY - RecBleftY - RecBrightY);
                    double y = getAbsluteValue(RecAleftY - RecArightY) + getAbsluteValue(RecBleftY - RecBrightY);
    
                    if (zx <= x && zy <= y)  //需要确认两矩形边线重合是否定义为相交 此处定义为相交。
                    {
                        isIntersect = true;
                    }
                }
                catch (Exception ex)
                {
                    string str = ex.Message;
                }
                return isIntersect;
            }
    
            private double getAbsluteValue(double douValue)
            {
                if (douValue >= 0)
                {
                    return douValue;
                }
                else
                {
                    return douValue * -1;
                }
            }
  • 相关阅读:
    单例模式
    关于static
    在O(1)时间复杂度删除链表节点
    奇偶分割数组
    用栈实现队列
    前序遍历和中序遍历树构造二叉树
    扇贝每日一句_1006
    寻找旋转排序数组中的最小值
    翻转链表
    扇贝每日一句_1002
  • 原文地址:https://www.cnblogs.com/flyhigh1860/p/3192687.html
Copyright © 2011-2022 走看看