当前位置: 首页 > article >正文

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

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()


http://www.kler.cn/a/385034.html

相关文章:

  • vue+websocket实现即时聊天平台
  • ubuntu 20.04 NVIDIA驱动、cuda、cuDNN安装
  • 【React.js】AntDesignPro左侧菜单栏栏目名称不显示的解决方案
  • Python 中的字符串匹配算法
  • win 查看显卡支持 CUDA版本
  • uniapp中使用原生ajax上传文件并携带其他数据,实时展示上传进度
  • 金媒婚恋相亲系统10.4择爱开源旗舰版支持微信小程和抖音小程序上架
  • 鸿蒙系统与python
  • 【WebRTC】视频采集模块流程的简单分析
  • 收集的linux命令/Docker命令/git命令
  • 第2章-立项2.5立项的三重境界
  • 【数据集】【YOLO】【目标检测】道路结冰数据集 1527 张,YOLO目标检测实战训练教程!
  • 软件架构演变:从单体架构到LLM链式调用
  • qt QTextCursor详解
  • java的面向对象(从入门到深入)
  • harmony os 四层架构分析
  • Elasticsearch(三):Elasticvue使用及DSL执行新增、查询操作
  • Hive:explode 和 lateral view
  • 算法通关(3) -- kmp算法
  • leetcode155:最小栈
  • Java中怎样将bytes转换为long类型?
  • blender中,渲染是指渲染图片or视频 ,还是模型?
  • 前端开发实现自定义勾选/自定义样式,可复选,可取消勾选
  • Maven的安装配置
  • Docker与Cgroups资源控制实战
  • 如何通过网络加速器提升TikTok创作与观看体验