ChatGPT 近期炙手可热,仿佛没有什么问题是它不能解决的。出于对 ChatGPT 的好奇,我们决定探索下它对于前端开发人员来讲,是作为辅助工具多一些,还是主力工具更多一些?
【资料图】
2D 能力测试
我们就挑选一个著名的递归回溯问题——“八皇后”,看看 ChatGPT 的表现如何。
什么是“八皇后”
首先,我们先让它完整介绍下“八皇后“问题。让我们拭目以待 ChatGPT 会给出什么样的答案,沟通如下图所示:
只是要求介绍一下“八皇后”问题,它竟然连解题思路也如此清晰地一并给出。
编程能力
既然如此,那就来考考编程能力。
先要求它使用 JavaScript 求解“八皇后”问题的所有解。为了方便查看最终效果,又要求它使用 Canvas 将结果绘制出来。具体问答如图所示:
目不转睛地注视着屏幕中的 ChatGPT ,它一行一行噼里啪啦地给出答案,且代码编写地如此整洁,不禁由衷赞叹。虽然还不确定这些代码能否真的运行起来,得到我们想要的效果,但是从生成代码的结构和逻辑性来看,已经足够令人震撼。
接下来,我们来验证一下代码是否真的可以顺利运行。复制粘贴 ChatGPT 给出的答案,在未更改一行代码的情况下,页面的确运行了。一起看看运行效果:
看着实现出来的效果,我的内心开始忐忑不安。脑海里疯狂计算着这样一个问题:我需要花费多长时间才能解决以上问题?反正肯定无法像 ChatGPT 这样,不到 30S 就给出结果。
输出所有解
再回过头来看答案,却发现只打印出一个结果,所以它能否将所有的结果都打印出来呢?我们接着提出需求,答案如图所示:
Unbelievable,竟然真的可以,立即复制粘贴操作,检验运行效果:
仔细数了下,发现只输出了 16 个解,但是开头提到总共是有 92 个解。通过仔细查阅代码,发现一个小格子被定义为 40 个像素,而整个 Canvas 的大小是 1280 像素,所以这个 Canvas 最多只能画 16 个棋盘。
在此输出中,棋盘和棋盘之间没有点间隔,很难辨别棋盘边界,观看起来有些费力。问题相对简单,只需调整几个参数即可解决,我们选择手动调整,调整后的 drawChessboards 方法。如下所示:
function drawChessboards(solutions) { const canvas = document.getElementById("chessboard"); const ctx = canvas.getContext("2d"); const n = solutions[0].length; const solutionsPerRow = Math.ceil(Math.sqrt(solutions.length)); const sizeWithGap = canvas.width / solutionsPerRow / n; const size = sizeWithGap * 0.95; for (let k = 0; k < solutions.length; k++) { const offsetX = ((k % solutionsPerRow) * n + 0.2) * sizeWithGap; const offsetY = (Math.floor(k / solutionsPerRow) * n + 0.2) * sizeWithGap; for (let row = 0; row < n; row++) { for (let col = 0; col < n; col++) { if ((row + col) % 2 === 0) { ctx.fillStyle = "#FFFFFF"; } else { ctx.fillStyle = "#000000"; } ctx.fillRect(col * size + offsetX, row * size + offsetY, size, size); if (solutions[k][row][col] === "Q") { ctx.beginPath(); ctx.arc(col * size + size / 2 + offsetX, row * size + size / 2 + offsetY, size / 4, 0, 2 * Math.PI); ctx.fillStyle = "#FF0000"; ctx.fill(); } } } }
}
接下来再瞧瞧最终的运行效果:
这回看着舒服了很多~
综上所述通过对 ChatGPT 在 2D 能力检验可知,ChatGPT 在生成 Canvas 绘制逻辑代码的能力以及解决问题逻辑处理能力上,已然与一位程序员没什么区别了,甚至可能它所具备的能力或远超普通的程序员。
3D 渲染测试
提升维度,让 ChatGPT 将结果用 3D 的渲染方式输出看看。如图所示:
我们再一次机械性地复制、粘贴、运行它给出的代码,结果就是——跑起来了,真的跑起来了。(ps:可以看出真的很激动~)
但该视角太低,不适合观察棋盘上皇后的分布情况,手动微调下场景视角高度,再来看看效果:
使用开源的 3D 渲染引擎 Three.js,实现了这样的效果,还是非常不错的。
模型风格调整测试
用简单的柱子来表示皇后,看起来太过单调,想看看 ChatGPT 能否真正生成精致的皇后模型,于是就有下图的提问:
运行效果如下:
皇后模型效果确实给出了调整,视角也有所调高,但又过于高了且皇后的位置好像有些偏差,看起来像是悬浮在空中。再让它调整看下,如下图所示:
调整后效果:
大概这样的“皇后”模型已经是极限了,我们就不再强求,生成的视角还是那么高,但都是小问题,微调下即可,其他的都未做调整。
以上就是整个 3D 渲染效果的校验过程,再一次证明了 ChatGPT 的强大之处,生成的代码显然已经达到可应用级别。
WebGL 技术测试
既然会使用 Three.js,那是不是意味着已经掌握了 WebGL 技术呢?接下来问题再升级下,测试看能否用纯 WebGL 来完成 3D 的渲染,如图所示:
望着代码被一行一行急速输出时,再一次被它的强悍震得心头一紧。如果想要完整实现的话内容会太长,所以它罗列了代码的整体框架,部分代码用注释代替。
HT 渲染引擎究极测试
身边的小伙伴提到,试问下能否用图扑软件自家 HT 作为渲染引擎,让 ChatGPT 给出相应的可执行代码?答案如图所示:
乍一看输出的结果,代码似乎写得很不错。但仔细阅读后,会发现代码中有很多地方使用错误,比如没有使用 HT 的 3D 组件 Graph3dView,而是使用了 2D 组件 GraphView;2D 的接口和 3D 的接口混用;使用的接口不存在等多种问题。
也许是 ChatGPT 能够获得的训练数据相当有限,但它生成代码的水平已经是非常高了,只需在原基础上稍加调整,即可顺利运行。
总体来说,ChatGPT 相较于普通程序员,在编写算法和通用渲染方面以及效率上都有着更强的实力。在一些比较垂直的领域,由于缺乏足够的训练数据,可能会导致无法准确完整地表达,甚至会出现张冠李戴的情况。但它的表现在一定程度上缩短了程序员解决问题的时间,只要问题描述足够清晰,就可以获取到答案并直接使用。
在未来,相信 ChatGPT 会变得越来越强大,并且会成为一款非常出色的辅助工具,甚至可能成为主要的生产工具。审核编辑黄宇
标签:
-
ChatGPT 时代,程序员的生存之道 | 人工智能 AI
ChatGPT近期炙手可热,仿佛没有什么问题是它不能解决的。出于对ChatGPT
-
世界速看:创意微视频|中国空间站:神十五,再见!神十六,你好!
Hi,我是中国空间站,太空中最闪耀的中国星!
-
看热讯:上海清算所:二季度起免收外汇交易双边集中清算业务相关费用
银行间市场清算所股份有限公司6月5日发布公告称,为进一步提升服务水平
-
天天报道:事关每个人!这笔钱可达万元,即将结束申领|早安,荔湾
事关每个人!这笔钱可达万元,即将结束申领|早安,荔湾2023 6 6星期二
-
关于开业大吉句子_每日头条
业大吉句子1、祝福你生意越做越大,财富甲天下!2、利似春潮带雨来,十
-
信息:ios7.1.2能下什么软件(ios7 12)
导读这是因为手机不会自动检查最新更新,所以不用打开7 1 2就可以升级I
-
【世界播资讯】观看皮影戏、跳竹竿舞,小学生在校园内沉浸式体验传统文化
极目新闻记者王媛通讯员虢碧莹韦银近日,武汉经济技术开发区薛峰小学开
-
360云盘官网登录首页_360云盘登录入口官网
1、登录360云盘方法:第一种是使用360网页版登陆,还可以下载一个网页
-
联想官方WINDOWS 7重装教程|环球热议
1、重装系统win7旗舰版:打开下载好的口袋PE工具,将U盘插入USB接口,
-
苹果推出Near Drop功能,该功能将允许通过触摸手机来交换联系人方式
苹果推出NearDrop功能,该功能将允许通过触摸手机来交换联系人方式。本
-
冒险岛魔幻紫水晶隐藏地图进不去_冒险岛魔幻紫水晶怎么偷-全球视点
1、阿里安特宫殿第2张地图(就是一条走廊,没有狮像和NPC德),入口左
-
南方有佳人绝世而独立_南方有佳人 环球关注
1、我只听过北方有佳人,而没有南方有佳人原诗北方有佳人李延年北方有
-
橙草书写法(橙草)
来为大家解答以上的问题。橙草书写法,橙草这个很多人还不知道,现在让
-
新华指数|6月5日山东港口大商中心钢坯价格微幅上涨、热轧C料价格小幅上涨-独家
新华财经北京6月5日电(吕世阔、许旻毓)截至6月5日,新华·山东港
-
焦点快报!完工!上海轨交14号线豫园站出入口焕然一新
市绿化市容局介绍,随着轨道交通14号线的通车,豫园路站绿化恢复工程顺
-
广州黄埔区2023第三批人才住房申请时间 快看
【申请时间】自2023年6月2日9:00至2023年6月7日17:00接受申请,本轮申
-
龙岗区开展“杜绝高空抛物”法治宣传进校园活动
6月2日下午,龙岗区司法局、龙岗公安分局与平湖街道办共同为平湖中心学
-
正源股份股东户数减少30户,户均持股4.33万元
正源股份最新股东户数5 83万户,呈现连续3期下降,高于行业平均水平。
-
【世界报资讯】昆明市晋宁区晋城街道:突出“选、育、管、用”蓄好年轻干部“源头活水”
努力建设一支符合新时期好干部标准、忠诚干净担当、数量充足、充满活力
-
世界热点!【原】奇门遁甲(14)两个男人,如何处理?大禹风水
奇门遁甲(14)两个男人,如何处理?大禹风水分析:1求测人落坐巽
-
当前通讯!德媒:本泽马离队打乱皇马计划,多特的贝林厄姆转会收入比预期低
直播吧6月5日讯德媒sport1消息表示,多特和皇马本想尽快完成贝林厄姆的
-
邮箱符号小图标(邮箱符号) 全球焦点
今天小编岚岚来为大家解答以上的问题。邮箱符号小图标,邮箱符号相信很
-
环球关注:长春市九台区筑牢消防安全防线
推动隐患整改,确保消防安全。连日来,九台区组织工作人员深入开展消防
-
天天观天下!马来西亚联邦最高法院一行到海南国际仲裁院交流
原标题:马来西亚联邦最高法院一行到海南国际仲裁院交流近日,马来西亚
-
每日播报!流量卡办哪个运营商的好一些?看完就明白了
相信很多朋友都喜欢小编,闲暇时玩玩王者,刷个视频,赶个剧,所以流量
-
山东省专升本考什么科目(专升本考什么科目)
1、统招专升本各省份的考试形式不一,分为统考和校考两种。2、 (1
-
全球热消息:德州市生态环境局到泰山经济开发区企业开展环保工作交流
通讯员朱斌王禹尧近日,德州市生态环境局来泰安交流环保工作经验,围绕
-
为期两个月 呼和浩特对309个“旧改”小区进行消防安全检查
本网讯(草原全媒·正北方网记者张巧珍)“一组查看小区消防车通道是否畅
-
华侨城 以品质初心守护每一个“家”
“每年生态广场凤凰花开的时候,孩子就会问我,华侨城那个好玩的凤凰花
-
热点评!重拳出击!严打涉考违法犯罪活动 维护高考安全
根据公安部“净网2023”专项行动和国家教育统一考试工作部际联席会议统