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

等腰梯形构建中矩阵缩放因子变换与角度的数学关系求解

等腰梯形参数与角度的数学关系推导

现有坐标计算脚本

以下Python脚本通过给定参数(长底边长、高度、缩放因子)计算等腰梯形的四个顶点坐标:

import numpy as np

# 给定参数
long_base = 4
height = 1
scale_factor = 0.404229

# 长底边坐标
half_lb = long_base/2
A = np.array([[-half_lb , 0. , 0.], [half_lb , 0.  ,0.]])

# 格式化为齐次坐标以应用变换
one = np.ones((A.shape[0],1))
A = np.append(A, one, axis=1)

# 变换矩阵
matrix = np.array([[scale_factor, 0, 0, 0], 
                   [0, 1, 0, 0], 
                   [0, 0, 1, 0], 
                   [0, 0, height, 1]])
# 计算上底顶点坐标
B = A @ matrix

# 合并得到梯形四个顶点坐标
A = np.concatenate((A,B), axis=0) 

参数与角度的数学关系推导

从脚本的坐标变换逻辑可知:

  • 长底边的两个顶点坐标为 (-long_base/2, 0, 0) 和 (long_base/2, 0, 0)
  • 经过变换后,上底的两个顶点坐标为 (-long_base/2 * scale_factor, 0, height) 和 (long_base/2 * scale_factor, 0, height)

取腰的向量(例如从 (long_base/2, 0, 0) 到 (long_base/2 * scale_factor, 0, height)),其分量为:
( (long_base/2)(scale_factor - 1), 0, height )

设腰与长底边的夹角为θ,利用向量点积的夹角公式推导关系:

  1. 腰向量与长底边方向向量(x轴负方向)的点积为:(long_base/2)(1 - scale_factor)
  2. 腰向量的模长为:sqrt( (long_base/2)²(1 - scale_factor)² + height² )
  3. 夹角余弦值满足:
    $$\cos\theta = \frac{(long_base/2)(1 - scale_factor)}{\sqrt{(long_base/2)^2(1 - scale_factor)^2 + height^2}}$$

通过代数变形求解缩放因子,最终得到:
$$scale_factor = 1 - \frac{2 \times height}{long_base} \times \cot\theta$$

其中 $\cot\theta = \frac{1}{\tan\theta}$,θ为腰与长底边的夹角(需注意计算时的角度/弧度单位一致性)。

验证示例

当 long_base=4、height=1、θ=40° 时:

  • $\cot40° \approx 1.19175$
  • 代入公式得:$scale_factor = 1 - \frac{2 \times 1}{4} \times 1.19175 \approx 0.4041$,与脚本中给定的0.404229基本一致(误差源于小数精度)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 04:09:58