[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2103] trunk/py/scripts/addons/modules/ curve_utils.py: edit for solving bezier:
Campbell Barton
ideasman42 at gmail.com
Wed Jul 6 19:32:04 CEST 2011
Revision: 2103
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2103
Author: campbellbarton
Date: 2011-07-06 17:32:03 +0000 (Wed, 06 Jul 2011)
Log Message:
-----------
edit for solving bezier:
replace intersection paint with simplified angle comparison.
Modified Paths:
--------------
trunk/py/scripts/addons/modules/curve_utils.py
Modified: trunk/py/scripts/addons/modules/curve_utils.py
===================================================================
--- trunk/py/scripts/addons/modules/curve_utils.py 2011-07-06 17:08:23 UTC (rev 2102)
+++ trunk/py/scripts/addons/modules/curve_utils.py 2011-07-06 17:32:03 UTC (rev 2103)
@@ -474,19 +474,16 @@
from math import pi
# This could be tweaked but seems to work well
- fac_fac = (p1.co - p2.co).length * p1.no.angle(l2_no_ref) / (pi * 1.0)
+ fac_fac = (p1.no.angle(l2_no_ref) / pi)
- fac_1 = intersect_point_line(p2_apex_co,
- p1.co,
- p1.co + l1_tan,
- )[1] * fac_fac
- fac_2 = intersect_point_line(p1_apex_co,
- p2.co,
- p2.co + l2_tan,
- )[1] * fac_fac
+ fac_1 = p1.no.angle(line_ix_p1_co - p1.co) / pi
+ fac_2 = (-p2.no).angle(line_ix_p2_co - p2.co) / pi
- h1_fac = ((p1.co - p1_apex_co).length / 0.75) - fac_1
- h2_fac = ((p2.co - p2_apex_co).length / 0.75) - fac_2
+ # fac_1 = fac_2 = 0.0
+ print(fac_1, fac_2)
+ # why * 3 ? - it just gives best results
+ h1_fac = ((p1.co - p1_apex_co).length / 0.75) * (1.0 + fac_1 * fac_fac * 3.0)
+ h2_fac = ((p2.co - p2_apex_co).length / 0.75) * (1.0 + fac_2 * fac_fac * 3.0)
h1 = p1.co + (p1.no * h1_fac)
h2 = p2.co - (p2.no * h2_fac)
@@ -765,11 +762,12 @@
recursive=True,
)
- '''
+
+ error = 0.0
for s in curve.splines:
- s.bezier_solve()
- print(s.bezier_error())
- '''
+ error += s.bezier_error()
+ print("%d :: %.6f" % (len(curve.splines), error))
+
# VISUALIZE
# curve.to_blend_data()
curve.to_blend_curve()
More information about the Bf-extensions-cvs
mailing list