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

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()
相关推荐
老歌老听老掉牙9 天前
python之求平面离散点集围成的面积
python·平面·面积·鞋带公式
十年一梦实验室9 天前
【C++】sophus : geometry.hpp 位姿(SE2 和 SE3)和(2D 直线\3D 平面)转换函数 (五)
开发语言·c++·平面·3d
EQUINOX19 天前
四、网络层:数据平面,《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》
计算机网络·平面·智能路由器
PANG123PANG111 天前
已知四个点ABPQ,求Q点在ABP平面的投影点。如果已经共面了,投影点和Q重合
平面
三水川16 天前
滤波器设计(三)-S平面到Z平面的映射
平面·信号处理
海上彼尚16 天前
Three.js曲线篇 6.雕刻平面大师shape
前端·javascript·平面·3d
apz_end17 天前
平面直角坐标系
平面·平面直角坐标系
芯片SIPI设计20 天前
当信号线经过跨分割平面时发生了什么?
平面
Evand J22 天前
蓝牙定位的MATLAB仿真程序|基于信号强度的定位,平面、四个蓝牙基站(附源代码)
开发语言·matlab·平面
山野万里__23 天前
最小有向包围盒——2D平面
python·平面