◆ ◆ ◆
作者 | 王至宏
廣州大學數學系
前段時間,表弟恩恩在好玩的數學商城淘了套益智玩具,里邊有三張別致的卡片勾起了我的興趣。
這三張卡片都可以無限翻折
卡片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,iofrom PIL import Imagedef diamond_math(img,size,alpha=45,n=1) :#旋轉拉伸im= transform.rotate(img,alpha,resize=True)img = transform.resize(im,size)#轉格式file = '%d.png'%nio.imsave(file,img)im = Image.open(file)return imdef 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-1b = 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 = locim_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('Plea input the file names,pic1:')file2 = input('Plea input the file names,pic2:')file3 = input('Plea input the file names,pic3:')file4 = input('Plea 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('輸出完畢!')
程序制卡效果
designed by python
- 小結 -
△ 方法1 Photoshop 填充模板圖
△ 方法2 Python 運行代碼
理論篇
理論是數學探究必不可少的部分,本篇只做鋪墊
代碼用了菱塊對角線比例,有一定測量誤差
理論探究正好可以求出所需精確數據
翻轉八連粽的菱塊對角線
菱塊的比例需精確計算,否則有下邊兩種情況
菱塊過高,無法翻轉
菱塊過長,中間有空隙
近期學業忙碌,理論下次細說
感興趣的點擊下邊好看,
1000+點贊擬稿下篇
無限翻折匯總
三階菱塊
四階菱塊
(類似地,可設計 n 階菱塊)
平面六邊形
立體八邊形
方塊翻折
如有更多補充,歡迎下邊留言~
圖文編輯:王至宏
排版審稿:金娜
----------------
哪里可以買到這套學具?
請看↓↓↓
動手動腦 玩轉數學
江蘇省數學文化素質教育資源庫特別推薦
做中學、玩中學的數學學具
>><<
長掃識別二維即可購買
▼
1. 學具專題 | 數學文化創意折紙作品秀
2. 學具專題 | 數學文化創意折紙作品秀
3. 學具專題 | 數學文化創意折紙作品秀
傳播數學,普及大眾
長按識別二維碼關注我們
歡迎把我們推薦給你身邊的朋友
▼
▼▼▼點擊閱讀原文購買學具。
本文發布于:2023-02-28 21:03:00,感謝您對本站的認可!
本文鏈接:http://m.newhan.cn/zhishi/a/167771996597574.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:如何制作卡片(如何制作卡片的方法圖片).doc
本文 PDF 下載地址:如何制作卡片(如何制作卡片的方法圖片).pdf
| 留言與評論(共有 0 條評論) |