FreeAstroAPI LogoFreeAstroAPI
返回指南
占星基础

开发者如何理解占星相位

从几何角度理解占星相位:如何解析、解释并可视化 FreeAstroAPI 返回的 aspects。

星盘里的几何关系

相位指的是从地球观察时,行星之间的特定角距离。

对开发者来说,理解这些角度很重要,因为它们定义了星盘中的关系,也就是不同行星能量如何相互作用。

FreeAstroAPI 如何计算 aspects

API 引擎会计算每颗行星的 geocentric longitude,范围是 0° 到 360°,然后计算两颗行星之间的绝对角度差。

角度本身还不够。我们还会应用 Orb。Orb 是允许相位仍然被认为有效的误差范围。

例如,Square 的精确角度是 90°。如果 Sun 在 88°,Moon 在 180°,差值是 92°。在 orb 为 5° 时,这仍然是有效的 Square。

数据结构

调用 /api/v1/natal/calculate 时,aspects 数组会返回这样的对象:

{
  "p1": "Sun",
  "p2": "Moon",
  "type": "Square",
  "orb": 5.5,
  "deg": 92.1,
  "is_major": true
}

字段说明

  • p1p2:参与相位的两个天体。
  • type:相位名称。
  • deg:两颗行星之间的精确角度。
  • orb:相位的误差或紧密程度。越低越强。
  • is_major:是否为主要相位。

主要相位速查

AspectAngleOrb (Default)Meaning
Conjunction8-10°融合、强度、新开始。
Opposition180°8-10°张力、意识、需要平衡。
Trine120°和谐、流动、自然天赋。
Square90°行动、挑战、摩擦。
Sextile60°机会、沟通。

可视化 aspects

如果你绘制圆形星盘,相位通常画成连接星盘中心行星的线。

  • Blue Lines:通常表示柔和相位,如 Trine、Sextile。
  • Red Lines:通常表示紧张相位,如 Square、Opposition。
// Example: Determining line color based on aspect type
const getLineColor = (aspectType: string) => {
  switch (aspectType) {
    case 'Trine':
    case 'Sextile':
      return '#4F46E5'; // Indigo/Blue
    case 'Square':
    case 'Opposition':
      return '#EF4444'; // Red
    case 'Conjunction':
      return '#F59E0B'; // Amber
    default:
      return '#9CA3AF'; // Grey
  }
};

结论

Aspects 会让占星应用更有层次。它们不只是说明行星落在哪个星座,还描述一个人生命主题中的动态关系。使用 FreeAstroAPI 预先计算好的 aspects 数组,你可以跳过复杂几何计算,把精力放在界面和解释体验上。

继续阅读

全部指南