[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [849] branches/ivygen/ivy_test.py: - generation of sampling points for quads works now
Florian Meyer
florianfelix at web.de
Mon Jul 26 21:45:52 CEST 2010
Revision: 849
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-extensions&revision=849
Author: testscreenings
Date: 2010-07-26 21:45:52 +0200 (Mon, 26 Jul 2010)
Log Message:
-----------
- generation of sampling points for quads works now
- need to fix for tris
- still doesn't do anything
Modified Paths:
--------------
branches/ivygen/ivy_test.py
Modified: branches/ivygen/ivy_test.py
===================================================================
--- branches/ivygen/ivy_test.py 2010-07-26 18:15:14 UTC (rev 848)
+++ branches/ivygen/ivy_test.py 2010-07-26 19:45:52 UTC (rev 849)
@@ -381,47 +381,85 @@
# get the two triangles with the smallest angle
angle0 = (V0).angle(-V1)
- print('vert 0',angle0)
+ #print('vert 0',angle0)
angle1 = (V1).angle(-V2)
- print('vert 1',angle1)
+ #print('vert 1',angle1)
angle2 = (V2).angle(-V3)
- print('vert 2',angle2)
+ #print('vert 2',angle2)
angle3 = (V3).angle(-V0)
- print('vert 3',angle3)
+ #print('vert 3',angle3)
angle = angle0
- tri_1 = [V0, -V1]
- tri_2 = [V2, -V3]
+ tri_1 = [[V0, -V1],[mesh.verts[face.verts[0]].co,
+ mesh.verts[face.verts[1]].co,
+ mesh.verts[face.verts[2]].co]]
+ tri_2 = [[V2, -V3],[mesh.verts[face.verts[2]].co,
+ mesh.verts[face.verts[3]].co,
+ mesh.verts[face.verts[0]].co]]
if angle1 < angle:
angle = angle1
- tri_1 = [V1, -V2]
- tri_2 = [V3, -V0]
+ tri_1 = [[V1, -V2],[mesh.verts[face.verts[1]].co,
+ mesh.verts[face.verts[2]].co,
+ mesh.verts[face.verts[3]].co]]
+ tri_2 = [[V3, -V0],[mesh.verts[face.verts[3]].co,
+ mesh.verts[face.verts[0]].co,
+ mesh.verts[face.verts[1]].co]]
if angle2 < angle:
angle = angle2
- tri_1 = [V2, -V3]
- tri_2 = [V0, -V1]
+ tri_1 = [[V2, -V3],[mesh.verts[face.verts[2]].co,
+ mesh.verts[face.verts[3]].co,
+ mesh.verts[face.verts[0]].co]]
+ tri_2 = [[V0, -V1],[mesh.verts[face.verts[0]].co,
+ mesh.verts[face.verts[1]].co,
+ mesh.verts[face.verts[2]].co]]
if angle3 < angle:
angle = angle3
- tri_1 = [V3, -V0]
- tri_2 = [V1, -V2]
+ tri_1 = [[V3, -V0],[mesh.verts[face.verts[3]].co,
+ mesh.verts[face.verts[0]].co,
+ mesh.verts[face.verts[1]].co]]
+ tri_2 = [[V1, -V2],[mesh.verts[face.verts[1]].co,
+ mesh.verts[face.verts[2]].co,
+ mesh.verts[face.verts[3]].co]]
- print('smallest',angle)
+ #print('smallest',angle)
-
+ samplePoints += samplesOnTry(tri_1[0][0], tri_1[0][1], tri_1[1])
+ samplePoints += samplesOnTry(tri_2[0][0], tri_2[0][1], tri_2[1])
+ return samplePoints
+def samplesOnTry(vecA, vecB, verts):
+ samples = []
+ base = verts[1]
+ print('base', base)
+ rows = 3
- return samplePoints
+ b = 0.0
+ for row in range(rows+1):
+ b += 1 / (rows +1)
+ a = 0.0
+ samp = row
+ #print(verts[0])
+ for s in range(samp):
+ a += 1 / (samp + 1)
+ sample = (base + (vecA.lerp(vecB, a) * b))
+ print(sample)
+ samples.append(sample)
+ #print(verts[2], '\n')
+ print('\n samples', len(samples))
+ return samples
+
+
def adhesion3(NodePoint, mesh):
#get the closest faces
#1. naive search
More information about the Bf-extensions-cvs
mailing list