[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [828] branches/ivygen/ivy_functions.py: - kodemax, please check.
Florian Meyer
florianfelix at web.de
Wed Jul 21 08:18:31 CEST 2010
Revision: 828
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-extensions&revision=828
Author: testscreenings
Date: 2010-07-21 08:18:31 +0200 (Wed, 21 Jul 2010)
Log Message:
-----------
- kodemax, please check. i have added many comments and more questions.
- it would also be nice if you could outline the whole function even if it is nonoperational. just to see how this fits into the whole.
Modified Paths:
--------------
branches/ivygen/ivy_functions.py
Modified: branches/ivygen/ivy_functions.py
===================================================================
--- branches/ivygen/ivy_functions.py 2010-07-21 01:22:09 UTC (rev 827)
+++ branches/ivygen/ivy_functions.py 2010-07-21 06:18:31 UTC (rev 828)
@@ -115,21 +115,40 @@
# determines shortest distance to a plane from a point
# still needs surrounding code
- normal = mathutils.Vector((0,0,0))
- plane_eq = mathutils.Vector((0,0,0,0))
+ #
+
+ face_index = 0 # don't need this, i think (or maybe you have a plan)
+ normal = mathutils.Vector((0,0,0)) # same here?
+ plane_eq = mathutils.Vector((0,0,0,0)) # why 4 # and here
+
minimum_dist = targetBoundingSphere[1] * max_adhesion_distance #set a maximum distance to minimum_distance
- for fcs in obj.data.faces:
+ for i, fcs in enumerate(obj.data.faces):
N = fcs.normal #Normal to the face fcs
vert = bpy.context.object.data.verts[fcs.verts[0]]
point = vert.co #any point on the face
- plane_eq = mathutils.Vector((N[0],N[1],N[2],-(N[0]*point[0]+N[1]*point[1]+N[2]*point[2]))) #Equation of the face
- num = plane_eq[0]*old_pos[0]+plane_eq[1]*old_pos[1]+plane_eq[2]*old_pos[2]+plane_eq[3]
+
+ #plane_eq is a Vector with 4 parts?
+ plane_eq = mathutils.Vector((N[0], N[1], N[2], -(N[0]*point[0]+N[1]*point[1]+N[2]*point[2]))) #Equation of the face
+ # part1 part2 part3 part4____________________________________ #the 4 parts
+ # fca.normal.dot(vert.co) #simpler 4th part
+ # i must confess i havn't compared this yet to the page you sent, but i think this doesn't make much sense.
+ # although if it does i am more than happy to be told otherwise :)
+ # what does this vector represent?
+
+ num = plane_eq[0]*old_pos[0]+plane_eq[1]*old_pos[1]+plane_eq[2]*old_pos[2]+plane_eq[3] #this yields a float
+ # num = plane_eq.dot(old_pos.resize4D())
+ # this should yield the same
+ # what does this represent? the distance from old_pos to the plane?
+
den = (pow(plane_eq[0],2))+(pow(plane_eq[1],2))+((plane_eq[2]^2))
+ # what's this ^ symbol for, never seen/used it
+ #what does this represent?
+
den = pow(den,0.5)
dist = num/den #distance of the face from the old_point
- if dist < minimum:
+ if dist < minimum: # variable not defined before. you mean minimum_dist?
minimum = dist
-
+ face_index = i # added this befor, don't know why, sorry for the confusion.
More information about the Bf-extensions-cvs
mailing list