栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python中空间坐标的小tips

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python中空间坐标的小tips

Python中空间坐标的小tips
  • 项目/需求实战中碰到的问题
  • 第三方模块介绍
  • 速度上手实战
  • 总结+思路扩展

项目/需求实战中碰到的问题

        在大学的选修课简单学习过python之后,在做项目过程中,需要实现将三维坐标存入数组,并且选择最大、最小或者任意一个z值,再寻找对应的x值和y值。

第三方模块介绍

        该模块的主要内容是创建一个二维数组,将三维的空间坐标存入二维数组,从而方便以此为基础的运算。通过x,y,z中的其中一个值来寻找另外两个的值。利于想找最大的z值对应的x,y值。当然想找最大的x值对应的y,z也是类似。

速度上手实战

        首先可以创建一个简单的二维数组w1,其中包含多个坐标值,其中的坐标包含x,y,z值。

w1=[[1,2,7.21],[3,3,7.23],[1,4,7.20],[6,7,7.25],[21,3,6.89],[1,23,7.43],[4,3,7.22],[2,3,7.56]

        其中[1,2,7.21]就是空间中一个点的坐标,x=1,y=2,z=7.21

        下面我们对z值进行排序运算,将排序后的z值存入一维数组y1。

(首先计算有多少点,再创建一个一维数组,利用for循环,将w1中的z值依次赋给y1,最后利用sorted进行排序)

n=len(w1)
d1=[0 for i in range(n)]
for i in range(n):
    d1[i]=w1[i][2]
y1 = sorted(d1)

        比如我们想要查找大小位置为j的z值所对应的x值和y值。先查找z值在d1中的位置,再查找在w1中对应位置的x值和y值。

l=d1.index(y1[j]);
x=w1[l][0]
y=w1[l][1]

        这样我们就可以得出自己想要的坐标。

        当然,在坐标数量十分少的情况下,我们一眼就可以找到。那我们可以随机生成一个数量较大的二维数组。其中N所对应的是坐标的维数,如果是三维的N=3。M是生成坐标的个数。

w1=[[random.random() for i in range(N)] for j in range(M)]
总结+思路扩展

        这个小tip可以用在许多程序当中,当你想要的实现类似的功能就可以使用以上模块。第一次写文章,比较简单,有什么不对,欢迎批评指正。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/882864.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号