gpt4 book ai didi

objective-c - iOS:从非图像数据生成图像(Godus like landscape)

转载 作者:技术小花猫 更新时间:2023-10-29 11:05:30 26 4
gpt4 key购买 nike

所以在看到来自 Godus 的图像时 我想知道如何生成简单、非交互式的 2D 图像不同高度或不同高度层的不同颜色如下图所示。

我只是在考虑为没有房屋、树木对象和单位的地形生成基本颜色层。我考虑的不是创建一个图形引擎来解决这个问题,而是一种在屏幕上生成平面图像的简单方法。

问题有两个方面:

1, 什么样的数据可以用于这种生成?我在想也许 ASCII 艺术很容易创建和修改以快速改变地形,但很难提供高度信息。

2、在数据准备好后,可以使用哪些现有的框架、类、方法或方法来解决生成问题。

上帝: like this one

ASCII 艺术(北欧以 ! 代表挪威,# 代表瑞典,$ 代表芬兰,% 代表俄罗斯: enter image description here

(摘自 MapBox 文档:http://mapbox.com/developers/utfgrid/#map_data_as_ascii_art)

最佳答案

如果您想创建一个简单的 2D 轮廓图像,我会尝试以下方法:

  • 创建一些高度数据。我只是为此使用灰度图像,而不是 ascii。您可以在 MS Paint 或类似软件中创作基本的高度图。
  • 平滑数据。例如,应用模糊,或使用平滑滤镜提高分辨率。
  • 考虑将所有高度数据限制在特定点以下 - 如果需要,这代表水位。
  • 量化数据。量化得越多,轮廓越少但越明显。
  • 通过调色板查找应用假色。例如 a:低洼地区蓝色代表水,黄色代表沙子,绿色代表草地,棕色代表土地,灰色代表岩石,白色代表雪。

重要的部分是放大/平滑过滤器,它为您的轮廓创建更有趣的形状,以及实际创建轮廓本身的量化。

您可以玩这个的各个阶段。例如,如果您的源数据非常干净,您可以在地形中引入一些噪声,使其看起来更自然。或者,如果您希望一切都非常圆润,您可以增加平滑度。

如果您想使用 ascii,您可以直接从中生成一个位图,这并不难。您用作示例的 ascii 是按国家而不是地形分割的,因此假色和轮廓可能会做错事。您可以将它用作简单地形生成器的输入,也许只需要几个字符来表示您想要的陆地、海洋、山脉等位置。

这是我编写的一个非常基本的示例,它只是我建议的技术的一个应用。我没有使用任何框架或库,只是一些简单的图像处理功能,以及我找到的欧洲高度图:

enter image description here

关于objective-c - iOS:从非图像数据生成图像(Godus like landscape),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14011320/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com