如何开始程序生成?

2024-02-20

程序生成 http://en.wikipedia.org/wiki/Procedural_generation最近(由 Spore、MMO 等)引起了人们的关注,它似乎是一种有趣/强大的编程技术。

我的问题是:

  • 您知道有哪些使用程序生成技术的中型项目吗?
  • 什么语言/语言类别最适合程序生成?
  • 您可以使用过程生成来生成“严肃”的代码吗? (即,不是游戏)

您可能应该从一些理论和简单的示例开始,例如中点位移算法 https://web.archive.org/web/20170812230846/http://www.gameprogrammer.com/fractal.html。你还应该了解一些柏林噪音 http://en.wikipedia.org/wiki/Perlin_noise如果您对生成图形感兴趣。我用它开始了我最后一年的程序生成项目。

Fractals http://en.wikipedia.org/wiki/Fractal与程序生成密切相关。

Terragen http://en.wikipedia.org/wiki/Terragen and 速度树 http://en.wikipedia.org/wiki/SpeedTree将向您展示程序生成的一些惊人的可能性。

过程生成是一种可以在任何语言中使用的技术(它绝对不限于C等过程语言,因为它可以用于Java等OO语言和Prolog等逻辑语言)。对任何语言中的递归的良好理解将增强您对过程生成的掌握。

至于“严肃”或非游戏代码,程序生成技术已用于:

  • 模拟城市的发展以规划交通管理
  • 模拟血管的生长
  • SpeedTree 用于电影和建筑演示
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何开始程序生成? 的相关文章

  • 如何编译具有 ML 兼容性的 F# 代码?

    以下 F 片段似乎仅在 ML 兼容模式下编译才有效 运行它here http rextester com MVY61204 let i 1 lxor 5 但是 我无法在 Visual Studio 2012 中的简单项目中编译它 也无法从命
  • 如何在 Kubernetes 上使用 Spark 修复“禁止!配置的服务帐户无权访问”?

    我正在尝试运行以下基本示例使用 k8s 集群提交 Spark 应用程序 https spark apache org docs latest running on kubernetes html submitting application
  • .NET Core IServiceScopeFactory.CreateScope() 与 IServiceProvider.CreateScope() 扩展

    我的理解是 当使用内置的依赖注入时 NET Core 控制台应用程序将要求您自己创建和管理所有范围 而 ASP NET Core 应用程序将创建和管理HttpRequest默认情况下通过定义的中间件作用域 使用 ASP NET Core 您
  • Tomcat 中的会话管理

    我开发了一个简单的 Web 应用程序 其中包含 2 个 servlet A 和 B 我对 Tomcat 的网络应用程序的会话管理有一些疑问 注意 在访问网络应用程序时 我在网络浏览器 Chrome 中禁用了 cookie 1 当第一次访问
  • 更改 WordPress 图像 URL

    在我的 WordPress 网站上 我的所有图像都显示为损坏的链接 它们还在 WordPress 后端的媒体库中显示为损坏的链接 我使用 Google Chrome 检查了这些图像 发现它们都像这样显示 img src http firou
  • 平台 pinvoke 教程 msdn

    以下是来自的教程msdn http msdn microsoft com en us library aa288468 28v vs 71 29 aspx 在教程中 flushall 的输出是 Test 但我通过使用 console wri
  • 仅包含与递归差异中给定模式匹配的文件

    如何对两个目录 a 和 b 中的文件执行递归比较 diff r a b 但只查看名称与给定模式匹配的文件 例如 使用 find 命令中可用的相同语法 如下所示 diff r a b name crazy 这将显示 a 和 b 中具有相同名称

随机推荐

  • 在 Rails 中的视图之间传递变量

    我一直在试图弄清楚如何在两个视图之间传递变量 并且我已经查看了堆栈溢出的所有示例 但似乎无法使其工作 我的用户中有这个 gt index html erb tr td td td td td td td td td td td td tr
  • 如何等待异步委托

    在 MVA 视频之一中 我看到了下一个构造 static void Main string args Action testAction async gt Console WriteLine In await Task Delay 100
  • 使用多字符分隔符分割字符串

    假设我有以下字符串 Hello there My name is Fred I am 25 5 years old 我想把它分成句子 这样我就有了以下列表 Hello there My name is Fred I am 25 5 year
  • Gitlab 部署脚本 - envsubst:找不到命令

    我有一个带有 CI CD 管道的 gitlab 存储库 它有deploy sh脚本 该脚本可以顺利运行 直到envsubst命令 bin bash set e lt gt deploy via ssh SSH ssh o UserKnown
  • 在 xml 内的图像上绘制视图

    你能帮助我分享你关于如何在android中的图像顶部绘制一个小矩形的知识吗 我有 main xml 和一些小部件 在顶部 有一个图像 我想在该图像上绘制一个矩形 并在应用程序运行时显示这两个矩形 我的 xml 文件如下所示
  • 验证 Rails 中多对多关联的唯一性

    说我有Project 即与多对多关联Tag 我在用着有 许多通过所以我有单独的连接模型 如何创建验证来检查连接模型的唯一性 现在我只有 has many tags through gt taggings uniq gt true 但这并不在
  • MVC 应用程序调试时出错:视图状态 MAC 验证失败

    现在开始表单 第一次 当我开始调试 MVC 应用程序时 我收到此错误 视图状态 MAC 验证失败 如果 该应用程序由 Web 托管 农场或集群 确保 配置指定 相同的validationKey和validation 算法 无法使用自动生成
  • 如何使用 NHibernate 高效地进行 TDD?

    在我看来 大多数人在使用 NHibernate 时都会针对内存中 进程内数据库 例如 SQLite 编写测试 我已经启动并运行了它 但我的第一个测试 使用 NHibernate 总是需要 3 4 秒才能执行 下一个测试运行得更快 我使用 F
  • 是否有 gist.github.com 的内部替代方案可以在防火墙后面运行?

    gist github com 非常方便 但我希望能够运行类似的东西来与我工作的防火墙后面的其他开发人员在内部共享代码示例 因此我不需要一直清理我的代码 只讲代码示例 有这样的事情存在吗 我并不追求大型项目管理工具 只是一种制作一次性要点并
  • OpenShift 无法处理某些 Nodejs 依赖项 (Koa)

    我已经结账了如何在 Openshift 中设置 KoaJS https stackoverflow com questions 26924967 how to setup koajs in openshift但它仍然不起作用 这是我的一部分
  • Apache 作为 ubuntu 上的 root

    好的 我需要运行我的 Apache Web 服务器root 为此我输入了whoami 在终端 它给了我输出 root 但是当我通过执行以下 php 脚本检查我的 apache 服务器是否以 root 用户身份运行时 它给了我输出 nobod
  • 从终端安装 npm 错误

    我正在尝试在我的 mac 中安装节点 我收到以下错误 我从节点站点下载了节点并运行了该包 你们能告诉我为什么我会遇到这个错误 当我执行 npm install 时 MacBook Pro Raj npm install npm ERR in
  • Pickle 无法与 tkinter 一起使用

    我正在用 Tkinter 制作一个小游戏 它有一个使用 pickle 的保存功能 但是 当我尝试保存时 它会弹出以下消息 Exception in Tkinter callback Traceback most recent call la
  • 具有嵌套列表的 Terraform 动态块

    我需要使用 Terraform 在 Pagerduty 中创建升级策略 我想动态创建rule块 然后在其中target块的值来自rule 我不知道如何在目标块内进行第二次调用以使其动态 我有一个列表中的团队列表 locals teams d
  • React Native - 动态列出/需要目录中的文件

    我正在使用 Redux 并希望动态包含目录中的所有文件 redux index js Actions import as authActions from auth authActions import as deviceActions f
  • 如何从图像中仅提取字符?

    我有这种类型的图像 我只想从中提取字符 二值化后 我得到这个图像 img cv2 imread the image jpg gray cv2 cvtColor img cv2 COLOR BGR2GRAY thresh cv2 adapti
  • 如何在密度分布图的两端添加两个阴影

    如何在两端添加阴影 如下图所示 我想添加一端从 0 到 995 和 1 995 到 Inf 我在这里尝试了解决方案https stackoverflow com a 4371473 3133957 https stackoverflow c
  • 如何用 Python 构建提升图(又名增益图)?

    我刚刚使用 scikit learn 创建了一个模型 它可以估计客户对某些报价做出回应的可能性 现在我正在尝试评估我的模型 为此 我想绘制提升图 我理解 lift 的概念 但我很难理解如何在 python 中实际实现它 您可以使用sciki
  • NetLogo 以字符列表的形式读入文件

    我是 NetLogo 新手 我有一个包含一行值的文本文件 ABC CDC BBC 我试图读取该文件的第一行作为字符列表 例如 A B C 我一直在尝试使用文件读取行 但它创建了一个字符串 ABC observer gt file open
  • 如何开始程序生成?

    程序生成 http en wikipedia org wiki Procedural generation最近 由 Spore MMO 等 引起了人们的关注 它似乎是一种有趣 强大的编程技术 我的问题是 您知道有哪些使用程序生成技术的中型项