Vector approach using standard (advanced license) tools:
arcpy.Buffer_analysis("centres", "../BUFFER.shp", "360")
arcpy.Densify_edit("BUFFER", "DISTANCE", "6.28333333333333 Meters")
arcpy.FeatureVerticesToPoints_management("BUFFER", "../all_points.shp", "ALL")
arcpy.CalculateField_management("all_points", "ORIG_FID", "[FID]")
arcpy.AddGeometryAttributes_management("centres", "POINT_X_Y_Z_M")
arcpy.SpatialJoin_analysis("all_points", "centres", "../manyCenters.shp", "JOIN_ONE_TO_ONE", "KEEP_ALL", match_option="CLOSEST")
arcpy.CalculateField_management(in_table="manyCenters", field="Shape", expression="arcpy.Point( !POINT_X!, !POINT_Y!)", "PYTHON_9.3")
arcpy.Merge_management("manyCenters;all_points", "../merged.shp")
arcpy.PointsToLine_management("merged", "../longLines.shp", "ORIG_FID")
arcpy.Erase_analysis("longLines", "HOUSES", "../erased.shp")
arcpy.MultipartToSinglepart_management("erased", "../s_parts.shp")
arcpy.SelectLayerByLocation_management("s_parts", "INTERSECT", "centres", selection_type="NEW_SELECTION", invert_spatial_relationship="INVERT")
arcpy.DeleteFeatures_management("s_parts")
arcpy.FeatureVerticesToPoints_management("s_parts", "../ends.shp", "END")
arcpy.PointsToLine_management("ends", "../outline.shp")
OUTPUT:
Note: in order to improve results, reduce step in Densify tool.