[問題] 2D平面上四角形碰撞偵測
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
這是在OpenGL裡面的函式
但是本身沒有用到OpebGL的函數庫
問題(Question):
http://codepad.org/9SPjxJHW
is_intersect()這是我寫的碰撞偵測函式
這個程式輸入兩個4*2的陣列
分別是兩個bounding box各四個點的座標
函式讀入座標後會將bounding box的點投影到一維的線上比對
get_interval()函式就是將rect投影到vector這個向量的線上
最後再比對投影到線上的bounding box有沒有重疊的地方
最後如果有碰到東西就輸出true,沒碰到東西就輸出false
但是在實際運行的時候,會一直出現兩個明明沒有碰到的東西
卻出現碰撞反應的問題
想請教一下這個函式的問題是出在哪裡呢?
順帶一提,我有看過置底文第12條
傳遞二維陣列的時候不能用雙指標來傳
所以我直接將陣列宣告在參數裡面
跑起來沒有error,函數也有輸出東西(雖然輸出的東西錯了)
所以我不確定問題是不是在那邊...
在這裡先感謝各位的回答
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 149.169.246.32
※ 編輯: hcl012 來自: 149.169.243.9 (09/16 01:55)
推
09/16 02:07, , 1F
09/16 02:07, 1F
→
09/16 02:08, , 2F
09/16 02:08, 2F
→
09/16 02:11, , 3F
09/16 02:11, 3F
→
09/16 02:26, , 4F
09/16 02:26, 4F
推
09/16 16:54, , 5F
09/16 16:54, 5F
→
09/16 16:54, , 6F
09/16 16:54, 6F
→
09/16 16:55, , 7F
09/16 16:55, 7F
→
09/17 01:27, , 8F
09/17 01:27, 8F
→
09/17 01:28, , 9F
09/17 01:28, 9F
→
09/17 01:28, , 10F
09/17 01:28, 10F
推
09/17 01:59, , 11F
09/17 01:59, 11F
→
09/17 02:00, , 12F
09/17 02:00, 12F
→
09/17 02:48, , 13F
09/17 02:48, 13F
→
09/17 03:06, , 14F
09/17 03:06, 14F
→
09/17 03:07, , 15F
09/17 03:07, 15F
→
09/17 08:43, , 16F
09/17 08:43, 16F
→
09/17 11:03, , 17F
09/17 11:03, 17F
→
09/18 05:06, , 18F
09/18 05:06, 18F
→
09/18 05:06, , 19F
09/18 05:06, 19F
→
09/18 05:07, , 20F
09/18 05:07, 20F
→
09/18 11:35, , 21F
09/18 11:35, 21F
→
09/18 11:36, , 22F
09/18 11:36, 22F
抱歉用回文比較快
在之前我有試過將float *minmax = (float*)malloc(2*sizeof(float));
改成float minmax[2];
但是在底下這兩行的時候
car_interval = (float*)get_interval(car,vector);
box_interval = (float*)get_interval(box,vector);
car_interval裡面的值會被bax_interval裡面的值複寫過去
我猜是因為在get_interval函式宣告 minmax[2]的時候都是用同一塊記憶體
所以get_interval(car,vector)和get_interval(car,vector)
都回傳同一塊記憶體位置
所以car_interval的值就被box_interval呼叫get_interval的那行改掉了
只有用malloc才不會發生這樣的問題..
不知道在用完之後將car_interval和box_interval free掉有沒有用呢?
如果都是指向同一塊記憶體的話
應該就算在不同函式裡面malloc和free都沒有關係...吧?
※ 編輯: hcl012 來自: 68.99.86.102 (09/19 11:48)
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章