缩放算法
作者:互联网
import random #一维示例 test_arry = [11,12,13,15,18,20,29,35,40,55,68,70,92,105,107,109] #最后一个数如果不是109,而是200,如何等比例、等长度的将这个列表进行放大的操作 #先计算缩放比例 rate = 200/test_arry[-1] result = [int(i*rate) for i in test_arry] print(result) #[20, 22, 23, 27, 33, 36, 53, 64, 73, 100, 124, 128, 168, 192, 196, 200] #二维数组 test_arry = [ [1,20], [3,20], [3,20], [45,20], [332,18] ] #最后一个数组不是[332,18],而是[200,32],如何等比例等长度的进行放大操作 rate_x = 200/test_arry[-1][0] rate_y = 200/test_arry[-1][1] result = [[int(i[0]*rate_x),int(i[1]*rate_y)] for i in test_arry] print(result) #[[0, 222], [1, 222], [1, 222], [27, 222], [200, 200]] #为列表中的第一个元素做一个偏移 result = [[int(i[0]*rate_x+random.uniform(-0.5,0.5)),int(i[1]*rate_y)] for i in test_arry] print(result) #[[0, 222], [1, 222], [1, 222], [27, 222], [199, 200]] #二维列表中的三个元素 test_arry = [ [1,20,2433344], [3,20,3432432], [3,20,3432432], [45,20,432432], [332,18,3432432] ] #同理可得 #Z轴一般没有波动
标签:200,20,缩放,rate,算法,test,222,arry 来源: https://www.cnblogs.com/caomengqi/p/15370179.html