快捷搜索:  汽车  科技

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片把弄这些奇特的卡片同时,自然想到了两个问题卡片3 平面六边形的无限翻折这三张卡片都可以无限翻折卡片1 每个画面四个小块卡片2 每个画面三个小块

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(1)

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(2)

◆ ◆ ◆

作者 | 王至宏

广州大学数学系

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

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(3)

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

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(4)

卡片1 每个画面四个小块

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(5)

卡片2 每个画面三个小块

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(6)

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

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

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

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

- 即 -

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

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

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

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(7)

如何设计折纸效果?

制作流程

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

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(8)

2. Photoshop 描出素材框线

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(9)

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

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(10)

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

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(11)

5. 打印并按框线折纸

扫描或长按二维码

查看图文教程

高级玩法

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

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(12)

△ 巧用视觉差

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(13)

视觉错觉-别盯着我

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

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(14)

△ 成品效果

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(15)

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

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

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(16)

Python 编码

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

函数代码:

from skimage import transform io
from PIL import Image

def diamond_math(img size alpha=45 n=1) :
#旋转拉伸
im= transform.rotate(img alpha resize=True)
img = transform.resize(im size)
#转格式
file = '%d.png'%n
io.imsave(file img)
im = Image.open(file)
return im

def pil_to_ski(img file='1.png') :
img.save(file)
img = io.imread(file)
return img

#输入:粘贴对象,文件,大小,位置
def pic_paste(img file size loc) :
im = io.imread(file) #初始图片im
[height width _] = im.shape #图片信息
l = min(height width)
a = l//2-1
b = 2*a 1
#切块顺序,左上,右上,右下,左下
im_list = [im[0:a 0:a :] im[0:a a:b :] im[a:b a:b :] im[a:b 0:a :] ]
x y = loc
im_list2 = #储存拉伸后的图片
for i pic in enumerate(im_list):
im_list2.append(diamond_math(pic size i*90-45 i))
#粘贴图像
for i pic in enumerate(im_list2):
img.paste(pic (x i*w y))
img.paste(im_list2[0] (x 4*w y))
return img

主函数代码:

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

程序制卡效果

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(17)

designed by python

- 小结 -

△ 方法1 Photoshop 填充模板图

△ 方法2 Python 运行代码

理论篇

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

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

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

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(18)

翻转八连粽的菱块对角线

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

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(19)

菱块过高,无法翻转

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(20)

菱块过长,中间有空隙

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

感兴趣的点击下边好看

1000 点赞拟稿下篇

无限翻折汇总

三阶菱块

四阶菱块

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

平面六边形

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(21)

立体八边形

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(22)

方块翻折

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(23)

如有更多补充,欢迎下边留言~

图文编辑:王至宏

排版审稿:金娜

----------------

哪里可以买到这套学具?

请看↓↓↓

动手动脑 玩转数学

江苏省数学文化素质教育资源库特别推荐

做中学、玩中学的数学学具

>><<

长扫识别二维即可购买

1. 学具专题 | 数学文化创意折纸作品秀

2. 学具专题 | 数学文化创意折纸作品秀

3. 学具专题 | 数学文化创意折纸作品秀

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(24)

传播数学,普及大众

长按识别二维码关注我们

欢迎把我们推荐给你身边的朋友

立体卡片制作教程简单又好看:如何制作一张有趣又不乏创意的卡片(25)

▼▼▼点击阅读原文购买学具。

猜您喜欢: