def METHOD_NAME(telescope_coord, camera_frame):
    """
    Transformation between TelescopeFrame and CameraFrame
    Is called when a SkyCoord is transformed from TelescopeFrame into CameraFrame
    """
    x_pos = telescope_coord.fov_lat
    y_pos = telescope_coord.fov_lon
    # reverse the rotation applied to get to this system
    rot = -camera_frame.rotation
    if rot.value == 0.0:  # if no rotation applied save a few cycles
        x_rotated = x_pos
        y_rotated = y_pos
    else:  # or else rotate all positions around the camera centre
        cosrot = np.cos(rot)
        sinrot = np.sin(rot)
        x_rotated = x_pos * cosrot - y_pos * sinrot
        y_rotated = x_pos * sinrot + y_pos * cosrot
    focal_length = camera_frame.focal_length
    if focal_length.shape == () and focal_length.value == 0:
        raise ValueError("CameraFrame is missing focal_length information")
    # this assumes an equidistant mapping function of the telescope optics
    # or a small angle approximation of most other mapping functions
    # this could be replaced by actually defining the mapping function
    # as an Attribute of `CameraFrame` that maps f(theta, focal_length) -> r,
    # where theta is the angle to the optical axis and r is the distance
    # to the camera center in the focal plane
    x_rotated = x_rotated.to_value(u.rad) * focal_length
    y_rotated = y_rotated.to_value(u.rad) * focal_length
    representation = CartesianRepresentation(x_rotated, y_rotated, 0 * u.m)
    return camera_frame.realize_frame(representation)