写了个珠串的模拟程序



是的,突发奇想,想做个珠串的模拟程序,可以实时调整珠子的顺序,就能快速看到视觉效果能更方便搭配,否则为了尝试需要一直取了串又串了取。
结果在代码实现上遇到了阻碍。我把简单的需求告诉了GPT,GPT来帮我写,始终它没有达到我要的效果,而后我细致地分析了这个需求。
1.是不是我不会提问题?
2.如果我能明确描述这个问题,为什么GPT不能明白?
首先每个珠子的大小是不一致的,我需要每个珠子都紧密地挨在一起,且围成一个圆,每个珠子中间有线穿过,线在相邻两个珠子间是一条直线。
抽象化每个珠子变成了一个矩形。
为了珠子形成一个圆,所以如果这个圆的半径是固定的,则每个珠子在视图上的大小是不固定的,他是一个比例缩放。
最终目的:实现无论多少颗珠子,无论珠子的大小,都能绕成一个圈,紧密相连。

这就变成了一个数学问题。
已知:圆的半径为r;各个矩形块的宽度单位长度为[a,b,c,d,e,f,g],中间间隔的线的单位长度为LineW。
现在需要求出:
1.这个单位长度的单位1是多少?(这就可以得出矩形的宽度,线的长度)
2.每个矩形块到圆中心的距离是多少(其中一个如图蓝色虚线)
3.每个矩形块相对于这个坐标系的角度是多少(其中一个如图蓝色角度)
因为实现的本质是将一个个长方形的块(后期变成图片什么都可以)创建出来,然后旋转到特定的位置,这作为最上层。再用svg在这个坐标系画连接线作为底层(或者不用svg,线也相当于一个个小的矩形)。
我应该已经把这个问题描述清楚了,就像看文字的你应该已经懂了我在说什么。可是我如何把这个问题给到gpt呢,怎么和它描述这个事情?怎么让他写出我想要的代码?
我不知道,真的不知道,因为我尝试了无数遍都无法让它明白弧度和那条直线是不同的,不能直接对圆进行比例切分。
似乎,给它的任务只能尽可能简单(逻辑),尽可能清晰,哪怕现在已经是gpt5了。
因为我并没有给到GPT一个完整的思路,我只告诉了它问题,然而这个问题相对复杂,需要拆分为具体的流程一件件做
在反复的尝试中,发现真的很难按照我上述的需求来做,在朋友ET的思路下:r是个全局变量定值例如r=300,各个块的宽度也认定为定值a,b,c,d,e,f,则就可以求出a,b,c,d,e,f对应的角a,角b……角f了。再用360-角的和 = 剩下的角度,再用剩下的角度平分线,线就相同距离了。再给这些块的宽度乘以一个单位长度就ok了。剩下的就是建立坐标系给做出来。
如果你没仔细思考,肯定没懂上面在说啥。其实问题的根本点就在于我的数学能力很难做到设定这个线的长度是一个定值来进一步做后续的所有计算。GPT也不明白该怎么做,当它不明白的时候,它就会敷衍你,一遍一遍给你错误的答案。
所以我回答自己提出的问题,确实是我没问好问题,GPT能解决的是一个个小的问题,例如到建立坐标系这里的时候,我自己写了一个函数叫做getPoint(),也就是获取一系列的坐标点,但是这个坐标是基于笛卡尔坐标系的,且为了方便我实现我把原点设置在了左下角。这时候我就和GPT说:“我现在这个函数是笛卡尔坐标系,原点在左下角,输出帮我写成svg坐标系的点”,没有任何难度,GPT快速解决。
但是今天我遇到了很多人工智障的时刻。


这怎么可能嘛,一个等腰三角形,腰长300,底边36,这个顶角可能是173度???我反复问,他反复验算都是173度,服不服,我特么咋也是大学毕业了的好吧。
百度的AI就更人工智障了

这个问题你需要去深度思考么,你的思考过程让不让人笑嘛?
算了,我还是自己捡起三角函数吧,很简单的一个东西,我自己很快就写了出来。
很多时候我都过度依赖AI了,不是自己不会,就是自己懒得写,结果让人反思最终不到300行代码实现了。


现在我就可以随心所欲换珠子搭配了,不用每次都重新穿起来看效果,比如



这件事情得到两个结论:
1.不要过分依赖AI
2.头脑清晰,想清楚每一个步骤就会事半功倍,如果发现解决一件事情的路径太难就该试图寻找到其他路径,包括呼叫外援