欢迎访问chatgpt中文教程网,学习chatgpt相关知识,以下是正文内容:
五一的时候,让ChatGPT4帮我在Grasshopper写了个城市生成插件,采用了波函数坍缩算法,效果不得不说真的很顶,从只知道基本概念,到实现算法效果,只花了半个下午的时间。
波函数坍塌算法,英文是Wave Function Collapse,是一种用于生成2D或3D图案的过程,算法的输入包括一个包含不同局部图案的集合以及这些图案之间的相邻规则。通过满足这些规则,算法会逐步确定全局图案中每个位置的状态,从而生成新的结构。(注:以上内容来自ChatGPT,更多关于WFC的概念和应用可以参考以下两个链接:1. https://github.com/mxgmn/WaveFunctionCollapse 2. https://zhuanlan.zhihu.com/p/65495333)
以下是哄骗ChatGPT帮我写一个完整算法的具体步骤:
【询问算法概念和应用方式】
首先让GPT帮我熟悉一下这个算法的概念,以及询问一下应用可行性。
【询问具体应用场景】
接下来进入正题,如何在我们常用的建模软件Rhino3D里使用这个算法。一开始GPT比较偷懒的告诉我去下载一款WFC插件直接使用(BTW:这款插件我确实下载了,功能很全面,包含运算器也挺多,如果有兴趣大家可以自行尝试一下)当然我的目的不是直接用插件,而是自己写一个插件出来,这样自己如果想要定制化的修改就更方便一些。
于是我模拟了使用场景,让ChatGPT帮我制定一下规则,并顺便写出实现代码,这回ChatGPT帮我实现了基本的代码框架,不过对于核心部分,它比较鸡贼地表示这个代码太繁琐了,让我自己去读开源代码,反正就是不给我写。【循循善诱】
于是我只好转换策略,换个方式来问它。于是ChatGPT说给我个简化版本可以,删掉了相邻规则,不过没关系,这个可以稍后让它补。
写得很好,接着补充相邻规则和传播步骤。
到这里代码部分基本完成了,接下来就是放进C#运算器里进行调试,调试过程还是很顺利的,虽然chatGPT自己编造了一两个函数,但是稍作修改就可以运行了。效果如下图:
第一个版本只实现了2D的布局,在Rhino3D的Z轴方向没有任何变化。于是向chatGPT进一步说明三维空间上进行计算布局的需求,很快就得到了进一步修改的代码。当然,这个过程因为需要对前面所有代码添加Z轴维度,所以ChatGPT开始有点丢三落四,经过我的提醒,和自己的一点点调试,还是很快速地实现了三个维度上的波函数坍塌布局。最终效果如下图:整个诱骗ChatGPT帮我打工的过程还是很有趣的,关键在于提问的方式,需要一步步引导向自己想要的答案,与AI沟通的逻辑大概和与人沟通的逻辑还是有些类似的,互动的效果也许比纯粹祈使句的效果会更好。以下是PUA ChatGPT的全过程。本期到此结束,都看到这儿了,点个赞再走吧。
欢迎关注【不确定主义】,获取往期更多内容。写文不易,感谢阅读,不要忘记点赞、关注与在看噢!
本文链接:http://xiaogongchang.cn/chatgpt/245.html