推导将点映射到平面坐标系的计算公式

python 复制代码
import numpy as np
import matplotlib.pyplot as plt

# 生成10000个随机点
np.random.seed(42)
n_points = 10000
x = np.random.random(n_points)
y = np.random.random(n_points)
z = np.random.random(n_points)

# 计算映射后的坐标
mapped_x = (2*y + z)/(2*(x + y + z))
mapped_y = (np.sqrt(3)*z)/(2*(x + y + z))

# 创建散点图
plt.figure(figsize=(12, 12))
plt.scatter(mapped_x, mapped_y, alpha=0.1, s=5)

# 绘制等边三角形的边界
triangle_x = [0, 1, 0.5, 0]
triangle_y = [0, 0, np.sqrt(3)/2, 0]
plt.plot(triangle_x, triangle_y, 'r-', linewidth=2, label='三角形边界')

plt.grid(True)
plt.title('单位立方体到等边三角形的映射 (10000点)')
plt.xlabel('x = (2y+z)/(2(x+y+z))')
plt.ylabel('y = (√3*z)/(2(x+y+z))')
plt.axis('equal')
plt.legend()

# 添加参考线
plt.axhline(y=0, color='k', linestyle='--', alpha=0.3)
plt.axvline(x=0, color='k', linestyle='--', alpha=0.3)

plt.show()
相关推荐
wuk9983 天前
基于有限差分法的二维平面热传导模型MATLAB实现
开发语言·matlab·平面
EQ-雪梨蛋花汤7 天前
【裸眼3D原理浅析】使用AI生成平面裸眼3D图像——“科幻战士破框而出”的裸眼3D图背后的原理与技巧
平面·3d
Evand J10 天前
【MATLAB例程】到达角度定位(AOA),平面环境多锚点定位(自适应基站数量),动态轨迹使用EKF滤波优化。附代码下载链接
开发语言·matlab·平面·滤波·aoa·到达角度
夜星辰202311 天前
RK3568 MIPI 摄像头驱动的 V4L2 多平面视频格式解析
平面·摄像头格式·nv12
鼓掌MVP18 天前
图生3D技术解析:从二维平面到立体世界的智能飞跃
平面·3d
老歌老听老掉牙18 天前
使用 OpenCASCADE 提取布尔运算后平面图形的外轮廓
c++·平面·opencascade
Kingsdesigner21 天前
从平面到“货架”:Illustrator与Substance Stager的包装设计可视化工作流
前端·平面·illustrator·设计师·substance 3d·平面设计·产品渲染
xinxiangwangzhi_21 天前
多视图几何--密集匹配--视差平面推导
平面
lqjun082721 天前
平面的方程公式
线性代数·机器学习·平面
Evand J1 个月前
组合导航的MATLAB例程,二维平面上的CKF滤波,融合IMU和GNSS数据,仿真,观测为X和Y轴的坐标,附代码下载链接
开发语言·matlab·平面·imu·组合导航