Error detection in bresenham circle

This commit is contained in:
2024-06-19 13:42:26 +02:00
parent 07c36d2bf7
commit f301f46f91
24 changed files with 156 additions and 57 deletions

109
main.py
View File

@@ -7,66 +7,83 @@ from world_maker.data_analysis import transpose_form_heightmap
from world_maker.Skeleton import Skeleton, simplify_coordinates
from world_maker.terraforming import remove_trees, smooth_terrain
from networks.geometry.Point3D import Point3D
from networks.geometry.Point2D import Point2D
from networks.roads_2.Road import Road
from networks.legacy_roads import roads
from world_maker.District import Road as Road_grid
from networks.geometry.Circle import Circle
from House import *
from gdpc import Editor, Block
def main():
rectangle_house_mountain, rectangle_building, skeleton_highway, skeleton_mountain, road_grid = world_maker()
editor = Editor(buffering=True)
buildArea = editor.getBuildArea()
origin = ((buildArea.begin).x, (buildArea.begin).z)
c = Circle(Point2D(400, -75)).circle_thick_by_line(5, 32)
for i in range(len(c[0])):
for j in range(len(c[0][i])):
if i % 2 == 0:
editor.placeBlock(
(c[0][i][j].x, 110, c[0][i][j].y), Block("white_concrete"))
else:
editor.placeBlock(
(c[0][i][j].x, 110, c[0][i][j].y), Block("black_concrete"))
print(c[1])
for i in range(len(c[1])):
for j in range(len(c[1][i])):
editor.placeBlock(
(c[1][i][j].x, 110, c[1][i][j].y), Block("red_concrete"))
# rectangle_house_mountain, rectangle_building, skeleton_highway, skeleton_mountain, road_grid = world_maker()
remove_trees('./world_maker/data/heightmap.png', './world_maker/data/treemap.png',
'./world_maker/data/smooth_sobel_watermap.png')
smooth_terrain('./world_maker/data/heightmap.png',
'./world_maker/data/heightmap_smooth.png', './world_maker/data/smooth_sobel_watermap.png')
# editor = Editor(buffering=True)
# buildArea = editor.getBuildArea()
# origin = ((buildArea.begin).x, (buildArea.begin).z)
# set_roads(skeleton_mountain, origin)
# set_roads(skeleton_highway, origin)
# set_roads_grids(road_grid, origin)
# roads.setRoads(skeleton_mountain)
# roads.setRoads(skeleton_highway)
# remove_trees('./world_maker/data/heightmap.png', './world_maker/data/treemap.png',
# './world_maker/data/smooth_sobel_watermap.png')
# smooth_terrain('./world_maker/data/heightmap.png',
# './world_maker/data/heightmap_smooth.png', './world_maker/data/smooth_sobel_watermap.png')
blocks = {
"wall": "blackstone",
"roof": "blackstone",
"roof_slab": "blackstone_slab",
"door": "oak_door",
"window": "glass_pane",
"entrance": "oak_door",
"stairs": "quartz_stairs",
"stairs_slab": "quartz_slab",
"celling": "quartz_block",
"floor": "quartz_block",
"celling_slab": "quartz_slab",
"garden_outline": "oak_leaves",
"garden_floor": "grass_block"
}
# # set_roads(skeleton_mountain, origin)
# # set_roads(skeleton_highway, origin)
# # set_roads_grids(road_grid, origin)
# # roads.setRoads(skeleton_mountain)
# # roads.setRoads(skeleton_highway)
entranceDirection = ["N", "S", "E", "W"]
# blocks = {
# "wall": "blackstone",
# "roof": "blackstone",
# "roof_slab": "blackstone_slab",
# "door": "oak_door",
# "window": "glass_pane",
# "entrance": "oak_door",
# "stairs": "quartz_stairs",
# "stairs_slab": "quartz_slab",
# "celling": "quartz_block",
# "floor": "quartz_block",
# "celling_slab": "quartz_slab",
# "garden_outline": "oak_leaves",
# "garden_floor": "grass_block"
# }
for houses in rectangle_building:
start = (houses[0][0]+buildArea.begin[0], houses[0]
[1], houses[0][2]+buildArea.begin[2])
end = (houses[1][0]+buildArea.begin[0], houses[1]
[1], houses[1][2]+buildArea.begin[2])
house = House(editor, start, end,
entranceDirection[random.randint(0, 3)], blocks)
house.build()
# entranceDirection = ["N", "S", "E", "W"]
for houses in rectangle_house_mountain:
start = (houses[0][0]+buildArea.begin[0], houses[0]
[1], houses[0][2]+buildArea.begin[2])
end = (houses[1][0]+buildArea.begin[0], houses[1]
[1], houses[1][2]+buildArea.begin[2])
house = House(editor, start, end,
entranceDirection[random.randint(0, 3)], blocks)
house.build()
# for houses in rectangle_building:
# start = (houses[0][0]+buildArea.begin[0], houses[0]
# [1], houses[0][2]+buildArea.begin[2])
# end = (houses[1][0]+buildArea.begin[0], houses[1]
# [1], houses[1][2]+buildArea.begin[2])
# house = House(editor, start, end,
# entranceDirection[random.randint(0, 3)], blocks)
# house.build()
# for houses in rectangle_house_mountain:
# start = (houses[0][0]+buildArea.begin[0], houses[0]
# [1], houses[0][2]+buildArea.begin[2])
# end = (houses[1][0]+buildArea.begin[0], houses[1]
# [1], houses[1][2]+buildArea.begin[2])
# house = House(editor, start, end,
# entranceDirection[random.randint(0, 3)], blocks)
# house.build()
def set_roads_grids(road_grid: Road_grid, origin):