關於判斷兩個矩陣相交的一點想法

2022-05-27 23:27:12 字數 840 閱讀 2068

今天在閱讀chipmunk2d原始碼時,在cpbb.h中看到了乙個判讀矩陣相交的函式

static inline cpbool cpbbintersects(const cpbb a, const

cpbb b)

將其轉換為熟悉的c++**後:

typedef struct

crect;

bool crectintersects(const crect a, const

crect b)

兩個矩陣相交,兩個矩陣的必定部分疊在一起,將兩個矩陣的left,bottom,top,right互相限制就行,上面函式就是兩個矩陣互相限制。

另乙個方法就是從反面考慮,考慮什麼情況下矩陣不相交,**如下:

bool  crectintersects(const crect a, const

crect b)

還有一種方法就是根據兩個矩陣相交形成的矩陣判斷,

兩個矩陣相交的結果一定是乙個矩陣,構成相交矩陣為crect

newleft      =max(a.l,b.l)

newbottom =max(a.t,b.t)

newright =min(a.r,b.r)

newtop = min(a.t,b.t)

如果矩陣a與b不相交的話,則newleft > newright || newbottom > newtop,故判斷相交的函式為

bool  crectintersect(const crect a, const

crect b)

關於學習的一點想法

上了十幾年學,才發現自己很多本質的問題從來沒有想過。人類在發展過程中會遇到各種各樣的問題,面對各種各樣的問題,人們提出了各種解決方法。但是如果不用文字記錄下來,讓更多的人看到,實現知識的傳播,那麼未來的人類面對相同的問題就會一臉懵逼,然後花很多重複時間解決乙個解決過的問題。所以人類把各種問題的解決方...

關於CTFT DTFT DFT的一點想法

關於ctft dtft dft dfs等概念的理解一直是模模糊糊 似是而非的,近日忽然就咂摸到了一點滋味,簡單記錄一下,正確性不敢保證。考慮到計算機只能處理時域離散 頻域離散的訊號,因此時域連續或頻域連續的訊號,計算機無法直接處理 這是大前提 因此需要對連續的訊號進行離散處理,這就需要用到衝激串了 ...

關於工作的一點想法

最近基於spring cloud在做乙個支付閘道器的功能。基於 兩 個服務 格式化服務與子支付服務。格式化服務 接受所以平台的請求,提供公共介面,實現在內部呼叫不同平台的子服務介面。子支付服務 針對不同的支付平台提供相關的支付功能。因為剛剛起步,所以就以剛接觸的第乙個子服務為基礎建立了格式化服務。然...