已知一個圓的半徑、圓心坐標,一個矩形的中心點坐標和長寬,寫一個c#程式判斷圓和矩形位置關系:相交、包含、相離、相切等。
uj5u.com熱心網友回復:
想了半天,畫了半天圖,一兩句還真說不完.大致思路:
矩形外創建距離為r的緩沖區,獲得該緩沖區外框曲線(四條直線,四個扇形組成的),寫演算法判定圓心在這個緩沖區曲線上,曲線外,曲線內.曲線上,相切,曲線外相離.曲線內分情況:相交或者是包含,此時分情況后再繼續判斷:
如果矩形比較小,可包含在圓內(r>h&&r>w),
如果矩形較大,可包含圓,需要在矩形內創建距離為r的緩沖區(這個應該是矩形的):類似上面的邏輯,判斷圓心位置與該緩沖區曲線關系:上或者內,矩形包含圓,曲線外,相交.
大致邏輯,可能不太嚴密,自己畫畫圖,然后寫代碼除錯吧,耗費腦子
uj5u.com熱心網友回復:
矩形的旋轉角度呢?轉載請註明出處,本文鏈接:https://www.uj5u.com/net/196347.html
標籤:C#
上一篇:制作喊話器,求一解決方案
下一篇:RPA 產品落地的最后一公里
