📅  最后修改于: 2023-12-03 14:57:05.444000             🧑  作者: Mango
肥皂信封是一种有趣的纸艺手工制品,通常由老报纸等废弃物料制成。通过把废报纸剪成小块、卷起来、编织或者塑造等方式,将废纸变成美丽、实用的信封。随着环保意识的普及,越来越多的人开始尝试制作肥皂信封。这里为您介绍如何用程序代码实现肥皂信封的制作过程。
首先,我们需要准备一些废报纸、剪刀、胶水、笔、尺子等制作工具。在这里,我们使用Python语言来实现肥皂信封的制作。
首先,我们需要将废报纸切成合适大小的长方形。通过代码实现:
length = 18 # 长度
width = 10 # 宽度
paper = [[0 for i in range(width)] for j in range(length)]
上述代码定义了一个18 x 10大小的长方形,其中paper为废报纸的列表表示。
将长方形对角线对折成三角形,并按折痕处将三角形对角线处的底边一分为二,制成两个小三角形。
from math import sqrt
# 三角形等分
def tri_split(tri_list, x, y):
tri_list[x][y+2] = tri_list[x+1][y+2] = 1
for i in range(1, y+2):
tri_list[x+i][y+2+i] = tri_list[x+i+1][y+1+i] = 1
return tri_list
# 对角线等分
def dia_split(tri_list, t):
for i in range(t):
for j in range(t-i):
tri_list = tri_split(tri_list, i, 2*j)
return tri_list
# 生成三角形
def generate_tri(length, width):
tri = [[0 for i in range((width-1)*2+1)] for j in range(length)]
tri_list = dia_split(tri, length)
return tri_list
tri_list = generate_tri(length, width)
上述代码实现了对三角形等分以及对角线等分的操作。tri_list为三角形的列表表示。
将两个小三角形交织编织成肥皂信封的形状,并粘合。
# 交织编织
def braiding(tri_list):
braiding_list = [[0 for i in range(len(tri_list[0]))] for j in range(len(tri_list))]
for i in range(len(tri_list)):
for j in range(len(tri_list[0])):
if tri_list[i][j] == 1:
braiding_list[i][j] = 1
for i in range(len(tri_list)):
for j in range(len(tri_list[0])):
if tri_list[i][j] == 1:
braiding_list[i][len(tri_list[0])-j-1] = 1
return braiding_list
# 制作肥皂信封
def make_envelope(tri_list):
envelope_list = [[0 for i in range(len(tri_list[0]))] for j in range(len(tri_list))]
for i in range(len(tri_list)):
for j in range(len(tri_list[0])):
if (i+j)%4 == 0 and tri_list[i][j] == 1:
envelope_list[i][j] = 1
return envelope_list
braiding_list = braiding(tri_list)
envelope_list = make_envelope(braiding_list)
上述代码实现了交织编织以及制作肥皂信封的过程。braiding_list为交织编织后的列表表示,envelope_list为肥皂信封的列表表示。
最后,将肥皂信封的图案打印出来,形成肥皂信封。
# 打印肥皂信封
def print_envelope(envelope_list):
for i in range(len(envelope_list)):
for j in range(len(envelope_list[0])):
if envelope_list[i][j] == 1:
print("*", end="")
else:
print(" ", end="")
print()
上述代码实现了打印肥皂信封的过程。调用print_envelope(envelope_list)函数即可打印出肥皂信封的图案。
肥皂信封的制作过程需要先将废报纸进行切割,将长方形折叠成三角形,然后将两个小三角形交织编织成肥皂信封的形状,并最后粘合成为肥皂信封。通过Python编写的程序,可以实现自动制作肥皂信封的功能。