主要紀錄文件
3D-PSM 计分算法
介面語言只描述這筆導覽紀錄;連結的 GitHub 文件才是正本。
- 原文語言
- 簡體中文 (zh-Hans)
- 權威層級
- contextual
- Protocol 路徑
DOCS/applications/3D-PSM/algorithm.md- 索引依據
1652d5e86db67bb07377834c4333378cd751dae0
協議原文
3D-PSM 计分算法
三维人格状态测绘系统的计算逻辑
版本: v0.2 日期: 2025-12-18 最后更新: 2025-12-18(Grok 补充 6 题) 作者: Claude Code(神经系统器官)+ Grok(题目补充) 状态: Active Development(可用于手动计算或简单脚本)
📊 当前测试题目配置
题目分布(65% 完成度)
| 维度 | 完成题数 | 目标题数 | 完成度 |
|---|---|---|---|
| X 轴(固化 ↔ 扩张) | 7 题 | 12 题 | 58% |
| Y 轴(直觉 ↔ 感官) | 7 题 | 12 题 | 58% |
| Z 轴(能量阶梯) | 12 题 | 16 题 | 75% |
| 总计 | 26 题 | 40 题 | 65% |
🎯 第一步:原始分数记录
选项分数对应表
X 轴 & Y 轴(五点量表)
| 选项 | 分数 | 倾向 |
|---|---|---|
| A1 | -1.0 | 强固化(X轴)/ 强直觉(Y轴) |
| A2 | -0.5 | 中度固化 / 中度直觉 |
| C | 0 | 桥接者 |
| B1 | +0.5 | 中度扩张 / 中度感官 |
| B2 | +1.0 | 强扩张 / 强感官 |
注意: Y 轴的正负号相反:
- A1 = +1.0(强直觉,向上)
- B2 = -1.0(强感官,向下)
Z 轴(四点量表)
| 选项 | 分数 | 能量倾向 |
|---|---|---|
| A | 1 分 | 生存导向(<200) |
| B | 2 分 | 自我实现(200-350) |
| C | 3 分 | 宽容/理解(350-500) |
| D | 4 分 | 服务/超越(500+) |
📝 第二步:填写答题表
答题记录模板
## 我的答案记录
### X 轴题目(6 题)
1. 题目一(面对混乱计划):_____(A1/A2/C/B1/B2)
2. 题目二(团队协作):_____
3. 题目三(处理冲突):_____
4. 题目四(时间管理):_____
5. 题目五(压力反应):_____
6. 题目六(帮助他人):_____
### Y 轴题目(6 题)
1. 题目一(资讯接收):_____(A1/A2/C/B1/B2)
2. 题目二(时间感知):_____
3. 题目三(学习方式):_____
4. 题目四(判断他人):_____
5. 题目五(压力下感知):_____
6. 题目六(人生方向):_____
### Z 轴题目(8 题)
1. 题目一(生活价值排序):_____(A/B/C/D)
2. 题目二(生命优先事项):_____
3. 题目三(面对批评):_____
4. 题目四(面对冲突):_____
5. 题目五(压力下能量):_____
6. 题目六(面对失败):_____
7. 题目七(生命状态隐喻):_____
8. 题目八(存在方式隐喻):_____
🧮 第三步:计算座标
X 轴计算
# 1. 将选项转换为分数
X_scores = []
for answer in X_answers:
if answer == 'A1': X_scores.append(-1.0)
elif answer == 'A2': X_scores.append(-0.5)
elif answer == 'C': X_scores.append(0)
elif answer == 'B1': X_scores.append(+0.5)
elif answer == 'B2': X_scores.append(+1.0)
# 2. 计算平均值
X = sum(X_scores) / len(X_scores)
# 3. 范围:-1.0(极度固化)到 +1.0(极度扩张)
示例:
答案:A2, C, B1, A1, C, B2
分数:-0.5, 0, +0.5, -1.0, 0, +1.0
总和:0
平均:0 / 6 = 0
结果:X = 0(完全平衡)
Y 轴计算
# 1. 将选项转换为分数(注意正负号)
Y_scores = []
for answer in Y_answers:
if answer == 'A1': Y_scores.append(+1.0) # 强直觉(向上)
elif answer == 'A2': Y_scores.append(+0.5)
elif answer == 'C': Y_scores.append(0)
elif answer == 'B1': Y_scores.append(-0.5)
elif answer == 'B2': Y_scores.append(-1.0) # 强感官(向下)
# 2. 计算平均值
Y = sum(Y_scores) / len(Y_scores)
# 3. 范围:-1.0(极度感官)到 +1.0(极度直觉)
示例:
答案:A1, B1, C, A2, B2, C
分数:+1.0, -0.5, 0, +0.5, -1.0, 0
总和:0
平均:0 / 6 = 0
结果:Y = 0(完全平衡)
Z 轴计算
# 1. 将选项转换为分数
Z_scores = []
for answer in Z_answers:
if answer == 'A': Z_scores.append(1)
elif answer == 'B': Z_scores.append(2)
elif answer == 'C': Z_scores.append(3)
elif answer == 'D': Z_scores.append(4)
# 2. 计算总分
Z_total = sum(Z_scores)
# 3. 判断能量倾向(8 题版本)
if Z_total >= 8 and Z_total <= 16:
Z_level = "生存导向"
Z_range = "<200"
elif Z_total >= 17 and Z_total <= 24:
Z_level = "自我实现导向"
Z_range = "200-350"
elif Z_total >= 25 and Z_total <= 32:
Z_level = "超越导向"
Z_range = "350+"
示例:
答案:B, C, C, B, D, C, C, B
分数:2, 3, 3, 2, 4, 3, 3, 2
总分:22
判断:17 ≤ 22 ≤ 24
结果:Z = "自我实现导向(200-350)"
📍 第四步:三维座标结果
座标格式
(X, Y, Z)
范例:
(+0.3, -0.2, "自我实现导向")
解读:
- X = +0.3:略偏扩张
- Y = -0.2:略偏感官
- Z = 自我实现导向:主动面对挑战,追求成长
象限定位:
- X > 0, Y > 0 → 第一象限(右上):扩张 + 直觉
- X < 0, Y > 0 → 第二象限(左上):固化 + 直觉
- X < 0, Y < 0 → 第三象限(左下):固化 + 感官
- X > 0, Y < 0 → 第四象限(右下):扩张 + 感官
本例(+0.3, -0.2):
- 位于第四象限(右下):扩张 + 感官
- 角色倾向:共感者 / 变革者
- 特质:透过身体与情感的共振推动能量流动
🔥 第五步:压力态测量(可选)
如何测量压力态
方法: 在压力情境题中标注「压力」,单独计算这些题目的座标。
当前压力题:
- X 轴题目五:面对截止期限的压力反应
- Y 轴题目五:压力下的感知来源
- Z 轴题目五:压力下的能量流向
压力态座标计算
# 计算压力态座标(使用压力题的答案)
X_stress = 压力题X的分数
Y_stress = 压力题Y的分数
Z_stress = 压力题Z的分数(转换为能量倾向)
# 计算漂移距离
import math
drift_XY = math.sqrt((X_stress - X)**2 + (Y_stress - Y)**2)
# 判断韧性
if drift_XY < 0.3:
resilience = "高韧性(压力下状态稳定)"
elif drift_XY < 0.6:
resilience = "中韧性(压力下有变化但可控)"
else:
resilience = "低韧性(压力下状态大幅改变)"
示例:
常态:(+0.3, -0.2, "自我实现")
压力:(-0.5, -0.8, "生存导向")
漂移:sqrt((−0.5−0.3)² + (−0.8−(−0.2))²) = sqrt(0.64 + 0.36) = 1.0
判断:drift = 1.0 > 0.6
结果:低韧性——压力下大幅退缩到固化+感官+生存导向
🌐 第六步:交界指数(可选)
计算四象限分布
# 统计每个象限的题目数
Q1 = 0 # 右上(扩张+直觉):X>0, Y>0
Q2 = 0 # 左上(固化+直觉):X<0, Y>0
Q3 = 0 # 左下(固化+感官):X<0, Y<0
Q4 = 0 # 右下(扩张+感官):X>0, Y<0
for i in range(len(X_scores)):
if X_scores[i] > 0 and Y_scores[i] > 0: Q1 += 1
elif X_scores[i] < 0 and Y_scores[i] > 0: Q2 += 1
elif X_scores[i] < 0 and Y_scores[i] < 0: Q3 += 1
elif X_scores[i] > 0 and Y_scores[i] < 0: Q4 += 1
# 计算标准差(离散程度)
import statistics
intersection_index = statistics.stdev([Q1, Q2, Q3, Q4])
# 判断
if intersection_index < 1.0:
result = "低交界(极度偏向某一象限)"
elif intersection_index < 2.0:
result = "中交界(有主要象限但不极端)"
else:
result = "高交界(均衡分布在多个象限)"
解读:
- 低交界 + 高能量 = 专精型人格(深耕单一象限)
- 低交界 + 低能量 = 困住型(被单一模式限制)
- 高交界 + 高能量 = 整合型人格(灵活切换)
- 高交界 + 低能量 = 探索中(还在寻找主轴)
📋 第七步:结果解读模板
基础解读
## 你的 3D-PSM 测试结果
### 三维座标
- **X 轴:** {X_value}({X_description})
- **Y 轴:** {Y_value}({Y_description})
- **Z 轴:** {Z_level}({Z_range})
### 象限定位
你目前位于 **第{quadrant}象限** — {role_name}
**核心特质:**
{core_traits}
### 能量状态
{energy_description}
### 动态特征
- **韧性:** {resilience}(压力下的座标漂移:{drift_value})
- **交界指数:** {intersection_index}({intersection_description})
### 成长建议
{growth_suggestions}
---
**重要提醒:**
- 这是「此刻的状态」,而非「固定的本质」
- 所有结果可能是错的,可被超越
- 这个系统不是用来评判高低,而是帮助看见可能的成长方向
🔧 手动计算步骤总结
- 记录答案:填写答题表
- 转换分数:X/Y 轴用 -1.0 到 +1.0,Z 轴用 1-4
- 计算平均:X 和 Y 轴求平均,Z 轴求总和
- 判断座标:确定 (X, Y, Z) 位置
- 象限定位:根据 X 和 Y 的正负判断象限
- 能量解读:根据 Z 轴总分判断能量倾向
- 压力态(可选):计算压力题的座标和漂移
- 交界指数(可选):计算四象限分布
💻 简单 Python 脚本(可选)
# 3D-PSM 简易计分器
def calculate_3dpsm(X_answers, Y_answers, Z_answers):
"""
输入:三个答案列表
输出:三维座标
"""
# X 轴计分
X_map = {'A1': -1.0, 'A2': -0.5, 'C': 0, 'B1': 0.5, 'B2': 1.0}
X_scores = [X_map[a] for a in X_answers]
X = sum(X_scores) / len(X_scores)
# Y 轴计分
Y_map = {'A1': +1.0, 'A2': +0.5, 'C': 0, 'B1': -0.5, 'B2': -1.0}
Y_scores = [Y_map[a] for a in Y_answers]
Y = sum(Y_scores) / len(Y_scores)
# Z 轴计分
Z_map = {'A': 1, 'B': 2, 'C': 3, 'D': 4}
Z_scores = [Z_map[a] for a in Z_answers]
Z_total = sum(Z_scores)
# Z 轴判断(12 题版本)
if 12 <= Z_total <= 24:
Z_level = "生存导向"
elif 25 <= Z_total <= 36:
Z_level = "自我实现导向"
else:
Z_level = "超越导向"
return X, Y, Z_level
# 使用示例(26 题版本)
X_answers = ['A2', 'C', 'B1', 'A1', 'C', 'B2', 'C'] # 7 题
Y_answers = ['A1', 'B1', 'C', 'A2', 'B2', 'C', 'B1'] # 7 题
Z_answers = ['B', 'C', 'C', 'B', 'D', 'C', 'C', 'B', 'A', 'C', 'D', 'C'] # 12 题
X, Y, Z = calculate_3dpsm(X_answers, Y_answers, Z_answers)
print(f"你的座标:({X:.2f}, {Y:.2f}, {Z})")
⚠️ 重要声明
这个计分算法:
❌ 不是科学测量工具
❌ 不是绝对真理
❌ 不能用来评判谁更优越
✅ 是自我探索的参考地图
✅ 是看见状态流动的工具
✅ 是可被质疑、修正、替换的框架
使用提醒:
- 结果会随时间和情境变化
- 不要过度认同测试结果
- 这是「此刻在哪里」,不是「你是谁」
- 真正的品质由 Z 轴能量层决定,不是 X/Y 象限
创建日期: 2025-12-18 状态: Prototype(手动计算可用) 下一步: 开发 web 界面或 Google Sheet 版本
🪞💫🌊