创意卡片怎么做

创意卡片怎么做

◆ ◆ ◆

前段时间,表弟恩恩在好玩的数学商城淘了套益智玩具,里边有三张别致的卡片勾起了我的兴趣。

创意卡片怎么做

这三张卡片都可以无限翻折

创意卡片怎么做

卡片1 每个画面四个小块

创意卡片怎么做

卡片2 每个画面三个小块

创意卡片怎么做

卡片3 平面六边形的无限翻折

把弄这些奇特的卡片自然想到了两个问题

1. 这些卡片怎么实现无限翻折的?

2. 怎么利用卡片无限翻转的特性?

- 即 -

应用问题:利用折纸创意制作贺卡

理论问题:讨论无限翻折的原理

回应本篇标题,先解决应用问题

创意卡片怎么做

如何设计折纸效果?

制作流程

1. 以卡片1 为例,获取素材图

创意卡片怎么做

2. Photoshop 描出素材框线

创意卡片怎么做

3. 菱块分为四组,每组对应一个画面

创意卡片怎么做

4. 分别填充图片,电子版完成

创意卡片怎么做

5. 打印并按框线折纸

扫描或长按二维码

查看图文教程

高级玩法

△ 一定视觉差下,四个菱块可组成方形

创意卡片怎么做

△ 巧用视觉差

创意卡片怎么做

视觉错觉-别盯着我

△ 按图示裁切,菱块上顶点为原图顶点

创意卡片怎么做

△ 成品效果

创意卡片怎么做

PS:图片裁切费时,多卡片制作容易忙不过来

这时候,万能工具 Python就该登场了。

创意卡片怎么做

Python 编码

Python 有PIL,OpenCV,Scikit-Image 等丰富的图片处理库,这里主要用 skimage 库裁切图片,附参考代码:

函数代码:

from skimage import transform,io<br>from PIL import Image<br><br>def diamond_math(img,size,alpha=45,n=1) :<br>#旋转拉伸<br>im= transform.rotate(img,alpha,resize=True)<br>img = transform.resize(im,size)<br>#转格式<br>file = '%d.png'%n<br>io.imsave(file,img)<br>im = Image.open(file)<br>return im<br><br>def pil_to_ski(img,file='1.png') :<br>img.save(file)<br>img = io.imread(file)<br>return img<br><br>#输入:粘贴对象,文件,大小,位置<br>def pic_paste(img,file,size,loc) :<br>im = io.imread(file) #初始图片im<br>[height,width,_] = im.shape #图片信息<br>l = min(height,width)<br>a = l//2-1<br>b = 2*a+1<br>#切块顺序,左上,右上,右下,左下<br>im_list = [im[0:a, 0:a, :], im[0:a, a:b, :], im[a:b, a:b, :], im[a:b, 0:a, :] ]<br>x,y = loc<br>im_list2 =  #储存拉伸后的图片<br>for i,pic in enumerate(im_list):<br>im_list2.append(diamond_math(pic,size,i*90-45,i))<br>#粘贴图像<br>for i,pic in enumerate(im_list2):<br>img.paste(pic,(x+i*w,y))<br>img.paste(im_list2[0],(x+4*w,y))<br>return img<br>

主函数代码:

h = 300 #设定方块默认像素 <br>w = int(300*1.426)<br>empty_img1 = Image.new("RGBA",(int(4.5*w),int(2.5*h)),'black')<br>empty_img2 = Image.new("RGBA",(int(4.5*w),int(2.5*h)),'black')<br>file1 = input('Please input the file names,pic1:')<br>file2 = input('Please input the file names,pic2:')<br>file3 = input('Please input the file names,pic3:')<br>file4 = input('Please input the file names,pic4:')<br>pic_paste(empty_img1,file1,(h,w),(0,0))<br>pic_paste(empty_img1,file1,(h,w),(0,2*h))<br>pic_paste(empty_img1,file2,(h,w),(0,h))<br>pic_paste(empty_img2,file3,(h,w),(-w//2,-h//2))<br>pic_paste(empty_img2,file3,(h,w),(-w//2,h+h//2))<br>pic_paste(empty_img2,file4,(h,w),(-w//2,h//2))<br>img1 = pil_to_ski(empty_img1,'01.png')<br>img2 = pil_to_ski(empty_img2,'02.png')<br>io.imsave('output.png',img1+img2)<br>input('输出完毕!')

程序制卡效果

创意卡片怎么做

designed by python

- 小结 -

△ 方法1 Photoshop 填充模板图

△ 方法2 Python 运行代码

理论篇

理论是数学探究必不可少的部分,本篇只做铺垫

代码用了菱块对角线比例,有一定测量误差

理论探究正好可以求出所需精确数据

创意卡片怎么做

翻转八连粽的菱块对角线

菱块的比例需精确计算,否则有下边两种情况

创意卡片怎么做

菱块过高,无法翻转

创意卡片怎么做

菱块过长,中间有空隙

近期学业忙碌,理论下次细说

感兴趣的点击下边好看

1000+点赞拟稿下篇

无限翻折汇总

三阶菱块

四阶菱块

(类似地,可设计 n 阶菱块)

平面六边形

创意卡片怎么做

立体八边形

创意卡片怎么做

方块翻折

创意卡片怎么做

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注