def getRotationMatrixFromAxis(axis):
  # define world rotation matrix
  axisZ = Vector(axis) # because the default primitive cone is oriented along -Z, unlike the one imported from Blender UI...
  axisX = Orthogonal(axisZ)
  axisY = axisZ.cross(axisX)
  axisX.normalize()
  axisY.normalize()
  axisZ.normalize()
  axisX.resize_4d(); axisX[3] = 0
  axisY.resize_4d(); axisY[3] = 0
  axisZ.resize_4d(); axisZ[3] = 0
  axisW = Vector((0,0,0,1))
  rotmat = Matrix((axisX,axisY,axisZ,axisW))
  rotmat.transpose()
  return(rotmat)