本文整理汇总了Python中oricrete.folding.CreasePattern.show_iter方法的典型用法代码示例。如果您正苦于以下问题:Python CreasePattern.show_iter方法的具体用法?Python CreasePattern.show_iter怎么用?Python CreasePattern.show_iter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类oricrete.folding.CreasePattern
的用法示例。
在下文中一共展示了CreasePattern.show_iter方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: line_test_crane
# 需要导入模块: from oricrete.folding import CreasePattern [as 别名]
# 或者: from oricrete.folding.CreasePattern import show_iter [as 别名]
def line_test_crane(n_steps = 10, dx = 1.0):
"""
"""
cp = CreasePattern(n_steps = n_steps)
cp.nodes = [[0.75, 0.333, 0],
[0.75, 0.667, 0],
[2.25, 0.333, 0],
[2.25, 0.667, 0],
[1.5, 0.5, 1.5],
[0, 0.5, 1],
[3, 0.5, 1],
[0.8, 0.5, 1.266],
[2.2, 0.5, 1.266]
# [0.8, 0.333, 1.0533],
# [0.8, 0.667, 1.0533],
# [2.2, 0.333, 1.0533],
# [2.2, 0.667, 1.0533],
]
cp.crease_lines = [[ 4, 5 ],
[ 4, 6 ],
[ 7, 0],
[ 7, 1],
[ 8, 2],
[ 8, 3]]
# [ 7, 9 ],
# [ 7, 10 ],
# [ 8, 11 ],
# [ 8, 12 ],
# [ 0, 9 ],
# [ 1, 10],
# [ 2, 11],
# [ 3, 12]]
cp.facets = [[0, 1, 2]]
cp.grab_pts = []
cp.line_pts = [[7, 0],
[8, 1]]
cp.cnstr_lhs = [[(4, 2, 1.0)],
#[(0, 1, 1.0)],
[(4, 0, 1.0)],
#[(4, 1, 1.0)],
[(5, 1, 1.0)],
[(5, 2, 1.0)],
[(6, 1, 1.0)],
[(6, 2, 1.0)],
# [(7, 2, 1.0), (9, 2, -1.0)],
# [(7, 0, 1.0), (9, 0, -1.0)],
# [(7, 2, 1.0), (10, 2, -1.0)],
# [(7, 0, 1.0), (10, 0, -1.0)],
# [(8, 2, 1.0), (11, 2, -1.0)],
# [(8, 0, 1.0), (11, 0, -1.0)],
# [(8, 2, 1.0), (12, 2, -1.0)],
# [(8, 0, 1.0), (12, 0, -1.0)],
[(0, 2, 1.0), (1, 2, -1.0)],
[(0, 1, 1.0), (1, 1, -1.0)],
[(0, 0, 1.0), (1, 0, -1.0)],
[(2, 2, 1.0), (3, 2, -1.0)],
[(2, 0, 1.0), (3, 0, -1.0)],
[(2, 1, 1.0), (3, 1, -1.0)],
[(0, 0, 1.0)],
[(2, 1, 1.0)],
[(0, 1, 1.0)],
[(2, 0, 1.0)],
[(0, 2, 1.0)],
[(2, 2, 1.0)],
# [(0, 1, 1.0)],
]
cp.cnstr_rhs = np.zeros((cp.n_dofs,))
cp.cnstr_rhs[0] = dx
X = np.zeros((cp.n_dofs,), dtype = float)
X[14] = 0.0001
X[2] = 0.0001
# X[10] = 0.01
# X[11] = 0.01
print 'necessary constraints', cp.n_dofs - cp.n_c - cp.n_g * cp.n_d - cp.n_l * 2
print 'cnstr', len(cp.cnstr_lhs)
cp.show_iter = True
X = cp.solve(X)
return cp
示例2: rhombus_3x3_crane
# 需要导入模块: from oricrete.folding import CreasePattern [as 别名]
# 或者: from oricrete.folding.CreasePattern import show_iter [as 别名]
#.........这里部分代码省略.........
[1.5, 0.333, 0],
[1.5, 0.667, 0],
[1.5, 1.333, 0],
[1.5, 1.667, 0],
[1.5, 2.333, 0],
[1.5, 2.667, 0],
[2.5, 0.333, 0],
[2.5, 0.667, 0],
[2.5, 1.333, 0], #45
[2.5, 1.667, 0],
[2.5, 2.333, 0],
[2.5, 2.667, 0]]#48
cp.nodes = np.vstack([cp.nodes, grab_nodes])
cp.grab_pts = [[31, 0],
[32, 21],
[33, 1],
[34, 22],
[35, 2],
[36, 23],
[37, 3],
[38, 24],
[39, 4],
[40, 25],
[41, 5],
[42, 26],
[43, 6],
[44, 27],
[45, 7],
[46, 28],
[47, 8],
[48, 29]
]
cnstr_lhs_3 = [[(31, 1, 1.0)],
[(31, 1, 1.0), (36, 1, 1.0)],
[(16, 2, 1.0)],
[(17, 2, 1.0)],
[(18, 2, 1.0)],
[(19, 2, 1.0)],
[(20, 2, 1.0)],
[(21, 2, 1.0)],
[(17, 1, 1.0)],
[(20, 1, 1.0)],
[(20, 0, 1.0)],
[(37, 1, 1.0), (42, 1, 1.0)],
[(31, 2, 1.0), (36, 2, -1.0)],
[(37, 2, 1.0), (42, 2, -1.0)],
[(43, 1, 1.0), (48, 1, 1.0)],
[(43, 2, 1.0), (48, 2, 1.0)],
[(33, 1, 1.0), (34, 1, 1.0)],
[(39, 1, 1.0), (40, 1, 1.0)],
[(45, 1, 1.0), (46, 1, 1.0)],
[(19, 0, 1.0), (21, 0, -1.0)],
[(1, 2, 1.0), (2, 0, -1.0)]
]
cp.cnstr_lhs = cnstr_lhs_3
cp.cnstr_rhs = np.zeros((cp.n_dofs,))
cp.cnstr_rhs[0] = dx
X_ext = np.zeros((cp.n_dofs - len(X_rcp.reshape((-1,))),), dtype = float)
X0 = np.hstack([X_rcp.reshape((-1,)), X_ext])
X0 *= 0.1
#np.set_printoptions(threshold='nan')
print 'dR', cp.get_dR(X0)
print 'R', cp.get_R(X0)
cp.set_next_node(X0)
print 'L_vct', cp.grab_pts_L
print 'n_dofs', cp.n_dofs
print 'n_c', cp.n_c
print 'n_g', cp.n_g
print 'necessary constraints', cp.n_dofs - cp.n_c - cp.n_g * 3 - cp.n_l * 2
print 'cnstr', len(cp.cnstr_lhs)
cp.show_iter = True
X = cp.solve(X0)
return cp