def camera_translate(scale, axis, sign, camera): placement = camera["placement"] position = placement["position"] orientation = placement["orientation"] axis = orientation_direction(orientation, axis, sign) placement["position"] = translate(position, axis, scale) return
def camera_rotate(scale, axis, sign, camera): orientation = camera["placement"]["orientation"] front = orientation["front"] up = orientation_up(orientation) up = vector_unit(up) rotate_axis = orientation_direction(orientation, axis, sign) front = rotate(front, scale, rotate_axis) orientation["front"] = vector_unit(front) if (axis == 2.0): orientation["right"] = cross_product(orientation["front"], up) return