占星网
12SIGN

We are written in the stars

当前位置: 占星网 > 占星软件 > 其他软件 >

关注发送“我要资料”,领取免费资料

占星心理治愈

绘制北印度风格的占星命盘

好的,我们来详细分析一下这段PHP代码,它定义了如何绘制北印度风格的占星命盘(Chakra)。

代码核心功能:

这段代码属于一个名为 North 的 PHP 类,它的主要目的是定义绘制北印度风格占星命盘的具体规则和布局。它继承自一个更通用的 AbstractChakra 类,这意味着它拥有一些通用的图表绘制功能,但专门针对北印度风格进行了定制。

关键特性分析:

固定系统 ($chakraFix = self::FIX_BHAVA;)

这是最核心的特征! 这行代码明确指出该图表使用固定宫位 (Bhava) 系统。

在北印度风格中:

宫位 (Bhava) 在图表上的物理位置是固定不变的(例如,第1宫永远是顶部中间的菱形,第2宫永远是左上角的三角形,以此类推)。

星座 (Rashi) 则根据具体星盘上升点 (Lagna / Ascendant) 在这些固定的宫位中轮转。

这与南印度风格(固定星座)形成了鲜明对比。

几何结构 (基础形状 + 变换规则)

$bhavaPointsBase: 定义了绘制命盘所需两种基础形状的顶点坐标:

BHAVA_TRIANGLE (三角形): 用于绘制第 2, 3, 5, 6, 8, 9, 11, 12 宫。

BHAVA_RECTANGLE (矩形/菱形): 用于绘制第 1, 4, 7, 10 这四个角宫 (Kendra)。

$transformRules: 这是实现北印度布局的关键。它是一个数组,定义了如何将上述的基础形状 (base) 通过一系列几何变换 (transform)(如平移 Matrix::TYPE_TRANSLATION、旋转 Matrix::TYPE_ROTATION、镜像 Matrix::TYPE_REFLECTION)映射到每个宫位 (1 到 12) 的最终位置和方向。

例如,对于第1宫(1 => ...),它使用矩形 (BHAVA_RECTANGLE) 作为基础,然后向右平移2个单位 ([2, 0]),将其放置在图表顶部中央的菱形位置。

对于第3宫(3 => ...),它使用三角形 (BHAVA_TRIANGLE),先旋转90度 (M_PI_2),再进行垂直镜像 ([false, true]),最终形成左下角的三角形宫位。

通过为每个宫位定义不同的基础形状和变换组合,代码以编程方式构建出标准的北印度命盘方形外观,其中包含内部的菱形和三角形。

行星位置 ($grahaPointsBase)

这个数组定义了行星 (Graha) 符号放置在每个宫位内部的相对坐标。

它考虑了同一个宫位内可能存在的不同行星数量 (COUNT_ONE, COUNT_FOUR, COUNT_FIVE, COUNT_MORE),为不同数量的行星提供了不同的布局方案,以避免行星符号重叠,使得排布更清晰。

例如,如果一个三角形宫位只有一个行星 (COUNT_ONE),它会被放在相对坐标 [1, 1/3] 的位置(大致在三角形重心偏上的位置)。

星座标签位置 (getRashiLabelPoints 方法)

这个方法用于计算星座 (Rashi) 数字标签应该放置在每个宫位旁边的具体位置和对齐方式。

它首先获取当前命盘中哪个星座落入哪个宫位的信息 ($this->Analysis->getRashiInBhava(...))。

然后,它使用已经过变换计算后的每个宫位的实际顶点坐标 ($this->bhavaPoints)。

根据宫位的编号 ($bhava),它判断标签应该放在宫位的哪个方向(上方、左侧、下方、右侧),并设置相应的文本对齐方式 (textAlign, textValign)。例如:

对于 1, 2, 12 宫(顶部),标签放在宫位下方 (textValign = 'bottom')。

对于 3, 4, 5 宫(左侧),标签放在宫位右侧 (textAlign = 'right')。

以此类推,确保星座数字清晰地标注在对应宫位的外侧。

$offsetCorner 用于在宫位边界和标签之间留出一定的空隙。

其他属性

$chakraGraha = Graha::KEY_SK;: 这可能与特定的 Chakra 类型有关(如 Shukra Chakra/金星 चक्र),或者是一个默认值。在解释通用 Rasi 盘布局时不是最关键的。

$chakraDivider = 4;: 可能与图表的四分结构(角宫/Kendra)有关,暗示了其四边形的整体形态。

总结:

这段 PHP 代码通过以下方式定义了北印度占星命盘的绘制方法:

确立核心原则: 使用固定的宫位布局。

定义基础构件: 提供三角形和菱形/矩形两种基础形状的坐标。

构建整体布局: 利用详细的变换规则(平移、旋转、镜像)将基础形状精确地放置和定向,形成 12 个宫位的标准北印度方形排布。

定位内部元素: 规定了在每个宫位内部根据行星数量摆放行星符号的相对位置。

标注外部信息: 计算并设置星座数字标签在每个宫位外侧的准确位置和对齐方式。

总而言之,该类结合了几何学、坐标变换和占星学规则,以程序化的方式生成符合北印度传统的、视觉上准确的占星命盘。

加微信群和大家一起聊

联系我

(责任编辑:admin)


推荐内容

搜索

标签

联系方式

联系方式

赞助占星网

赞助

占星网公众号

占星心理治愈

网站服务

占星软件

天上闪烁的星星好象黑色幕上缀着的宝石,本站提供各种理解这些宝石的工具,包括astrolog32 zet7 zet8 zet9 Jyotish Tools 等;

大师看盘

解读星盘是一件奇妙而有启发性的经验,透过解读,当事者可以全然的接纳自己,可以打开通往无限机会的大门,预先为自己痛苦的情绪找到转化成正面思考的动力,找到乐观的经验或信念。

占星教学

西方现代占星学是一门人文科学,可以提高个人对于自我潜能的意识,创造更加充实的人生。,认识自己的出生星图,将让你终身受益。

占星资料

Astrological Data. 时不时的会陆续整理更新,各种现代、古典、印度、希腊等各种流派占星资料。无论怎样,资料永远只是参考并非绝对的答案,请根据个人命盘融汇理解……