# but minimum is 10% of (wlog) {s,t} [[ not quite like this ]]
dPQplane_normal = np.cross(dp, dq)
- if (np.linalg.norm(dPQplane_normal) < 1E6):
+
+ if np.linalg.norm(dPQplane_normal) < 1E-6:
dbg('dPQplane_normal small')
- dPQplane_normal += [0, 0, 1E5]
+ dPQplane_normal = np.cross([1,0,0], dp)
+ if np.linalg.norm(dPQplane_normal) < 1E-6:
+ dbg('dPQplane_normal small again')
+ dPQplane_normal = np.cross([0,1,0], dp)
+
dPQplane_normal = unit_v(dPQplane_normal)
dPQplane_basis = np.column_stack((np.cross(dp, dPQplane_normal),