給定由SVG路徑製作的不規則形狀,您如何計算最大的矩形(只有水平和垂直邊框)可以放入其中?在SVG路徑中查找最大的矩形
1
A
回答
1
我不認爲你可以在一般情況下找到最大的矩形。你應該更好地考慮這個問題,找到適合在網格中繪製的形狀內的最大的矩形,它會給你一個你正在尋找的東西的一個很好的近似值,並通過減少網格的步驟,你可以提高精度你的近似值。
在網格上,問題可以在O(n)中解決,其中n是網格中單元的數量。
0
SVG路徑由線段,三次貝塞爾路徑,二次貝塞爾路徑和橢圓弧組成。因此它是分段微分的。它由有限數量的段組成,而不是無限重複。不要笑,像Haskell這樣的「懶惰」編程語言可以很容易地表現出這樣的東西,但它們在SVG中是不允許的。特別是,雖然SVG路徑可能看起來像我們眼中的分形,但它在數學上不可能是分形。此外,常量只能是整數或IDL浮點數,它們是IEEE單精度浮點數。因此,網格的分辨率可能會被認爲很大,但它肯定是有限的。
使用這些事實,我聲稱一般情況下,如果一個SVG路徑包圍一個區域,那麼存在一個封閉在該路徑中的矩形的最大區域;並且有一個易於理解的算法來查找(至少)一個面積最大的矩形。
任何算法都需要考慮諸如(近似於)空間填充曲線這樣的困難情況,該曲線可能有大量小但仍「最大」的矩形。我不知道算法,所以我們可以在這裏考慮如何開發一個算法。你能解決僅由線段組成的路徑的問題嗎?網格生成算法會有幫助嗎?是否有助於考慮具有相同中心和麪積的矩形在一對雙曲線上有拐角?它有助於瞭解凸包算法嗎?你是否需要稱爲max-min的微分學方法,或者不需要?那麼,如何擴展算法以允許其他類型的路徑段?將這些路徑段看作多邊形路徑會是必要的,還是有幫助的或不必要的?
相關問題
- 1. SVG - 沿着路徑的動畫矩形;矩形中心總是在路徑上
- 2. 查找矩陣中的最短路徑
- 3. 查找最長遞增路徑矩陣
- 4. 查找矩陣路徑來獲得最大的價值
- 5. 拼圖:找到最大的矩形(最大的矩形問題)
- 6. 查找兩個形狀之間的仿射變換矩陣(SVG路徑)
- 7. 查找SVG路徑的最右側/最左側的點
- 8. 查找矩陣中的最大總和子=矩形
- 9. 查找具有條件的矩形中的最大正方形
- 10. 獲取放置在多邊形或路徑中的最大矩形
- 11. 查找矩陣中是否有路徑?
- 12. C#路徑中的半圓形矩形
- 13. 查找最近的多邊形SVG的
- 14. SVG:剪輯路徑不能在矩形上工作
- 15. SVG路徑和變形
- 16. KUTE.js SVG路徑不變形
- 17. SVG路徑變形easing
- 18. svg在路徑上的地點形狀
- 19. 如何查找OpenCV中最大矩形的座標?
- 20. SVG路徑,找出如何的路徑是由SVG文件
- 21. 最佳路徑查找
- 22. 最短路徑查找器
- 23. 矩形內的Svg剪輯路徑不起作用
- 24. 查找多邊形中花費最少的路徑
- 25. 在二叉樹中查找最大總和葉根路徑
- 26. 查找DLV中的最短路徑
- 27. svg:生成'大綱路徑'
- 28. 矩形內最大的空矩形
- 29. 矩陣和圖形路徑
- 30. 在圖中找到最大容量最小的路徑
定義最大:area?周長?最大的單一維度? – abeyer
最大=內部面積最大的矩形。 – waigani
你的意思是圍繞形狀的_bounding box_?即延伸至形狀接觸的minX,minY,maxX和maxY笛卡爾座標的矩形形狀? – halfer