IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 【Python】生成三维金字塔坐标 -> 正文阅读

[开发工具]【Python】生成三维金字塔坐标

给定层数生成三维金字塔坐标

可以与 算法2 做对比,选择更适合的
当前算法采取理性的思维,做什么事之前,都先做好准备,这样,不管到哪,都能有计划地操作

  • count是层数,per_length是两个点之间的距离,即单位长度
# -*- coding:utf-8 -*-
# @FileName :金字塔.py
# @DateTime :2022/4/7 21:55
# @Author   :wanglb
count = 4  # 层数
per_length = 1  # 单位长度

each_side = [each * 2 + 1 for each in range(count)]
each_count = [each ** 2 for each in each_side]
all_count = sum(each_count)
over_count = []
for each in each_count:
    if over_count:
        over_count.append(over_count[-1] + each)
    else:
        over_count.append(each)
# 1, 3, 5, 7, 9
print(f'每层的边长为{each_side}')
print(f'每层的个数 {each_count}')
print(f'总数为 {all_count}')
print(f'截止到当前层数,上面总个数 {over_count}')
for each in range(all_count):
    large = [e for e in over_count if e > each]
    floor = over_count.index(large[0])  # 第几层
    this_count = each - large[0] + each_count[floor]   # 当前层第几个
    this_side = each_side[floor]    # 当前层的边数
    print(f'{floor}{this_count}', end='\t')
    # 左下角到左上角,向右依次填充
    x = this_count // this_side
    y = this_count % this_side
    if floor > 0:
        # 把填充完的平移到中心位置
        x -= floor
        y -= floor
    z = -floor
    # 承伤对应的每段长度
    x *= per_length
    y *= per_length
    z *= per_length
    print(x, y, z)

解读

  • 金字塔的每一层都是正方形,边长第一层是1,第二层是3,第三层是5,一次类推,为连续奇数,即each_side
  • 每层的点个数分别为 1^2, 3^2, 5^2 ...,即each_count
  • 截止当前层,上面点的个数为 1, 1+9, 1+9+25 ...
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-15 00:19:38  更:2022-04-15 00:22:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 15:03:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码