![](/img/trans.png)
[英]Separating Axis Theorem with Rotating Shapes
我正在學習 SAT(分離軸定理)算法和碰撞響應,在我應用旋轉之前它似乎工作正常。 如果兩個碰撞形狀都在旋轉,它們會粘在一起並且無法解決碰撞,我猜這是由於形狀旋轉回對撞機。 我在碰撞檢查(發生在render方法中)之前一次旋轉所有形狀,但我嘗試在渲染后旋轉以及在渲染循環本身中旋轉,但兩者都不起作用。s ...
[英]Separating Axis Theorem with Rotating Shapes
我正在學習 SAT(分離軸定理)算法和碰撞響應,在我應用旋轉之前它似乎工作正常。 如果兩個碰撞形狀都在旋轉,它們會粘在一起並且無法解決碰撞,我猜這是由於形狀旋轉回對撞機。 我在碰撞檢查(發生在render方法中)之前一次旋轉所有形狀,但我嘗試在渲染后旋轉以及在渲染循環本身中旋轉,但兩者都不起作用。s ...
[英]Triangle to AABB collision code not working
我一直在調整和重新編寫我的代碼以針對三角形測試 AABB,但我不確定我做錯了什么。 我正在使用分離軸定理,因為我相信這是用於檢測 AABB 和三角形之間碰撞的最好也是唯一的方法(如果我錯了或者有更好/更快的方法,請糾正我)。 目前,當發生碰撞時,它不會檢測到任何東西。 代碼比較小,每一幀都調用is ...
[英]Fast ways to filter out a list of triangles before performing SAT test against AABB
我正在嘗試與來自三角形網格的三角形執行 AABB-三角形相交,而 AABB 是結構化 3D 網格/體素中的單個單元格。 有沒有什么聰明的方法/算法可以用來過濾和減少我必須執行 SAT 測試的三角形和 AABB 組合的數量? 就目前而言,我正在針對網格中的每個單元格檢查每個三角形,這是無效的。 我還考 ...
[英]SAT Polygon Circle Collision - resolve the intersection in the direction of velocity & determine side of collision
概括這個問題在 JavaScript 中,但是任何語言、偽代碼或僅數學的答案都會很棒! 我一直在嘗試實現分離軸定理來完成以下任務: 檢測凸多邊形和圓之間的交點。 找出可應用於圓的平移以解決相交問題,使圓幾乎不接觸多邊形,但不再在內部。 確定碰撞的軸(問題末尾的詳細信息)。 我已經成功完成了第一個要點 ...
[英]How get a collision point with SAT
我已經在2D中實現了SAT碰撞檢測系統,但是我沒有得到如何獲得碰撞影響點。 目前我獲得了mtv和分離軸,因此我可以解決碰撞但不對其施加正確的力,因為缺少撞擊點。 ...
[英]How to find which side was collided with using SAT
我正在使用“分離軸定理”來檢查兩個多邊形(玩家和對象)是否相交。 我想讓玩家從物體上反彈,但是要做到這一點,我需要玩家與之碰撞的那一側(我將從中計算出角度)。 如何從SAT函數中獲得此信息? ...
[英]Separating axis theorem falsely triggers
我正在用C ++編寫一些代碼,使用分隔軸定理測試碰撞,並且在某些方向上錯誤地觸發了發生碰撞的情況 我正在關注本教程,但是本教程僅在2D中使用,盡管我認為它應該仍然相同,但我正在嘗試在3D中實施它。 我現在擁有的算法不會遺漏任何碰撞,但是對於兩個盒子的某些方向,它認為實際上沒有碰撞時會 ...
[英]Separating Axis Theorem Implementation always returning true. What am I doing wrong?
我正在嘗試使用“分離軸定理”對Javascript / p5.js中的凹多邊形實施碰撞檢測。 我一直在關注以下有關如何使用它的教程: http : //www.dyn4j.org/2010/01/sat/ 但是,無論兩個多邊形的位置如何,我的檢查總是返回true。 這是我的代碼: ...
[英]Separating Axis Theorem function fails when met with acute angles
這是我在 Lua 中為 LOVE2D 引擎制作的一個小庫,它使用分離軸定理來解決碰撞。 當我的 SAT 程序開始運行時,我非常高興,並開始使用大量多邊形對其進行測試。 它在大多數情況下都有效,並且也為它們提供了正確的最小平移向量。 奇怪的是 - 如果兩個形狀都有銳角,那么這些角度會導致程序失敗,當 ...
[英]Separating axis theorem difficulties
我在使用這種碰撞檢測算法時遇到了很大的問題。 我了解它的工作原理,但是即使我看過很多教程,也無法在代碼中實現它。 目前,該代碼段中沒有沖突檢測代碼。 這是演示: var ctx = document.getElementById('canvas').getContext( ...
[英]Point of intersection between Oriented Boxes (or OBB)
我正在嘗試編寫一個剛體模擬器,並且在模擬過程中,我不僅對找到兩個物體是否發生碰撞感興趣,而且還對碰撞的正常點和正常點感興趣。 我發現了很多資源,實際上是說兩個OBB是否在使用分離軸定理發生碰撞。 我也對OBB的3D表示感興趣。 現在,如果我知道兩個碰撞OBB的重疊區域最小的軸,有沒有辦法找 ...
[英]SAT Collision detection - Corners fix
我正在開發一款游戲,目前正在研究物理。 我正在使用SAT 算法來檢測碰撞。 碰撞發生在字符(AxisAlignedBoundingBox)和一些矩形(帶旋轉)之間。 一切正常,除了在特定情況下靠近角落的碰撞。 (這是一個眾所周知的問題,但我沒有找到任何好的解決方案)。 在示例 1 中,在第 ...
[英]Python int object is not subscriptable
我目前正在嘗試實現自己的SAT(分離軸定理)碰撞檢測系統,但是遇到了問題。 在第34行,我收到此錯誤消息: 第34行,在碰撞軸=(v [1],-v [0])TypeError:'int'對象不可下標 奇怪的是v不是一個整數,而是一個元組。 這是代碼 問題出在第3 ...
[英]Finding the MTV (Minimal Translation Vector) using Separating Axis Theorem
因此,我一直在嘗試使用“分離軸定理”在我的游戲項目中運行碰撞檢測和響應。 我已經設法檢測到碰撞,但是對於我自己的一生,我無法設法弄清楚如何應對。 我正在嘗試找到最小翻譯矢量,但是我不確定如何使其成為實際矢量,以便我可以計算出如何響應碰撞。 我已經閱讀了一個又一個的教程,並且在這里已經看過許 ...
[英]Separation Axis Theorem MVT along only one axis
我無法沿一個軸計算3D穿透矢量。 我已經實現了SAT並且它有效。 我想計算我需要將第一個盒子與其他盒子相互抵消,以便它始終位於其他盒子之上。 有點做簡單的盒子與非常長的箱子。 我應該如何繼續尋找將一個物體推向指定軸方向的偏移量。 ...
[英]Collision detection: Separating Axis Theorem - Circle versus Polygon
我一直在嘗試根據Randy Gaul的C ++ Impulse Engine ,在圓和多邊形之間實現碰撞檢測,並嚴格遵循代碼,但是算法永遠不會返回true。 這是JSFiddle 。 (為方便起見,使用HTML5 Canvas API渲染了主體) 代碼片段(僅沖突檢測): ...
[英]Calculating the resultant velocity vector after a 2D collision
目前我有一個迷你物理游戲,它使用分離軸定理進行碰撞檢測和響應,但是當我發現沒有太多關於物體速度與使用SAT碰撞與另一個形狀碰撞后發生的事情的文檔時我停止了檢測。 這是我正在談論的兩個圖表。 有人能指出我正確的方向嗎? 碰撞后可以給出的所有信息都是最小穿透矢量。 ...
[英]Separating axis theorem: rotation around center of mass
問題出在Polygon::FindAxisLeastPenetration : } polygon.rotationMatrix是類型的對象Matrix22它是一個2×2矩陣。 polygon.points是std::vector<Vector2D>用向量填充。 ...
[英]Separating axis theorem algorithm not working
使用Haxe根據以下指南編寫分隔軸實現。 似乎無法弄清為什么它不起作用,測試了單個零件,但是即使在沒有任何碰撞的情況下,碰撞總是返回true。 任何幫助表示贊賞! :D ...
[英]Determine if crop rect is entirely contained within rotated UIView
前提:我正在構建一個裁剪工具,可以處理雙指任意旋轉的圖像以及任意裁剪。 有時,圖像最終會以插入空白空間的方式旋轉,以填充旋轉圖像和裁剪矩形之間的間隙(請參閱下面的示例)。 我需要確保圖像視圖在旋轉時完全適合裁剪矩形。 如果沒有,我需要重新轉換圖像(縮放),使其適合裁剪邊界。 ...