重构技巧–嵌套表示复杂过程
场景
在进行矩阵运算的时候,往往要经历转换-计算-转换
的过程, 如果一行一行的写, 一方面写的不够直观, 另一方面给中间变量命名着实头疼。可以参考js嵌套的思想,避免中间变量命名同时通过排版直观的表达。
举个例子
import numpy as np
def rotate(intput,R):
## 将input[n*3]变为齐次后与R相乘,再转为非齐次
return np.transpose(
np.vsplit(
np.matmul(
np.transpose(
np.concatenate(
np.array(input),
np.ones(
(len(input),1)
),
axis = 1
)
),
R
),
[3]
)[0]
)