我正在创建一个由程序生成的城市,在L系统增加了所有道路之后,我在增加建筑物的逻辑上遇到了麻烦。
我做了很多研究,因为这是我的最后一年的项目,但不幸的是,没有找到很多关于增加建筑物,但更多关于增加道路。
我的程序使用L系统绘制每条道路,当交叉另一条道路或改变方向时,它将道路添加到一个无向平面图中。增加的道路只是目前的线,还没有宽度,因为我想得到的基本逻辑,增加建筑物之前,加入这个。L系统绘制的道路将是随机角度,而不是直角。
我最初的方法是在图上顺时针旋转,找到道路上的多边形,然后在找到的多边形中添加建筑物。我目前似乎无法做到这一点,因为道路是死胡同,顺时针方向移动似乎不能产生正确的结果。
主要的问题是,一座建在道路交汇处的建筑物可能与道路重叠。我希望建筑物的布置有点类似游戏颠覆。
如果我所尝试的还有其他方法,我很想听听你的想法。
任何帮助都将不胜感激。
发布于 2016-01-04 15:18:42
您的问题位于
“那就把找到的多边形里面的建筑物加进去。我目前似乎无法做到这一点,如果道路是死胡同的话,它也有问题。”
从几何上讲,余应该能够定义一个多边形,看看建筑物的底座是否与该多边形相吻合。
要么使用java多边形,要么自己做。
确切地说,出错的地方会给你具体的答案。
https://stackoverflow.com/questions/34593012
复制相似问题