dPQplane_basis = np.vstack((dPQplane_basis, [0,0,0,1]))
dbg(dPQplane_basis)
- for ax in range(0,3):
- vdbg().arrow(dPQplane_basis[0:3,3], dPQplane_basis[0:3,ax],
- colour= [ c * (1.0 - ax*0.2) for c in (1,1,1) ])
+ vdbg().basis(dPQplane_basis)
dPQplane_into = np.linalg.inv(dPQplane_basis)
dbg(dPQplane_into)
vdbg_plane = MatrixVisdebug(vdbg(), dPQplane_basis)
- dbg('plane:', p_plane_check, dp_plane, dq_plane, q_plane)
+ dbg('plane p', p_plane_check, 'dp', dp_plane, 'dq', dq_plane, 'q', q_plane)
vdbg_plane.arrow(p_plane_check, dp_plane)
vdbg_plane.arrow(q_plane, dq_plane)
vd.curve(lambda t: p0 + t * (p1-p0), **kw)
def arrow(vd, p, d, **kw):
vd.line(p, p+d, **kw)
+ def basis(vd, basis, hue=(1,1,1)):
+ for ax in range(0,3):
+ vd.arrow(basis[0:3,3], basis[0:3,ax],
+ colour= [ c * (1.0 - ax*0.2) for c in hue ])
class NullVisdebug():
def curve(*a, **kw): pass
def line(*a, **kw): pass
def arrow(*a, **kw): pass
+ def basis(*a, **kw): pass
def crashing(*a, **kw): pass
class MatrixVisdebug(BaseVisdebug):
m._matrix = matrix
def curve(m, fn, **kw):
m._b.curve(lambda t: moenp.augmatmultiply(m._matrix, fn(t)), **kw)
+ def arrow(m, p, d, **kw):
+ m._b.arrow(moenp.augmatmultiply(m._matrix, p),
+ moenp.augmatmultiply(m._matrix, d, 0),
+ **kw)
def crashing(m, *a, **kw): m._b.crashing(*a, **kw)
_nullvis = NullVisdebug()