def METHOD_NAME(mesh_points, path_to_fused_ply):
    columns = ["x", "y", "z", "nx", "ny", "nz", "red", "green", "blue"]
    points_data_frame = pd.DataFrame(
        np.zeros((len(mesh_points), len(columns))),
        columns=columns)
    positions = np.asarray([point.position for point in mesh_points])
    normals = np.asarray([point.normal for point in mesh_points])
    colors = np.asarray([point.color for point in mesh_points])
    points_data_frame.loc[:, ["x", "y", "z"]] = positions
    points_data_frame.loc[:, ["nx", "ny", "nz"]] = normals
    points_data_frame.loc[:, ["red", "green", "blue"]] = colors
    points_data_frame = points_data_frame.astype({
        "x": positions.dtype, "y": positions.dtype, "z": positions.dtype,
        "red": colors.dtype, "green": colors.dtype, "blue": colors.dtype,
        "nx": normals.dtype, "ny": normals.dtype, "nz": normals.dtype})
    point_cloud = PyntCloud(points_data_frame)
    point_cloud.to_file(path_to_fused_ply)