codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
# some dummy geometry generation def build_vertices(): result = [] for i in xrange(255): for j in xrange(255): result.append( (i, j, 0) ) result.append( (i+1, j, 0) ) result.append( (i, j+1, 0) ) result.append( (i+1, j, 0) ) result.append( (i+1, j+1, 0) ) result.append( (i, j+1, 0) ) return result # the actual algorithm import time src_vertices = build_vertices() print "filtering..." t0 = time.time() # filter unique vertices using a 'dict' and create indices vert_dict = dict() indices = [] new_index = 0 for vert in src_vertices: index = vert_dict.get(vert, None) if index is None: index = new_index new_index += 1 vert_dict[vert] = index indices.append(index) # create an 'array' of unique vertices out of the dict new_vertices = [None] * len(vert_dict) for vert, index in vert_dict.iteritems(): new_vertices[index] = vert t1 = time.time() print " ", t1-t0, "sec." print "%d vertices => %d vertices, %d indices" % (len(src_vertices), len(new_vertices), len(indices))
Private
[
?
]
Run code
Submit