[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