最近在做乙個拖拽排序的專案,其中就有個檢測兩個物件之間是否發生碰撞,網上有好多寫好的**,但講原理的沒有找到幾個,下面就剖析一下是如何實現碰撞的!
一、4個結論
①拖拽層在目標層上部活動時不會碰撞
②拖拽層在目標層左邊活動時不會碰撞
③拖拽層在目標層右邊活動時不會碰撞
④拖拽層在目標層下邊活動時不會碰撞
二、先來理解層的4個邊界
三、結論①拖拽層在目標層上部活動時不會碰撞
假設div1是拖拽層,div2是目標層。
注:div1的下邊界始終在div2上邊界上面活動,則不會發生碰撞。
四、結論②拖拽層在目標層左邊活動時不會碰撞
注:div1的右邊界始終在div2左邊界左面活動,則不會發生碰撞。
五、結論③拖拽層在目標層右邊活動時不會碰撞
注:div1的左邊界始終在div2右邊界右面活動,則不會發生碰撞。
六、結論④拖拽層在目標層下邊活動時不會碰撞
注:div1的上邊界始終在div2下邊界下面活動,則不會發生碰撞。
七、只需要判斷四個邊界,上面4種是不會發生碰撞的情況,排除這四種就說明發生碰撞了。
八、原理講完了,直接上**。
function(obj1, obj2) else
}
正方形等分計數總正方形數
如下圖正方形,邊長是1cm,每邊被四等分,求一共分出了多少個正方形。經過手工數 邊長為1 4的正方形 16 邊長為1 2的正方形 9 邊長為3 4的正方形 4 邊長為1的正方形 1 所以一共是 30個正方形。當上述的正方形,邊長被3等分的情況又如何 還是手動數 邊長為1 3的正方形 9 邊長為2 3...
判斷正方形
隨機輸入四個點座標,判斷是否為正方形 編寫乙個程式,輸入為平面上的四個點a x1,y1 b x2,y2 c x3,y3 d x4,y4 編寫程式判斷這四個點能不能組成乙個正方形,可以只說思路,不用寫 include using namespace std int main 儲存點座標 int dis...
正方形個數
題目描述 給定n個點,求可以組成的正方形的個數。這些正方形可以傾斜 資料範圍 n 1000,點的座標 20000 輸入格式 1811.in 有多組測試資料。對於每一組資料 第1行為乙個整數n。表示點的個數 第2至n 1行,每行兩個數xi,yi,表示每個點的座標。當n 0時,輸入結束。輸出格式 181...