<p>这是我的代码,它很管用,对于以后的情况如果人们需要它请放心,希望它能有所帮助</p>
<blockquote>
<pre><code>MTri=0 #num of triangles
numI=len(myVVV)#to check in range of i
numJ=len(myVVV[0])# to check in range of j
idsT=0 #for triangles
for i in xrange(len(myVVV)):
#print(myVVV[i])
for j in xrange(len(myVVV[i])):
if myVVV[i][j] != -1:
# line below check that if point has neighboring
#points open to make a sqaure makeing it counter clockwise
#-> right, ^ up, <- left, v down (first case)
if i-1 >= 0 and j+1 < numJ and myVVV[i][j+1] !=-1 and myVVV[i-1][j+1] !=-1 and myVVV[i-1][j] != -1:
MTri= MTri +2#plus 2 since 2 traingles are made from a square
A=myVVV[i][j]
B=myVVV[i][j+1]
C=myVVV[i-1][j]
D=myVVV[i-1][j+1]
idsT=idsT+1
#A,B,D create -> right ,^ up, back _|
#A,D,C create corner , <- left, back |/
print("create Triangle from points" + ' '+str(A)+' '+ str(B)+' '+ str(D))
openwrite.write(str(idsT)+' '+str(A)+ ' '+str(B)+' '+str(D)+'\n')
idsT=idsT+1
openwrite.write(str(idsT)+' '+str(A)+ ' '+str(D)+' '+str(C)+'\n')
print("create Triangle from points" + ' '+str(A)+' '+ str(D)+' '+ str(C))
</code></pre>
</blockquote>
<pre><code> elif i-1 >= 0 and j+1 < numJ and myVVV[i][j+1] != -1 and myVVV[i-1][j+1] != -1:
MTri= MTri+1#plus 1
A=myVVV[i][j]
B=myVVV[i][j+1]# same index ,j shift -> one to the right
C=myVVV[i-1][j+1] # index above, j shifted -> one to the right
#A,B,C creates ->right,^ up, back _|
idsT=idsT+1
openwrite.write(str(idsT)+' '+str(A)+ ' '+str(B)+' '+str(C)+'\n')
print("create Triangle from points" + ' '+str(A)+' '+ str(B)+' '+ str(C))
elif i-1 >= 0 and j+1 < numJ and myVVV[i][j+1] != -1 and myVVV[i-1][j] != -1:
MTri= MTri+1#plus 1
A=myVVV[i][j]
B=myVVV[i][j+1] #same index ,j shift -> one to the right
C=myVVV[i-1][j] #index above, same j position
#A,B,C creates ->right,corner, back |_
idsT=idsT+1
openwrite.write(str(idsT)+' '+str(A)+ ' '+str(B)+' '+str(C)+'\n')
print("create Triangle from points" + ' '+str(A)+' '+ str(B)+' '+ str(C))
elif i-1 >= 0 and j+1 < numJ and myVVV[i-1][j+1] != -1 and myVVV[i-1][j] != -1:
MTri= MTri+1#plus 1
A=myVVV[i][j]
B=myVVV[i-1][j+1] # index above, j shifted -> one to the right
C=myVVV[i-1][j] #index above, same j position
#A,B,C creates corner right, left back |/
idsT=idsT+1
openwrite.write(str(idsT)+' '+str(A)+ ' '+str(B)+' '+str(C)+'\n')
print("create Triangle from points" + ' '+str(A)+' '+ str(B)+' '+ str(C))
</code></pre>