来劲了,就写了一下:
arrow[origin_, angle_, halflength_: 0.2] :=
With[{vector = {Cos@angle, Sin@angle, 0}},
Arrow@Tube[# + origin & /@ {-halflength vector, halflength vector}]]
plane = ContourPlot3D[z, {x, 0, 4}, {y, 0, 4}, {z, 0, 10}, Contours -> (Range@9),
Mesh -> None, ContourStyle -> Opacity[1/5]]
prim = Flatten@
Table[With[{th = Pi/4 (z - 1)}, {ColorData[3, "ColorList"][[z]], Arrowheads[0.02],
arrow[{x, y, z}, th]}], {x, 3}, {y, 3}, {z, 9}];
Show[Graphics3D@prim, plane]


感觉用上版本10以后的了一堆画几何体的新函数和新语法会更简单……颜色大小啥的我没仔细调,不过大概就是这么个意思吧。