pls help me with this prog
88888 Dihedral
dihedral88888 at googlemail.com
Sun Oct 21 04:09:44 EDT 2012
On Friday, October 19, 2012 4:40:42 PM UTC+8, inshu chauhan wrote:
> in this prog I have written a code to calculate teh centre of a given 3D data..
>
>
>
> but i want to calculate it for every 3 points not the whole data, but
>
> instead of giving me centre for every 3 data the prog is printing the
>
> centre 3 times...
>
>
>
> import cv
>
> from math import floor, sqrt, ceil
>
> from numpy import array, dot, subtract, add, linalg as lin
>
>
>
>
>
>
>
>
>
> def CalcCentre(data):
>
> centre = array([0,0,0])
>
> count = 0
>
> n = 0
>
> for p in data[n:n+3]:
>
> centre = add(centre, array(p[:3]))
>
> count += 1
>
> centre = dot(1./count, centre)
>
> return centre
>
> n += 1
>
> def ReadPointCloud(filename):
>
> f = open(filename)
>
> result = []
>
> for l in f:
>
> sp = l.split()
>
> t = tuple(map(float, sp[1:4]))
>
> result.append(t)
>
> return result
>
>
>
> def main (data):
>
>
>
>
>
> j = 0
>
> for i in data[:3]:
>
> while j != 3:
>
> centre = CalcCentre(data)
>
> j += 1
>
> print centre
>
>
>
>
>
> if __name__ == '__main__':
>
> data = ReadPointCloud(r'Z:\data\NEHreflectance_Scanner 1_part.txt')
>
>
>
> main(data)
>
>
>
>
>
>
>
>
>
> PLS HELP ;;;;
# assume data is a list of 3 n numbers, n!=0
n3=data.length()
n=n/3
x=sum(data[0:n3:3])/n
y=sum(data[1:n3:3])/n
z=sum(data[2:n3:3])/n #(x,y,z)
More information about the Python-list
mailing list