用编程做连续六边形其实很简单。先说最重要的,你可以在二维平面上通过绘制正六边形并不断复制来实现。另外一点,常用的方法是利用坐标变换。还有个细节挺关键的,就是要注意正六边形的旋转角度是60度。
我一开始也以为要计算每个六边形的中心点位置会比较复杂,后来发现不对,只需要将前一个六边形的中心点旋转60度并适当平移,就可以得到下一个六边形的中心点。
等等,还有个事,如果你的正六边形需要有不同的边长或颜色,那么你需要在生成每个六边形时加入相应的逻辑。比如,去年我们跑的那个项目,六边形的边长根据用户输入动态变化,大概3000量级的数据量都能流畅处理。
所以,我的建议是:首先确定好正六边形的基本参数,比如边长和颜色;其次,使用循环和坐标变换来绘制每个六边形;最后,记得在必要时添加逻辑来处理不同的需求。这个点很多人没注意,我觉得值得试试。
我一开始也以为要计算每个六边形的中心点位置会比较复杂,后来发现不对,只需要将前一个六边形的中心点旋转60度并适当平移,就可以得到下一个六边形的中心点。
等等,还有个事,如果你的正六边形需要有不同的边长或颜色,那么你需要在生成每个六边形时加入相应的逻辑。比如,去年我们跑的那个项目,六边形的边长根据用户输入动态变化,大概3000量级的数据量都能流畅处理。
所以,我的建议是:首先确定好正六边形的基本参数,比如边长和颜色;其次,使用循环和坐标变换来绘制每个六边形;最后,记得在必要时添加逻辑来处理不同的需求。这个点很多人没注意,我觉得值得试试。
直接用代码:
这就是坑,别信用纯CSS做复杂形状。
实操提醒:使用CSS3的border属性和transform属性可以制作出连续六边形,但要注意兼容性和复杂度。
这就是坑,别信用纯CSS做复杂形状。
实操提醒:使用CSS3的border属性和transform属性可以制作出连续六边形,但要注意兼容性和复杂度。