예제 #1
0
    ]

    cp.cnstr_rhs = np.zeros((len(cp.cnstr_lhs),), dtype=float)

    # @todo - renaming of methods
    # @todo - projection on the caf - to get the initial vector
    # @todo - gemetry transformator
    # @todo - derivatives of caf for the current position.
    # @todo - rthombus generator with cut-away elements
    # @todo - time step counting - save the initial step separately from the time history

    X0 = cp.generate_X0()

    X_fc = cp.solve(X0 + 1e-6)

    print "nodes", cp.get_new_nodes(X_fc)

    #
    #    print 'nodes'
    #    new_nodes = cp.get_new_nodes(X_fc)
    #    cp2 = CreasePattern(nodes = new_nodes,
    #                        crease_lines = cp.crease_lines,
    #                        facets = cp.facets,
    #                        n_steps = 1,
    #                        show_iter = True,
    #                        z0_ratio = 0.1,
    #                        MAX_ITER = 200)
    #
    #    face_z_t = CnstrTargetFace(F = [r_, s_, 0])
    #
    #    cp2.tf_lst = [(face_z_t, n_arr)]
예제 #2
0
    ]

    cp.cnstr_rhs = np.zeros((len(cp.cnstr_lhs),), dtype=float)

    # @todo - renaming of methods
    # @todo - projection on the caf - to get the initial vector
    # @todo - gemetry transformator
    # @todo - derivatives of caf for the current position.
    # @todo - rthombus generator with cut-away elements
    # @todo - time step counting - save the initial step separately from the time history

    X0 = cp.generate_X0()

    X_fc = cp.solve(X0 + 1e-6)

    print 'nodes', cp.get_new_nodes(X_fc)



    my_model = CreasePatternView(data=cp,
                                 ff_resolution=30,
                                 show_cnstr=True)
    my_model.configure_traits()


    
#    al = InfocadLink(data = cp, n_split = 3)
#    al.model_name = 'HP_shell'
#    al.build_inp()

#    al = InfocadLink(data=cp, n_split=3)
    connectivity = [(vertex, neighbors) for vertex, neighbors in zip(cp.interior_vertices, cp.cycled_neighbors.T)]
    print "connectivity", connectivity

    uf = EqConsDevelopability(cp, connectivity=connectivity)
    cp.eqcons["uf"] = uf

    # the derivatives are not correct
    cp.use_G_du = False
    u_unfoldable = cp.solve(u0 + 1e-6, acc=1e-4)

    # ===========================================================================
    # Unfolding
    # ===========================================================================
    #
    new_nodes = cp.get_new_nodes(u_unfoldable)
    cp2 = CreasePattern(
        nodes=new_nodes,
        crease_lines=cp.crease_lines,
        facets=cp.facets,
        n_steps=1,
        show_iter=True,
        z0_ratio=0.1,
        time_arr=np.linspace(1, 0, 10),
        MAX_ITER=200,
    )

    cp2.tf_lst = [(face_z_t, n_arr)]

    cp2.cnstr_lhs = [
        [(n_h[1, 0], 0, 1.0)],  # 0