From fb00b927cb12d7b880e0c1aee35b45d3af140b64 Mon Sep 17 00:00:00 2001 From: NichiHachi Date: Sat, 15 Jun 2024 21:40:19 +0200 Subject: [PATCH] Change root file path and added rectangle 2D to 3D --- world_maker/City.py | 60 ++++++++++++++------ world_maker/Skeleton.py | 6 +- world_maker/data/building.png | Bin 759 -> 969 bytes world_maker/data/district.png | Bin 4243 -> 6582 bytes world_maker/data/mountain_map.png | Bin 1738 -> 1354 bytes world_maker/data/roadmap.png | Bin 1786 -> 2143 bytes world_maker/data/roadmap2.png | Bin 5180 -> 0 bytes world_maker/data/skeleton_highway.png | Bin 36289 -> 35726 bytes world_maker/data/skeleton_mountain.png | Bin 37206 -> 35372 bytes world_maker/data/skeleton_mountain_area.png | Bin 2072 -> 1313 bytes world_maker/data_analysis.py | 48 +++++++++++----- world_maker/pack_rectangle.py | 24 ++++---- world_maker/world_maker.py | 28 +++++---- 13 files changed, 105 insertions(+), 61 deletions(-) delete mode 100644 world_maker/data/roadmap2.png diff --git a/world_maker/City.py b/world_maker/City.py index c15df54..6993016 100644 --- a/world_maker/City.py +++ b/world_maker/City.py @@ -1,8 +1,8 @@ from District import District, Road from Position import Position from PIL import Image -import random -from data_analysis import handle_import_image +from random import randint +from data_analysis import handle_import_image, detect_mountain from typing import Union import numpy as np @@ -28,8 +28,8 @@ class City: """ Initialize the maps of the city. It reads the heightmap and watermap images and converts them into 2D lists. """ - heightmap = Image.open('./data/heightmap.png').convert('L') - watermap = Image.open('./data/watermap.png').convert('L') + heightmap = Image.open('./world_maker/data/heightmap.png').convert('L') + watermap = Image.open('./world_maker/data/watermap.png').convert('L') width, height = heightmap.size self.map_data = [[-1 if watermap.getpixel((x, y)) > 0 else 0 for x in range(width)] for y in range(height)] self.height_map = [[heightmap.getpixel((x, y)) for x in range(width)] for y in range(height)] @@ -105,7 +105,7 @@ class City: """ width, height = len(self.map_data[0]), len(self.map_data) img = Image.new('RGB', (width, height)) - colors = {id_district: (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)) + colors = {id_district: (randint(0, 255), randint(0, 255), randint(0, 255)) for id_district in range(1, len(self.districts) + 1)} for y in range(height): @@ -115,19 +115,18 @@ class City: else: img.putpixel((x, y), colors[self.map_data[y][x]]) - img.save('./data/district.png') + img.save('./world_maker/data/district.png') print("[City] District map created.") - def draw_roads(self, image: Union[str, Image], size: int = 1) -> Image: + def draw_roads(self, size_road: int = 1) -> Image: """ Draw the roads of the city on the image. :param size: - :param image: The image to draw the roads on. """ - image = handle_import_image(image) + image = Image.new('RGB', Image.open('./world_maker/data/heightmap.png').size) for district in self.districts: - district.draw_roads(image, size) + district.draw_roads(image, size_road) return image def district_generate_road(self) -> list[Road]: @@ -138,8 +137,9 @@ class City: """ roads = [] for district in self.districts: - district.generate_roads(self.map_data) - roads.extend(district.roads) + if district.type != "mountain": + district.generate_roads(self.map_data) + roads.extend(district.roads) return roads def point_in_which_district(self, point: Union[Position, tuple[int, int]]) -> int: @@ -164,16 +164,44 @@ class City: array = np.array([[True if self.map_data[y][x] in district_id else False for x in range(len(self.map_data[0]))] for y in range(len(self.map_data))]) image = Image.fromarray(array) - image.save('./data/mountain_map.png') + image.save('./world_maker/data/mountain_map.png') return image + def generate_district(self): + image = handle_import_image('./world_maker/data/smooth_sobel_watermap.png').convert('L') + array = np.array(image) + mountain_coo = detect_mountain() + self.add_district(Position(mountain_coo[0], mountain_coo[1]), "mountain") + print("[City] District added.") + remove_circle_data(array, mountain_coo) + area = get_area_array(array) + sizeX, sizeY = len(array[0]), len(array) + while area > sizeX * sizeY * 0.1: + x, y = randint(0, sizeX - 1), randint(0, sizeY - 1) + if array[y][x]: + self.add_district(Position(x, y)) + remove_circle_data(array, (x, y)) + area = get_area_array(array) + print("[City] District added.") + + +def remove_circle_data(array, center, radius=100): + y_indices, x_indices = np.indices(array.shape) + dist_sq = (y_indices - center[1]) ** 2 + (x_indices - center[0]) ** 2 + mask = dist_sq <= radius ** 2 + array[mask] = False + + +def get_area_array(array) -> int: + return np.sum(array) + if __name__ == '__main__': city = City() for i in range(10): - city.add_district(Position(random.randint(0, 400), random.randint(0, 400))) + city.add_district(Position(randint(0, 400), randint(0, 400))) city.loop_expend_district() city.district_draw_map() city.district_generate_road() - image = city.draw_roads(Image.new('RGB', (401, 401)),4) - image.save('./data/roadmap.png') + image = city.draw_roads(Image.new('RGB', (401, 401)), 4) + image.save('./world_maker/data/roadmap.png') diff --git a/world_maker/Skeleton.py b/world_maker/Skeleton.py index 069a04e..63a92f9 100644 --- a/world_maker/Skeleton.py +++ b/world_maker/Skeleton.py @@ -158,7 +158,7 @@ class Skeleton: # xzDistance = (max(buildRect.end[0], buildRect.begin[0]) - min(buildRect.end[0], buildRect.begin[0]), # max(buildRect.end[1], buildRect.begin[1]) - min(buildRect.end[1], buildRect.begin[1])) - heightmap = Image.open("data/heightmap.png").convert('RGB') + heightmap = Image.open("./world_maker/data/heightmap.png").convert('RGB') # roadsArea = Image.new("L", xzDistance, 0) # width, height = heightmap.size @@ -216,7 +216,7 @@ class Skeleton: def road_area(self, name: str, radius: int = 10) -> Image: print("[Skeleton] Start mapping the road area...") - heightmap = Image.open("data/heightmap.png") + heightmap = Image.open("./world_maker/data/heightmap.png") width, height = heightmap.size road_area_map = Image.new("L", (width, height), 0) road_area_map_draw = ImageDraw.Draw(road_area_map) @@ -236,7 +236,7 @@ class Skeleton: circle_coords = (z - radius, x - radius, z + radius, x + radius) road_area_map_draw.ellipse(circle_coords, fill=255) - road_area_map.save("data/"+name) + road_area_map.save("./world_maker/data/"+name) print("[Skeleton] Road area mapping completed.") return road_area_map diff --git a/world_maker/data/building.png b/world_maker/data/building.png index 9b087512976db352318d5d11490d6ed31007d576..dcbcdab22e55b910ce0d5f522d1cb7700b6a9a1b 100644 GIT binary patch literal 969 zcmeAS@N?(olHy`uVBq!ia0y~yV4MiT985qFZD&a!$vnZ+#WAE}&fB|&dCd+Y4hPpf zWiA%Udm}PYNWGOe?8L95#O&r?9R^zs)vCKhU@gNov!-cn5x6x%T#c^@*6{L zv{rqyIK!LLS+)!Z_-3(A$q)-z6zR~J#;A&g^C@@l!l(HMCV!sG3Nw@8z>fOUi_7ME zJ{GS@;QoJ*8Jj*VCc^a>JlJWyVWRS^8|Ugj;IbEsek|6&jUDdF*$b1g`L5S{^ljr|#eshY& z#`u0DlKJE@k4tQ3|G|Il^ses{Q+4*+v+rrR{DzUC?1Ih$m(2}AXPLZAxHT@~=OA1B zK%&03?+dfLUVQN%qdgX{c^io{1BX?}Mh`fn!#1`P=D4t*)dRryI9?oHy00Dp-~*ZklsFs0a}Ijf zWY3eH0wNv6eM30S|9@Axt~iN33nv7%A3TV1(U%6Dw8?^Fq04hC>JGT^#H(I_Q!tY@ojA9%(2>i^#A}L p(37zOB9q|)g_H0CH5h<7egTjh5`K)q$43AF002ovPDHLkV1l)RYb5{x diff --git a/world_maker/data/district.png b/world_maker/data/district.png index 34736077fd1d48025c3074a6dfcc49da69c1bee8..f6df0f70d7084dac20f7c98128972373dbc85645 100644 GIT binary patch literal 6582 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 Q{IBkbw&7!vrXBWw0A4Xl6aWAK diff --git a/world_maker/data/mountain_map.png b/world_maker/data/mountain_map.png index 4f3161619c56c79295d27f087328735005acf475..47746e8ce797e1cfdb84a7ee73115750355e03e1 100644 GIT binary patch delta 1347 zcmV-J1-$yo4ay3T7=Hl(0001tTC@5900j|AL_t(|ob8%Ba^yA;hJSKYGYYm=3^&sp zL7_9vO{`XH18O}p?SL;l8bAY8Qn1EfB@GGU zV>i+02FV$qsHmu@sHmu@sHmu@sHmu@sHmvuf1!Jzy66pcoPRlVcw6C+#9)sG?c=(C zC1BoRkK?nTlxK$*ilPM6(KgKdF#9kSIjqVTw~022GcM- zW6T5778!$e2tdo}Ba9ZwwQJb7jlR>#m^b>)UdA+RYnXXpPavP8Yj_iw?Yt2lYcluh zWIL!@NhdO;1b@Em26KOMF2y%YbtH*F1|u0aE=gldW9?4^7OK66d#mAF$iR5kCo4Sk z6!mTU)^7O{W!^b0f3^|V4z_1RH(kVzJpcgVhp?HWYvy!&iP&MZuacP)(55oOVO+g^ z%&v9Ylvd+d#vKCciTYIE`f1jtFkR$0=UX*Zkpw$Sv42ZoF7=eTDc3XSr;mB>Hf`o= z_u{o`a_<%FK1NuNj)TP-`8NMxU$(eNxH<@_><*LD`eUhDZ zA$i$(FxU+{YIoEgiH32Ht5iFpu~^CNJZAXTTmxf)6EpOC0|1}bmL1WrquT>N+30k0 zJI^=CbAJ{9VDnW0sWDxZ$}}tUo~>w%RFa)f0LGgJhv@-oIp%KJa+trC+d;2J=D41D zH*9_uF@~=Gev~k)88kqz674(yos%k-Bf##TMsKNxYUB1hX_Kr5uCI+7^DS`$r_ak8 zz;HmqV$`;dDO+)PNfr*dOmVXULS3J{e<=kgyZ#5m5T4wlFLw^ec zjJ5n^cRkyjsSB8yy_}>P|Ey>{HE`PSywf1pjslnfwc1AQJkdP@p#U9#+OgCEp#XvL z?YuguX`P~bz*#uP-t1~JAFu6)w$A{V0EK*`1As{BsjX=}JxT>LsJ5otAJbww;Q&1gP=URMindS=uOb69@4tbg0A0scL{L7G+8T`wTmpS>9 z$UD}Xf9s0LqVrY2&KrLcd6_R@ljsy;2!Gxx=fB@+y#eww9h*c$kmS#?`F9ed;rJNviZJJWI%8i@wfqanzMx8A$DRnCfEnKgnu?CwT?WIXLw}TE z(jm$uea|?_yjcp~3$8jkOnkm|PD`BWGZ>Y@7y%Mqk2_Rx#tl$no(?j`c$=Vvb~t<7M%45rUuR0d-ONPomwrANeA(@exz0g}y~HiPLhn11?9`HoU$*f9en zW0nB5a>fjhj4=Zw%88&^0@F{Q`vgYmJ3?j-P?NyS0a6Lf9H2gdnFG|xx{o?8 zZ))WAdNlA$64PtjQbuJkdIm`uy~Ih@A7EaC(tfj`XOMVpY%`cn+R@Y|=RBT%`Z3E3 zJOh5;%xnF=Du+3}lAWTWqN1XrqN1XrqN1XrqN49W{{iFYlu#81Jc9rL002ovPDHLk FV1fm6i6;O6 literal 1738 zcma)-X;jjQ0>$msXw6VMIPOj*ptw=5g;7i5sfegy#kdS2W|PYZ2Bo+S=fi^be`)`v ziHXVnU>t^EVzLYP?7e>lCV3$v#U>`EKrqHHJnP=_^khbZ$lmn)$WreokF+DIeJ9Of zD~a!mTZ*1|ht}rq`o{&Q&#k|s#|oXS@3DAsFzh~S|DFlt>>;+ ze~2R44cP0$)Z1&KZB~4Ct@yBt0bk?LYNR#?C#HOXd0;4$bn%0;A>oC7r4*l|w4T0tV^6})gdZP2% z9OKp0@?;O$=o|?(rxwT86W=rUuYz^j;-PPz4@QPV8``&ygvJl0GmB%Fcnyl~U&kDG z4v03Wo&XD<2U4cB$a1JDPs?2t1Eld9ag>;+H&Pfo(-d_Z4|_(@+QDikF98!J*L^w` z%jwfvZkv4%Cg+|*&Wn74dww(woZXt?+H93t2g<#JSqQ8vBZ&zxFi~YOIOUtg?qGB# zY^jebnafSTy4tYUfv+nqA0xUN*VSamv~IDs@;tXyI7;OxNd4`qh|W|TMIDgc;@1Le znTy()s%2)?Kw{GB?2fJL~Hx<-7X<==?sR?4CjUs6-%^ z8YZ~>P68)!V)*=ZuC&&*jDyMXWY*(dtk~Bl6f|@)w++nRs5+2<-eIbKX!VA>Zx_hl zZN5o85e!?C1RcxQ#SJdborq|Zy%U9Yrw=NUi3`{`hOQ&+ML9INdut}zNwc|9gPU@{ ztGiLapYtC4{_035$E zLv3@2??!{i{qj4#8|U znCQkpUkw@u8=z=A=OPTGudeBInY0Q0VYsxuq)hrG1vXtsUA>hLJKmgH5kR?bEONrd zkF#p>s;l-W=Ot{A?>Jlx44efdc(tsX4snC#VQlu0T%Oph7`eEKPPtZKB%zhofye)_ zSU(I5Ec=Pib+W{#e>Wd)fs=Y0a}}6+5=vN?*M^wvRU{EcutHUd5Dz<^<<4CZx%2~^ zezf+|Go((BSig4B8WD^Lhn`Eza}JA5=FODDk`E@#?U<3L2hgIF=+RJWiNc7 zPuJ!MJ^Q=iiKjomRxDp##85_C3uv}gXYwUU{B+y-tfiVVTfQJ6mabeNQ(>F7eQ$CY zvI^ESp9Qid8?Swy<_DTav@)bOcl@?3%YhY&(Da{?sAqHSg$C68#)RHGov+FhbR^ z(T50++FpJEPsp|ND#gLPTnI5IcukTSZ4l&rD?2SOTwPE;hQl)d)p`(@eX|D>Np%JM zmlFAsw*stSgNU{N6gc$OU}=c;xQO~|*L2!j(HUPSikX$Kfk+mBIdWoR2d8#_c0unS z4epXA9VRz9gY8CVq+)$~sQSl+5+nED8j(|$WSsuim%A4JcnOJp%>;P@mpH>5j!R?| zE`ACb0Ri?+cFus&0&6zV@1{u%dv!MXN;3Q5|I$N8<`9!^2Ojl-oE)K*DTHlcEU|BH lg>x~GzWeXI#Q$fM3!k36M9>O$?fK_tAUH4#)9xR4^H1nTKxqH~ diff --git a/world_maker/data/roadmap.png b/world_maker/data/roadmap.png index fb9e0bedbf91ddd2919f875efd56cb9c68cc6ce9..4375229e6181fa8e2809ebe85968788e4892b48d 100644 GIT binary patch literal 2143 zcma)72~bjb7zfL>sc=ja6R+IOayFG#Q^YkfwLD5|+H%DUHP6~aB0=-EtaWlF&C&#q z%`LaBkqR~QLbNtlVjp5LIJvWL=DnH!`+wj6eZS-TUg~i-N62Q_ zW)KJjadvVz0Rn+DB=;r-;LTopP2jm{x3j~+lTnoMK1L?_@OImm*I$XnQ-K5jJl63t z%Pb_<4pM@kiKbH>8_N6^xTo~=^b(c?J>_{7j3q7PVx((#Us99x=V4NhkV1cVx#np6 zg8EX-EEr@xK%nyAUieE3i1R{T?xQLt#Gn~P1rI%b2W{J8A<9zn_+?l%3Ax4arBR^+ zEm5^i!Nr&UDOhJwKe+bH`==9%UH#znVjy;WY=d9ERPOB>WTI{5KP-S8D;Ik1 z@c1JbvaRN|MYd`j;*9&L3pmKw&_!u!_y(d{jnm`T=9n4tuud%)?*7@)VcKcLGCkh4 zVnUFAki^y;Uf`q?^8{>Xrork zu*K3QP86Rt>Qk3Y(NZwzwA$+5opewZ447KA_B(+U!uvYVAV@sR)DX-z4FMYr@X!mI zpLaF^K&x#+G*2XoZBR;Dhre!<;D- z9_{anyg1O}F2f1qbu{rPnAylH?!N$N68MG^v!`V_LRgZ!TiM4MYs7-ZIo_HH_Vq`s`FJbM4ORnBY3WOX2K{ zWxKg%>ShrE!F@#S%(yKv z>sLZrI;afP3&oR`>q*9=B}OiZ&f?c+wj#A}>s)@lf_`!D^sC$xg|6Q~{*dk2TodH2 zRB{a&p`n&ec+MZuo@I)WH^eG8&;^R6VbUopr%uQdlc599H+9FQ17dZy;vl*^Mkkai zB>ZAZFs;eQjAJ5Fnvxy!Y0V9_1WA7Z;3~dLFsA40SoYj$227Mg3+*m%^Q%Z#!`e~N zb+$k69npl^l99YhWiiM)kcP1gY|U494_W!!L{t;=aPEcZ>Sojtw?EPCv-MXU=T&of zU&jvM!awi5*1#ueAiKnw|p6>Lm3zhvOaB!GM2DO_16Hsx_ zvH+40&YLO#dB05(X9<%5d7}eN&nH7L`$F3Mfx6@j^6=8t)7lG)^X=4+bJ*B-KPIDy gfoo&r5~PbER3z3p+5&Z-B^fBrhuj=W?EI4d1rMUV@Bjb+ literal 1786 zcmeAS@N?(olHy`uVBq!ia0y~yV4MiT985qFZD&a!$#&4w#WAE}&fB|p^KM&+v|g;Z z@V)-&8P~>=3mfO&Sfo;SC2G2>_AbXw#XlAw?&k;Upg&09-@e(N;X~i~^XGTh*X`E* z=lu8lO?id~tVY}#KTE%{Hyn*E6WT6ZDi)x$xj|?q>y#5Z3tZ9|Re{nIBON-=FnOim zkop(tu=3<|E4aEf>4v-Ay>;1V6qvFDjeB&RW3%8V4;Ln!%3D5-Gg)5x)oX>#5^7&+{ip9#3;@cSS?<^umQIYD zfX>~ceAd`ms-o`|Q&o-m#s7UP7N1kOg5s0YT{e$}blYz4n7t5aGthfUc_$1OzcaG< zcg`^Qf$~ggCUHbq9I?IxbXn;Cx!XjJ*_EBXd`Fr0!vsjEY&ujG_DS9dbJMzInYu0Wsr>TmsMz4ZBgzvjN$H`A8a{?5ODd!21nceu01 zgYDmqPTvtg4f9E|=dEriv9uN2b+6uWH*fiu(hK}`YlMxmZ;4e^{qr@N)@NvwXbX=3 zToDCyt=zu+9r599hkx1jNNId;443s@E?@@?m2Qxn+4q2UX7=BnyA=`f1WW}>uJ5Yf z-&iDHadqRjI=;)B*!b7D0TaeM^OVT{^D}nbFX&$``zJIMTfC&p&N#PDoqt6zHc4!0 z?ARXVzn7N!wBLPTlC|It`@CEo36FU8AICJ!<3Dr&69H0uNZHJJ{O;1e(!cp9btH05 zTTXhL9&l`4lH`wiNzvoUMz7y3x6Em;xZ<#r-{y8i0a`r#Zd2L2eS5<5M8;RZWImU* z`ETgiy(LFpKA-yFMzBuwys{6KQqVvscD`}lJHPWy%F^qKDPqCZU(qb=YgpU zl(%jc=4H&}l<))Q17J`;S@gRt`F^eZ(>3#0(muAVfaJuOl01%{q7S#4fO#x1edGG6 zRuhexXC9SpYRd$fBEEKW+^&6@6@`KCJsH%4AVF>D_~Y=Mf>qb@T;A?|vjCF3i!Rn4 z-kr1b;2%&nuzKx2r>MyjYQ+rcPsgu^ls|~6Sf2THOZpwZnrC%~eYct^Z8npv=J>p( z?nC`XkK<>~@HS#C8s?n8^1QtD)7btkwm{RPFS<)1J{Tyj;vWola$GdCpNnf11rn>*?uF0iZ=h97i?7#i| z-FP%VQtuovqXee^?Wkf=gXUnQ^sz7T@bzO)SGO~VTlsLv1Ebk>?pBMhBHbT(ZD-tj zwdU=Y`%TZZvD1>CA?fdQYH3#Q^DZ~ux+lBKE2%pE!fWR?mT>^J9Fh`(&`tDpW;2A VzK3SG2rmF>^mO%eS?83{1OSL`+G+p* diff --git a/world_maker/data/roadmap2.png b/world_maker/data/roadmap2.png deleted file mode 100644 index be1121c1ee073d8df26e1f732590aa51ee88b538..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5180 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 delta 34652 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

n0QNl)G0b5_jEiU+9OaFY}-MkMNUV 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 Y0aq%mh}Wv|kpKVy07*qoM6N<$f&rfT?f?J) diff --git a/world_maker/data/skeleton_mountain.png b/world_maker/data/skeleton_mountain.png index a00e99c9cad068af7d096dc3defa7d06e8426403..8c170dd0db3e5f1b0e0f8cbb9b5ce9dc564f837d 100644 GIT binary patch literal 35372 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 literal 37206 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
(xe&n_OItL`vd0x%(`R?=Cae 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 bHfj8SYc^{BEjd@b00000NkvXXu0mjfJDx

vG&E5C%|dYv2Esl^@P}F5J2i!g2PTs-%+4 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 Y0f1GJZvhcyj{pDw07*qoM6N<$g7HD)m;e9( diff --git a/world_maker/data_analysis.py b/world_maker/data_analysis.py index 3be010b..717b335 100644 --- a/world_maker/data_analysis.py +++ b/world_maker/data_analysis.py @@ -4,15 +4,16 @@ import numpy as np from scipy import ndimage from Skeleton import Skeleton from typing import Union +from random import randint import cv2 def get_data(world: World): print("[Data Analysis] Generating data...") heightmap, watermap, treemap = world.getData() - heightmap.save('./data/heightmap.png') - watermap.save('./data/watermap.png') - treemap.save('./data/treemap.png') + heightmap.save('./world_maker/data/heightmap.png') + watermap.save('./world_maker/data/watermap.png') + treemap.save('./world_maker/data/treemap.png') print("[Data Analysis] Data generated.") return heightmap, watermap, treemap @@ -181,9 +182,9 @@ def filter_remove_details(image: Union[str, Image], n: int = 20) -> Image: def highway_map() -> Image: print("[Data Analysis] Generating highway map...") - smooth_sobel = filter_smooth("./data/sobelmap.png", 1) + smooth_sobel = filter_smooth("./world_maker/data/sobelmap.png", 1) negative_smooth_sobel = filter_negative(smooth_sobel) - negative_smooth_sobel_water = subtract_map(negative_smooth_sobel, './data/watermap.png') + negative_smooth_sobel_water = subtract_map(negative_smooth_sobel, './world_maker/data/watermap.png') array_sobel_water = np.array(negative_smooth_sobel_water) array_sobel_water = ndimage.binary_erosion(array_sobel_water, iterations=12) array_sobel_water = ndimage.binary_dilation(array_sobel_water, iterations=5) @@ -192,7 +193,7 @@ def highway_map() -> Image: array_sobel_water = filter_smooth_array(array_sobel_water, 6) image = Image.fromarray(array_sobel_water) image_no_details = filter_remove_details(image, 15) - image_no_details.save('./data/highwaymap.png') + image_no_details.save('./world_maker/data/highwaymap.png') print("[Data Analysis] Highway map generated.") return image_no_details @@ -210,45 +211,45 @@ def create_volume(surface: np.ndarray, heightmap: np.ndarray, make_it_flat: bool def convert_2D_to_3D(image: Union[str, Image], make_it_flat: bool = False) -> np.ndarray: image = handle_import_image(image) - heightmap = Image.open('./data/heightmap.png').convert('L') + heightmap = Image.open('./world_maker/data/heightmap.png').convert('L') heightmap = np.array(heightmap) surface = np.array(image) volume = create_volume(surface, heightmap, make_it_flat) return volume -def skeleton_highway_map(image: Union[str, Image] = './data/highwaymap.png') -> Skeleton: +def skeleton_highway_map(image: Union[str, Image] = './world_maker/data/highwaymap.png') -> Skeleton: image_array = convert_2D_to_3D(image, True) skeleton = Skeleton(image_array) skeleton.parse_graph(True) heightmap_skeleton = skeleton.map() - heightmap_skeleton.save('./data/skeleton_highway.png') + heightmap_skeleton.save('./world_maker/data/skeleton_highway.png') skeleton.road_area('skeleton_highway_area.png', 10) return skeleton -def skeleton_mountain_map(image: Union[str, Image] = './data/mountain_map.png') -> Skeleton: +def skeleton_mountain_map(image: Union[str, Image] = './world_maker/data/mountain_map.png') -> Skeleton: image_array = convert_2D_to_3D(image, True) skeleton = Skeleton(image_array) skeleton.parse_graph() heightmap_skeleton = skeleton.map() - heightmap_skeleton.save('./data/skeleton_mountain.png') + heightmap_skeleton.save('./world_maker/data/skeleton_mountain.png') skeleton.road_area('skeleton_mountain_area.png',3) return skeleton def smooth_sobel_water() -> Image: - watermap = handle_import_image("./data/watermap.png") + watermap = handle_import_image("./world_maker/data/watermap.png") watermap = filter_negative(filter_remove_details(filter_negative(watermap), 5)) - sobel = handle_import_image("./data/sobelmap.png") + sobel = handle_import_image("./world_maker/data/sobelmap.png") sobel = filter_remove_details(filter_smooth(sobel, 1), 2) group = group_map(watermap, sobel) group = filter_negative(group) - group.save('./data/smooth_sobel_watermap.png') + group.save('./world_maker/data/smooth_sobel_watermap.png') return group -def detect_mountain(image: Union[str, Image] = './data/sobelmap.png') -> Image: +def detect_mountain(image: Union[str, Image] = './world_maker/data/sobelmap.png') -> Image: image = handle_import_image(image) sobel = np.array(image) pixels = sobel.reshape((-1, 1)) @@ -272,3 +273,20 @@ def detect_mountain(image: Union[str, Image] = './data/sobelmap.png') -> Image: print(f"[Data Analysis] The center of the mountain is at ({cX}, {cY})") return (cX, cY) + + +def rectangle_2D_to_3D(rectangle: list[tuple[tuple[int, int],tuple[int, int]]], + height_min:int = 6, height_max:int = 10) \ + -> list[tuple[tuple[int, int, int], tuple[int, int, int]]]: + image = handle_import_image('./world_maker/data/heightmap.png') + new_rectangle = [] + for rect in rectangle: + start, end = rect + avg_height = 0 + for x in range(start[0], end[0]): + for y in range(start[1], end[1]): + avg_height += np.array(image.getpixel((x, y))) + avg_height = int(avg_height / ((end[0] - start[0]) * (end[1] - start[1]))) + new_rectangle.append(((start[0], avg_height, start[1]), (end[0], avg_height + randint(height_min, height_max), end[1]))) + return new_rectangle + diff --git a/world_maker/pack_rectangle.py b/world_maker/pack_rectangle.py index 76bbf0a..3611fc1 100644 --- a/world_maker/pack_rectangle.py +++ b/world_maker/pack_rectangle.py @@ -2,6 +2,8 @@ from PIL import Image import numpy as np from typing import Union from data_analysis import handle_import_image +from random import randint + class Rectangle: def __init__(self, width, height): @@ -27,7 +29,7 @@ class Bin: best_spot_empty_area = empty_area if best_spot is not None: - self.rectangles.append((best_spot, (best_spot[0]+rectangle.width, best_spot[1]+rectangle.height))) + self.rectangles.append((best_spot, (best_spot[0] + rectangle.width, best_spot[1] + rectangle.height))) self.update_grid(rectangle, *best_spot) return True @@ -72,19 +74,16 @@ def pack_rectangles(rectangles, grid): return True -import random - - -def generate_rectangle(max_width:int = 25): - width = random.randint(10, max_width) - height = random.randint(10, max_width) +def generate_rectangle(min_width: int = 10, max_width: int = 25): + width = randint(min_width, max_width) + height = randint(min_width, max_width) return Rectangle(width, height) -def pack_rectangles(grid): +def pack_rectangles(grid, min_width: int = 10, max_width: int = 25): bin = Bin(grid) while True: - rectangle = generate_rectangle() + rectangle = generate_rectangle(min_width, max_width) if not bin.place_rectangle(rectangle): break print(len(bin.rectangles)) @@ -101,12 +100,13 @@ def draw_rectangles(rectangles, grid): return image -def generate_building(image: Union[str, Image] = './data/roadmap2.png'): +def generate_building(image: Union[str, Image], min_width: int = 10, max_width: int = 25): image = handle_import_image(image).convert('L') grid = np.array(image) - rectangles = pack_rectangles(grid) - draw_rectangles(rectangles, grid).save('./data/building.png') + rectangles = pack_rectangles(grid, min_width, max_width) + draw_rectangles(rectangles, grid).save('./world_maker/data/building.png') return rectangles + if __name__ == '__main__': generate_building() diff --git a/world_maker/world_maker.py b/world_maker/world_maker.py index 462a89b..8ea3510 100644 --- a/world_maker/world_maker.py +++ b/world_maker/world_maker.py @@ -1,6 +1,6 @@ import World from PIL import Image -from data_analysis import get_data,filter_negative, skeleton_mountain_map, highway_map, filter_sobel, skeleton_highway_map, \ +from data_analysis import get_data,filter_negative, rectangle_2D_to_3D, skeleton_mountain_map, highway_map, filter_sobel, skeleton_highway_map, \ smooth_sobel_water, subtract_map, detect_mountain from City import City from Position import Position @@ -10,26 +10,24 @@ from pack_rectangle import generate_building if __name__ == '__main__': #world = World.World() #heightmap, watermap, treemap = get_data(world) - #filter_sobel("./data/heightmap.png").save('./data/sobelmap.png') + #filter_sobel("./world_maker/data/heightmap.png").save('./world_maker/data/sobelmap.png') smooth_sobel_water = smooth_sobel_water() skeleton_highway_map(highway_map()) city = City() - mountain_coo = detect_mountain() - city.add_district(Position(mountain_coo[0], mountain_coo[1]), "mountain") - city.add_district(Position(200, 200), "zdz") - city.add_district(Position(300, 300), "cool") + city.generate_district() city.loop_expend_district() city.district_draw_map() city.district_generate_road() image_mountain_map = city.get_district_mountain_map() - road = city.draw_roads(Image.new('RGB', (401, 401)), 4) - road.save('./data/roadmap.png') - subtract_map(smooth_sobel_water, road).save('./data/roadmap2.png') - subtract_map('./data/roadmap2.png', './data/skeleton_highway_area.png').save('./data/roadmap2.png') - subtract_map('./data/roadmap2.png', './data/mountain_map.png').save('./data/roadmap2.png') - generate_building('./data/roadmap2.png') + road = city.draw_roads(4) + road.save('./world_maker/data/roadmap.png') + subtract_map(smooth_sobel_water, road).save('./world_maker/data/city_map.png') + subtract_map('./world_maker/data/city_map.png', './world_maker/data/skeleton_highway_area.png').save('./world_maker/data/city_map.png') + subtract_map('./world_maker/data/city_map.png', './world_maker/data/mountain_map.png').save('./world_maker/data/city_map.png') + rectangle_building = generate_building('./world_maker/data/city_map.png') + rectangle_building = rectangle_2D_to_3D(rectangle_building) skeleton_mountain_map(image_mountain_map) - subtract_map('./data/mountain_map.png','./data/skeleton_mountain_area.png').save('./data/mountain_map.png') - subtract_map(smooth_sobel_water, filter_negative('./data/mountain_map.png')).save('./data/mountain_map.png') - generate_building('./data/mountain_map.png') + subtract_map('./world_maker/data/mountain_map.png', './world_maker/data/skeleton_mountain_area.png').save('./world_maker/data/mountain_map.png') + subtract_map(smooth_sobel_water, filter_negative('./world_maker/data/mountain_map.png')).save('./world_maker/data/mountain_map.png') + rectangle_mountain = generate_building('./world_maker/data/mountain_map.png')