<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Hopes

    Start Here..

     

    TwoLineIsIntersect

          private  bool TwoLineIsIntersect(float x0, float y0, float x1, float y1, float x2, float y2, float x3, float y3, ref float InterX,ref float InterY)
         {
              //兩條線段是否相交X0X1 AND X1X2
               float x, y;
               float Minx01 = Math.Min(x0, x1);
               float Miny01 = Math.Min(y0, y1);
               float Minx23 = Math.Min(x2, x3);
               float Miny23 = Math.Min(y2, y3);
               float Maxx01 = Math.Max(x0, x1);
               float Maxy01 = Math.Max(y0, y1);
               float Maxx23 = Math.Max(x2, x3);
               float Maxy23 = Math.Max(y2, y3);
               
               if(x1!=x0 && x2!=x3)
               {
                   float k1 = (y1-y0)/(x1-x0);
                   float k2 = (y3-y2)/(x3-x2);
                   float Den = (y1-y0)*(x3-x2) - (y3-y2)*(x1-x0);
                   if(k1==k2)
                   { //平行不相交
                      float d1 = abs(y0*(x1-x0)-x0*(y1-y0)-y2*(x3-x2)+x2*(y3-y2)); //距離公式d = abs(c1-c2) / sqrt(a*a+b*b)
                      if(d1==0)
                      {//直線重合
                         if((x2>Minx01 && x2<Maxy01 && y2>Miny01 && y2<Maxy01) || (x3>Minx01 && x3<Maxy01 && y3>Miny01 && y3<Maxy01)
                         || (x0>Minx23 && x0<Maxy23 && y0>Miny23 && y0<Maxy23) || (x1>Minx23 && x1<Maxy23 && y1>Miny23 && y1<Maxy23))
                         {  //實際碰撞問題線段重合認為相交了
                            return true;
                         }
                         else
                         {
                            return false;
                         }
                      }
                      else
                      {
                         return false;
                      }   
                   }
                   x = ((y2-y0)*(x1-x0)*(x3-x2)+(y1-y0)*(x3-x2)*x0-(y3-y2)*(x1-x0)*x2)/Den;
                   y = ((y1-y0)*(x-x0))/(x1-x0) + y0;
                   if(Minx01<=x && x<=Maxx01 && Miny01<=y && y<=Maxy01 && Minx23<=x && x<=Maxx23 && Miny23<=y && y<=Maxy23)
                   {
                      InterX = x;
                      InterY = y;
                      return true;
                   }
               }
               else if(x1==x0 && x2!=x3)
               {
                   x = x0;
                   y = ((y3-y2)*(x0-x2))/(x3-x2) + y2;
                   if(Minx01<=x && x<=Maxx01 && Miny01<=y && y<=Maxy01 && Minx23<=x && x<=Maxx23 && Miny23<=y && y<=Maxy23)
                   {
                      InterX = x;
                      InterY = y;
                      return true;
                   }
               }
               else if(x1!=x0 && x2==x3)
               {
                   x = x2;
                   y = ((y1-y0)*(x2-x0))/(x1-x0) + y0;
                   if(Minx01<=x && x<=Maxx01 && Miny01<=y && y<=Maxy01 && Minx23<=x && x<=Maxx23 && Miny23<=y && y<=Maxy23)
                   {
                      InterX = x;
                      InterY = y;
                      return true;
                   }       
               }
               return false;
            }

    posted on 2012-08-29 15:01 ** 閱讀(178) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    公告

    你好!

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    收藏夾

    C#學習

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 99在线热视频只有精品免费| 色费女人18女人毛片免费视频| 成年女人视频网站免费m| 亚洲AV无码一区二区二三区入口 | 亚洲免费闲人蜜桃| 999久久久免费精品播放| 久久国产亚洲精品无码| 国产三级在线免费| 亚洲免费视频在线观看| 日韩不卡免费视频| 亚洲区日韩精品中文字幕| 国产国产人免费人成免费视频 | 中文字幕亚洲图片| 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 国产成人精品亚洲2020| 69xx免费观看视频| 亚洲色欲色欲www在线播放| 又粗又大又猛又爽免费视频| 国产综合激情在线亚洲第一页 | 亚洲欧美国产欧美色欲| 国产免费AV片无码永久免费| 无码 免费 国产在线观看91| 亚洲一区二区三区在线视频| a毛片免费全部播放完整成| 亚洲视频免费观看| 在线观看成人免费视频| 精品乱子伦一区二区三区高清免费播放 | 永久免费视频v片www| 人人爽人人爽人人片A免费| 中文字幕第一页亚洲| 免费国产黄网站在线观看视频| 亚洲精品一级无码鲁丝片| 国产一级婬片A视频免费观看| 国产禁女女网站免费看| a级毛片毛片免费观看久潮喷| 国产老女人精品免费视频| 日韩精品视频在线观看免费 | 在线观看亚洲天天一三视| 久久99免费视频| 亚洲高清国产拍精品熟女| 亚洲女同成av人片在线观看 |