vlt = (0.1, 0.1, 1.0, 0.0) #light direction v pln = (0.0, 0.0, 1.0, 3.0) #canvas place p den = vlt[0]*pln[0]+vlt[1]*pln[1]+vlt[2]*pln[2] #dot(pv) # cnv is (I - (1/d)[v,p]) outer product cnv =( den-vlt[0]*pln[0], -vlt[1]*pln[0], -vlt[2]*pln[0], 0.0, -vlt[0]*pln[1], den-vlt[1]*pln[1], -vlt[2]*pln[1], 0.0, -vlt[0]*pln[2], -vlt[1]*pln[2],den-vlt[2]*pln[2], 0.0, -vlt[0]*pln[3], -vlt[1]*pln[3],den-vlt[2]*pln[3], den)