簡體   English   中英

object的POV與圓形、矩形的碰撞檢測

[英]Collision detection between POV of object and circles and rectangles

在“ Drawing point of view for an object in PyQt6 ”中,我們為 object 繪制了一個視角。在“ Collision detection between circle and rectangle ”中,我們找到了如何檢測圓形和矩形之間碰撞的方法,現在我想檢測兩者之間的碰撞POV 和其他類似的對象。

我用 PySide6 在 python 中編寫了我的代碼。

在此處輸入圖像描述

我該怎么做?

我應該如何檢測 POV 與其他物體之間的碰撞?

如果您可以選擇直接使用 bitmap,您可以繪制障礙物,然后繪制 POV 並檢查每個像素是否空閑。

否則,您可以將 POV 分解為磁盤和扇區的並集,並檢測與磁盤扇區的沖突。 檢測兩個圓之間的碰撞不是什么大問題(比較中心之間的距離與半徑之和),並且您將其與圓盤和矩形之間的碰撞聯系起來。 檢測與扇區的碰撞更具挑戰性。

您可以將此操作分解為與圓盤角度的碰撞,該角度本身定義為兩個半平面的交點。 與半平面相交並不困難。 對於圓盤,比較中心到邊界線的代數距離和圓盤半徑。 對於矩形,檢查至少有一個角位於半平面內。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM