跳到内容
🛠️ToolsShed

体型类型计算器

根据身体测量值判断您的体型类型(外胚型、中胚型或内胚型)。

此估算基于简单的骨架尺寸比例,仅供一般参考,并非医学或身体成分评估。

关于此工具

身体类型计算器帮助您根据骨骼框架大小和比例确定您的躯体类型——一种将人们分为三种主要身体类型的分类系统。与 BMI(相对于身高测量体重)不同,该工具使用手腕和踝关节周长测量作为基础骨骼结构的指标。了解您的身体类型对于设定现实的健身目标并理解您的代谢如何自然地对训练和饮食做出反应很有用。

要使用计算器,用柔性卷尺测量手腕骨下方的手腕周长和踝关节最窄处的踝关节周长。以厘米为单位输入这些测量值以及您的身高和体重。该工具主要通过手腕与身高的比率来确定您的身体类型,由于您的骨骼结构在遗传上是确定的,所以这个比率在您整个生命中保持稳定。您的踝关节测量值提供额外的确认。

了解您的躯体类型有助于您将训练风格和营养方法与您的自然身体倾向相一致。外胚层型通常受益于以力量为中心的训练加上热量盈余;内胚层型通常以更高的有氧运动频率和适度部分取得更好的效果;中胚层型往往对混合训练方法反应良好。请记住,身体类型是您的起点,而不是您的命运——无论您的分类如何,一致的训练和适当的营养都可以显著改变您的身体成分。

常见问题

代码实现

def classify_body_type(wrist_cm, height_cm):
    """
    Classify somatotype using the wrist-to-height ratio.

    Thresholds (empirical):
        ratio < 0.1035  → Ectomorph  (small frame)
        ratio > 0.1160  → Endomorph  (large frame)
        otherwise       → Mesomorph  (medium frame)

    Parameters:
        wrist_cm  - wrist circumference in centimetres
        height_cm - height in centimetres

    Returns one of: 'ectomorph', 'mesomorph', 'endomorph'
    """
    ratio = wrist_cm / height_cm
    if ratio < 0.1035:
        return "ectomorph"
    elif ratio > 0.1160:
        return "endomorph"
    return "mesomorph"


DESCRIPTIONS = {
    "ectomorph": "Slim frame, fast metabolism, difficulty gaining muscle or fat.",
    "mesomorph": "Athletic build, gains/loses weight relatively easily.",
    "endomorph": "Larger frame, gains weight easily, tends to retain fat.",
}


# Examples
test_cases = [
    (15.5, 180),  # small wrist, tall → ectomorph
    (17.5, 175),  # medium           → mesomorph
    (21.0, 170),  # large wrist      → endomorph
]

for wrist, height in test_cases:
    body_type = classify_body_type(wrist, height)
    ratio     = wrist / height
    print(f"Wrist {wrist}cm / Height {height}cm = ratio {ratio:.4f} → {body_type}")
    print(f"  {DESCRIPTIONS[body_type]}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.