[Utils] 求一个任意角度的矩形是否能够容纳另一个任意角度的矩形

不不不,这算法太麻烦了,过两天我忙完了,换一个新算法~= ̄ω ̄=

可能的布局情况

提设

  1. 外部矩形记作OutBound
  2. 内部矩形记住ClipRect
  3. 求ClipRect是否已经被OutBound完全包含,如果没有包含,需要把OutBound平移多少才能包含ClipRect?如果平移不能达成包含的目的,需要把OutBound放大并平移多少才能包含ClipRect?

思路

  1. 求出ClipRect的对角线长度,记作clipRectDiagonalLength
  2. 求出ClipRect两条对角线的斜率,记作k1k2
  3. 求出OutBound的长短边边长,记作MPrefNPref
  4. 平移k1k2过点Pref为线段Prefk1Prefk2
  5. 求线段Prefk1Prefk2的投影线段Prefk1'Prefk2'的长度
  6. 比较投影线段Prefk1'Prefk2'和OutBound的长短边MPrefNPref的长度
    如果Prefk1' <= NPrefPrefk2' <= MPref则,OutBound可以包含ClipRect,
    否则OutBound需要放大max(Prefk1' / NPref, Prefk2' / MPref)才能包含ClipRect
求出ClipRect的辅助线
比较ClipRect对角线和外框边线的长度
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容