使用L系统绘制道路后添加建筑



我正在创建一个程序生成的城市,在L系统添加了所有道路后,添加建筑的逻辑出现了问题。

我做了很多研究,因为这是我最后一年的项目,但不幸的是,我找不到很多关于增加建筑的内容,但更多的是关于增加道路的内容。

我的程序使用L系统绘制每条道路,当与另一条道路相交或改变方向时,它会将道路添加到无向平面图中。添加的道路目前只是线条,还没有宽度,因为我想在添加之前对添加建筑的基本逻辑进行排序。L系统绘制的道路将是随机角度,而不是直角。

我最初找到建筑物放置位置的方法是绕图形顺时针旋转,找到道路内的多边形,然后将建筑物添加到找到的多边形内。我目前似乎无法做到这一点,因为道路是死胡同,顺时针移动图表似乎无法产生正确的结果。

主要问题是,放置在道路交叉口的建筑可能会与道路重叠。我希望这些建筑的位置与Subversion游戏有点相似。

如果我尝试过其他方法的话,我很想听听你的想法。

任何帮助都将不胜感激。

您的问题位于

"然后在找到的多边形内添加建筑。我目前似乎无法做到这一点,如果这条路是一条死胡同,我也会遇到问题。"

从几何角度来说,余应该能够定义一个多边形,看看建筑物的底部是否适合这个多边形。

要么使用java多边形,要么自己动手

具体来说,出了什么问题会给你带来具体的答案

最新更新