You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SVG中旋转矩形对应假想框压缩后的尺寸计算咨询

SVG旋转矩形压缩后的尺寸计算方案

问题明确

已知原矩形参数:宽w=100px、高h=100px,旋转角度r=45°,被一个最小包围框(假想框)容纳。将该包围框缩小后,求适配新包围框的矩形尺寸。

核心几何逻辑

旋转矩形的最小包围框尺寸,由原矩形的宽高和旋转角直接决定,公式如下:

  • 包围框宽度:W = w×cosθ + h×sinθ
  • 包围框高度:H = w×sinθ + h×cosθ
    其中θ为旋转角度(注意计算工具的单位匹配,弧度/角度需统一),45°时cosθ=sinθ≈0.7071,代入原参数可得原包围框的宽高均为100×0.7071 + 100×0.7071≈141.42px。

缩小包围框后的矩形尺寸计算

假设缩小后的包围框宽为W'、高为H',要保持旋转角度不变,新矩形的宽w'、高h'满足以下线性方程组:

W' = w'×cosθ + h'×sinθ
H' = w'×sinθ + h'×cosθ

解方程组可得通用公式:

w' = [(W' + H')/(cosθ + sinθ) + (W' - H')/(cosθ - sinθ)] / 2
h' = [(W' + H')/(cosθ + sinθ) - (W' - H')/(cosθ - sinθ)] / 2

针对你的场景简化计算

因为原矩形是正方形,旋转45°后包围框也是正方形,缩小后W'=H',公式可简化为:
w' = h' = W'/(cosθ + sinθ)

  1. 若包围框整体宽高各缩小50px:
    W'=141.42-50≈91.42px,代入得w'=h'≈91.42/1.4142≈64.64px

  2. 若包围框每边向内缩进50px(总宽高各减少100px):
    W'=141.42-100≈41.42px,代入得w'=h'≈41.42/1.4142≈29.29px

额外说明

无需单独考虑skew变换,因为旋转后的几何关系已通过三角函数直接体现,上述公式适用于任意旋转角度的矩形,只要替换对应的cosθ和sinθ值即可。

内容的提问来源于stack exchange,提问作者ghtx280

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 03:23:20