Exemplo n.º 1
0
 def test_cantilever(self, request):
     fem = dfm2.FEM_ShellPlateBendingMITC3()
     fem.param_thickness = 0.02
     fem.param_lambda = 0.0
     fem.param_myu = 1.0e+5
     fem.param_rho = 1.0
     fem.param_gravity_z = -10.0
     fem.updated_topology(self.mesh)
     fem.ls.niter = 2000
     fem.ls.bc[self.mesher.points_on_one_edge(3, True, self.cad), :] = 1
     fem.solve()
     assert len(fem.ls.conv_hist) < fem.ls.niter
     if request.config.getoption('--is_gl') == "true":
         pos1 = numpy.zeros((self.mesh.np_pos.shape[0], 3))
         pos1[:, :2] = self.mesh.np_pos
         pos1[:, 2] = fem.disp[:, 0]
         mesh1 = dfm2.Mesh(pos1, self.mesh.np_elm, dfm2.TRI)
         dfm2.gl.glfw.winDraw3d([mesh1],
                                camera_rotation=[-1.2, 0, 0],
                                nframe=100)
     ####
     EI0 = (math.pow(fem.param_thickness, 3) * self.lz /
            12) * (2.0 * fem.param_myu)
     w0 = (fem.param_thickness * self.lx * self.lz * fem.param_rho *
           fem.param_gravity_z) / self.lx
     zmax = w0 * math.pow(self.lx, 4) / (8 * EI0)  # deformation at the tip
     for i in range(fem.disp.shape[0]):
         z0 = fem.disp[i, 0]
         x0 = self.mesh.np_pos[i, 0]
         x1 = self.lx - x0
         z1 = w0 / (24.0 *
                    EI0) * (3 * math.pow(self.lx, 4) -
                            4 * math.pow(self.lx, 3) * x1 + math.pow(x1, 4))
         assert math.fabs((z0 - z1) / zmax) < 2.0e-3
Exemplo n.º 2
0
def main_CppMeshDynTri2D_0():
  cad = dfm2.Cad2D()
  cad.add_polygon([-1, -1, +1, -1, +1, +1, -1, +1.0])
  mesher = dfm2.Mesher_Cad2D(edge_length=0.1)
  dmesh = mesher.meshing(cad)
  dmesh.cdmsh.check()
  dfm2.gl.glfw.winDraw3d([dmesh.cdmsh,dfm2.gl.AxisXYZ()],winsize=(400,300))
Exemplo n.º 3
0
    def testeigen(self, request):
        fem = dfm2.FEM_ShellPlateBendingMITC3_Eigen()
        fem.param_thickness = 0.02
        fem.param_lambda = 0.0
        fem.param_myu = 68.3 * 1.0e+9 / 2
        fem.param_rho = 2700
        fem.updated_topology(self.mesh)
        fem.ls.f[:] = numpy.random.uniform(-1, 1,
                                           (self.mesh.np_pos.shape[0], 3))
        for itr in range(60):
            fem.solve()
        if request.config.getoption('--is_gl') == "true":
            pos1 = numpy.zeros((self.mesh.np_pos.shape[0], 3))
            pos1[:, :2] = self.mesh.np_pos
            pos1[:, 2] = fem.mode[:, 0]
            mesh1 = dfm2.Mesh(pos1, self.mesh.np_elm, dfm2.TRI)
            dfm2.gl.glfw.winDraw3d([mesh1],
                                   camera_rotation=[-1.2, 0, 0],
                                   nframe=100)

        EI0 = (fem.param_myu * 2.0) * (math.pow(fem.param_thickness, 3) *
                                       self.lz / 12.0)
        rhoA = fem.param_rho * fem.param_thickness * self.lz
        # https://www.mapleprimes.com/DocumentFiles/206657_question/Transverse_vibration_of_beams.pdf
        # https://en.wikipedia.org/wiki/Euler%E2%80%93Bernoulli_beam_theory
        freq_theo = (22.3733) / (self.lx * self.lx) * math.sqrt(
            EI0 / rhoA) / (2 * math.pi)
        assert (math.fabs(freq_theo - fem.freq_eigen) / freq_theo < 0.05)
Exemplo n.º 4
0
 def test_pbd_hex(self, request):
     voxelgrid = dfm2.VoxelGrid()
     voxelgrid.add(0, 0, 0)
     voxelgrid.add(1, 0, 0)
     voxelgrid.add(2, 0, 0)
     voxelgrid.add(1, 1, 0)
     msh = voxelgrid.mesh_hex()
     pbd = dfm2.PBD()
     pbd.updated_topology(msh)
     npIdP = numpy.array([0, 1, 2, 3], dtype=numpy.int32)
     pbd.vec_bc[npIdP] = 1
     fvs = dfm2.FieldValueSetter("0.4*sin(0.8*t)",
                                 pbd.vec_val,
                                 1,
                                 mesh=msh,
                                 npIdP=npIdP,
                                 dt=pbd.dt)
     ##
     mesh_def = dfm2.Mesh(np_pos=pbd.vec_val,
                          np_elm=msh.np_elm,
                          elem_type=dfm2.HEX)
     if request.config.getoption('--is_gl') == "true":
         dfm2.gl.glfw.winDraw3d([fvs, pbd, mesh_def],
                                nframe=100,
                                camera_rotation=[0.1, 0.2, 0.0])
Exemplo n.º 5
0
 def setup_method(self):
     self.cad = dfm2.Cad2D()
     self.lx = 0.5
     self.lz = 0.03
     self.cad.add_polygon(
         list_xy=[0, 0, self.lx, 0, self.lx, self.lz, 0, self.lz])
     self.mesher = dfm2.Mesher_Cad2D(edge_length=0.01)
     self.mesh = self.mesher.meshing(self.cad)
Exemplo n.º 6
0
 def test0(self):
     cad = dfm2.Cad2D()
     cad.add_polygon(list_xy=[-1, -1, +1, -1, +1, +1, -1, +1])
     mesher = dfm2.Mesher_Cad2D()
     mesh = mesher.meshing(cad)
     cdmsh = dfm2.CppMeshDynTri3D()
     dfm2.meshdyntri3d_initialize(cdmsh, mesh.np_pos, mesh.np_elm)
     cdmsh.check()
Exemplo n.º 7
0
def example1():
  sdf0 = dfm2.CppSDF3_Sphere(0.6,[-0.5,0,0],True)
  sdf1 = dfm2.CppSDF3_Sphere(0.6,[+0.5,0,0],True)
  dfm2.gl.glfw.winDraw3d([sdf0,sdf1],winsize=(400,300))

  np_xyz,np_tet = dfm2.isosurface([sdf0,sdf1])
  print(np_xyz.shape,np_tet.shape)
  msh = dfm2.Mesh(np_xyz,np_tet,dfm2.TET)
  dfm2.gl.glfw.winDraw3d([sdf0,sdf1,msh],winsize=(400,300))
Exemplo n.º 8
0
def example0():
    dmsh = dfm2.MeshDynTri2D()
    dmsh.meshing_loops([[0, 0, 1, 0, 1, 1, 0, 1]], edge_length=0.05)
    axis = dfm2.gl.AxisXYZ(1)
    dfm2.gl.glfw.winDraw3d([dmsh, axis], camera_rotation=[0, 1, 0.5])
    #####
    msh = dfm2.Mesh()
    msh.set_extrude(dmsh, 10)
    msh.np_pos[:, 2] *= 0.1
    dfm2.gl.glfw.winDraw3d([msh, axis], camera_rotation=[0, 1, 0.5])
Exemplo n.º 9
0
def main_CppMeshDynTri3D():
  msh = dfm2.Mesh()
  msh.read("../test_inputs/bunny_2k.ply")
  dmesh = dfm2.CppMeshDynTri3D()
  dfm2.meshdyntri3d_initialize(dmesh, msh.np_pos, msh.np_elm)
  dmesh.check()
  for itr in range(500):
    itri0 = random.randint(0,dmesh.ntri()-1)
    iedge0 = random.randint(0,2)
    dmesh.delete_tri_edge(itri0,iedge0)
  dfm2.gl.glfw.winDraw3d([dmesh],winsize=(400,300))
Exemplo n.º 10
0
def femShellPlateBendingMitc3_Eigen(mesh):
    fem = dfm2.FEM_ShellPlateBendingMITC3_Eigen()
    fem.updated_topology(mesh)
    fem.ls.f[:] = numpy.random.uniform(-1, 1, (mesh.np_pos.shape[0], 3))
    for itr in range(60):
        fem.solve()
    pos1 = numpy.zeros((mesh.np_pos.shape[0], 3))
    pos1[:, :2] = mesh.np_pos
    pos1[:, 2] = fem.mode[:, 0]
    mesh1 = dfm2.Mesh(pos1, mesh.np_elm, dfm2.TRI)
    dfm2.gl.glfw.winDraw3d([mesh, mesh1], camera_rotation=[-1.2, 0, 0])
Exemplo n.º 11
0
 def test3(self):
   cad = dfm2.Cad2D()
   cad.add_polygon(list_xy=[-1,-1, +1,-1, +1,+1, -1,+1])
   mesher = dfm2.Mesher_Cad2D(edge_length=0.05)
   dmsh = mesher.meshing(cad)
   assert dmsh.np_pos.shape[1] == 2
   np_xy_bound = numpy.array(cad.ccad.xy_vtxctrl_face(0)).reshape([-1, 2])
   W = dfm2.mvc(dmsh.np_pos, np_xy_bound)
   assert W.ndim == 2
   assert W.shape[0] == dmsh.np_pos.shape[0]
   assert W.shape[1] == len(cad.ccad.xy_vtxctrl_face(0))/2
   assert numpy.linalg.norm(W.sum(axis=1)-numpy.ones((W.shape[0])))<1.0e-3
Exemplo n.º 12
0
def femShellPlateBendingMitc3_Static(cad: dfm2.Cad2D, mesher, mesh: dfm2.Mesh):
    fem = dfm2.FEM_ShellPlateBendingMITC3()
    fem.param_gravity_z = -0.01
    fem.updated_topology(mesh)
    fem.ls.bc[mesher.points_on_one_edge(3, True, cad), :] = 1
    fem.solve()
    print(fem.ls.conv_hist, len(fem.ls.conv_hist))
    pos1 = numpy.zeros((mesh.np_pos.shape[0], 3))
    pos1[:, :2] = mesh.np_pos
    pos1[:, 2] = fem.disp[:, 0]
    mesh1 = dfm2.Mesh(pos1, mesh.np_elm, dfm2.TRI)
    dfm2.gl.glfw.winDraw3d([mesh1], camera_rotation=[-1.2, 0, 0])
Exemplo n.º 13
0
 def test2(self, request):
     print(os.path.abspath(__file__))
     msh = dfm2.Mesh()
     msh.read("../test_inputs/bunny_2k.ply")
     dmesh = dfm2.CppMeshDynTri3D()
     dfm2.meshdyntri3d_initialize(dmesh, msh.np_pos, msh.np_elm)
     dmesh.check()
     for itr in range(100):
         itri0 = random.randint(0, dmesh.ntri() - 1)
         iedge0 = random.randint(0, 2)
         dmesh.delete_tri_edge(itri0, iedge0)
     if request.config.getoption('--is_gl') == "true":
         dfm2.gl.glfw.winDraw3d([dmesh], winsize=(400, 300), nframe=10)
Exemplo n.º 14
0
 def test1(self, request):
     cad = dfm2.Cad2D()
     cad.add_polygon(list_xy=[-1, -1, +1, -1, +1, +1, -1, +1])
     mesher = dfm2.Mesher_Cad2D(edge_length=0.05)
     msh = mesher.meshing(cad)
     fem = dfm2.FEM_ScalarPoisson(source=1.0)
     fem.updated_topology(msh)
     npIdP = cad.points_edge([0, 1, 2, 3], msh.np_pos)
     fem.ls.bc[npIdP] = 1
     fem.solve()
     ##
     field = dfm2.gl.VisFEM_ColorContour(fem, "value")
     if request.config.getoption('--is_gl') == "true":
         dfm2.gl.glfw.winDraw3d([field], nframe=10)
Exemplo n.º 15
0
 def test1(self, request):
     cad = dfm2.Cad2D()
     cad.add_polygon(list_xy=[-1, -1, +1, -1, +1, +1, -1, +1])
     mesher = dfm2.Mesher_Cad2D(edge_length=0.05)
     msh = mesher.meshing(cad)
     fem = dfm2.FEM_SolidLinearDynamic()
     fem.param_gravity_y = -0.1
     fem.updated_topology(msh)
     npIdP = cad.points_edge([3], msh.np_pos)
     fem.ls.bc[npIdP, :] = 1
     ##
     field = dfm2.gl.VisFEM_ColorContour(fem, name_disp="vec_val")
     if request.config.getoption('--is_gl') == "true":
         dfm2.gl.glfw.winDraw3d([fem, field], nframe=100)
Exemplo n.º 16
0
def pbd1(cad, mesh):
    pbd = dfm2.PBD()
    pbd.updated_topology(mesh)
    npIdP = cad.points_edge([0], mesh.np_pos)
    pbd.vec_bc[npIdP] = 1
    fvs = dfm2.FieldValueSetter("0.3*sin(2*t)",
                                pbd.vec_val,
                                0,
                                mesh=mesh,
                                npIdP=npIdP,
                                dt=pbd.dt)
    ####
    mesh2 = dfm2.Mesh(np_pos=pbd.vec_val, np_elm=mesh.np_elm)
    dfm2.gl.glfw.winDraw3d([fvs, pbd, mesh2])
Exemplo n.º 17
0
 def test1(self, request):
     cad = dfm2.Cad2D()
     cad.add_polygon(list_xy=[-1, -1, +1, -1, +1, +1, -1, +1])
     ####
     mesher = dfm2.Mesher_Cad2D(edge_length=0.05)
     msh = mesher.meshing(cad)
     fem = dfm2.FEM_ShellCloth()
     fem.updated_topology(msh)
     npIdP = cad.points_edge([2], msh.np_pos)
     fem.ls.bc[npIdP, 0:3] = 1
     ####
     mesh2 = dfm2.Mesh(np_pos=fem.vec_val, np_elm=msh.np_elm)
     axis = dfm2.gl.AxisXYZ(1.0)
     if request.config.getoption('--is_gl') == "true":
         dfm2.gl.glfw.winDraw3d([fem, mesh2, axis], nframe=100)
Exemplo n.º 18
0
def example1():
    cad = dfm2.Cad2D()
    cad.add_polygon([-1, -1, +1, -1, +1, +1, -1, +1.0])
    mesher = dfm2.Mesher_Cad2D(edge_length=0.05)
    mesh = mesher.meshing(cad)

    fem = dfm2.FEM_ShellCloth()
    fem.updated_topology(mesh)
    npIdP = cad.points_edge([2], mesh.np_pos)
    fem.ls.bc[npIdP, 0:3] = 1
    fem.sdf = dfm2.CppSDF3_Sphere(0.55, [0, +0.5, -1.0], True)

    mesh2 = dfm2.Mesh(np_pos=fem.vec_val, np_elm=mesh.np_elm)
    axis = dfm2.gl.AxisXYZ(1.0)
    dfm2.gl.glfw.winDraw3d([fem, mesh2, axis, fem.sdf])
Exemplo n.º 19
0
def main_CppMeshDynTri2D_1():
  cad = dfm2.Cad2D()
  cad.add_polygon([-1, -1, +1, -1, +1, +1, -1, +1.0])
  mesher = dfm2.Mesher_Cad2D(edge_length=0.1)
  dmesh = mesher.meshing(cad)
  cdmesh = dmesh.cdmsh
  cdmesh.check()
  for itr in range(100):
    itri0 = random.randint(0,cdmesh.ntri()-1)
    r0 = random.uniform(0.02, 0.98)
    r1 = random.uniform(0.01, 0.99-r0)
    ipo= cdmesh.insert_point_elem(itri0,r0,r1)
    cdmesh.delaunay_around_point(ipo)
    cdmesh.check()
  dfm2.gl.glfw.winDraw3d([cdmesh],winsize=(400,300))
Exemplo n.º 20
0
def main():
    global msh, nav
    msh = dfm2.Mesh()
    msh.read("../test_inputs/bunny_2k.ply")
    msh.scale_xyz(0.02)

    nav = dfm2.gl.glfw.NavigationGLFW(1.0)

    glfw.init()
    win_glfw = glfw.create_window(640, 480, 'Hello World', None, None)
    glfw.make_context_current(win_glfw)

    dfm2.gl.setSomeLighting()
    gl.glEnable(gl.GL_DEPTH_TEST)

    glfw.set_mouse_button_callback(win_glfw, mouseButtonCB)
    glfw.set_cursor_pos_callback(win_glfw, mouseMoveCB)
    glfw.set_key_callback(win_glfw, keyFunCB)

    while not glfw.window_should_close(win_glfw):
        gl.glClearColor(1, 1, 1, 1)
        gl.glClear(gl.GL_COLOR_BUFFER_BIT | gl.GL_DEPTH_BUFFER_BIT)
        gl.glEnable(gl.GL_POLYGON_OFFSET_FILL)
        gl.glPolygonOffset(1.1, 4.0)

        nav.camera.set_gl_camera()
        render()
        glfw.swap_buffers(win_glfw)
        glfw.poll_events()
        if nav.isClose:
            break
    glfw.destroy_window(win_glfw)
    glfw.terminate()
    print("closed")
Exemplo n.º 21
0
def main():
	# initialize
    bpy.data.objects.remove(bpy.data.objects["Cube"])   

    dfm2_msh = dfm2.Mesh()
    dfm2_msh.read("../test_inputs/bunny_2k.ply")
    dfm2_msh.normalize(3.0)

    bpy_msh = bpy.data.meshes.new(name="cubemesh")
    bpy_msh.from_pydata(dfm2_msh.np_pos.tolist(), [], dfm2_msh.np_elm.tolist())
    bpy_msh.update()
    bpyobj_msh = bpy.data.objects.new(name="cube", object_data=bpy_msh)
    bpy.context.scene.collection.objects.link(bpyobj_msh)

    myutil.set_tex_environment(
            bpy.context.scene.world,
            '../test_inputs/epping_forest_01_1k.hdr')

    myutil.set_camera_ydirection()

    # render
    bpy.context.scene.render.resolution_percentage = 50
    bpy.context.scene.cycles.samples = 60
    bpy.context.scene.render.engine = 'CYCLES'
    bpy.ops.render.render()
    bpy.data.images['Render Result'].save_render(filepath = os.path.dirname(__file__)+'/out/10_out.png')
Exemplo n.º 22
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("--render", action='store_true')
    if '--' in sys.argv:
        args = parser.parse_args(sys.argv[sys.argv.index('--') + 1:])
    else:
        args = parser.parse_args('')

	# remove initial cube
    bpy.data.objects.remove(bpy.data.objects["Cube"])   

    dfm2_msh = dfm2.Mesh()
    dfm2_msh.read(os.path.dirname(os.path.abspath(__file__))+"/../test_inputs/bunny_2k.ply")
    dfm2_msh.normalize(3.0)

    bpy_msh = bpy.data.meshes.new(name="cubemesh")
    bpy_msh.from_pydata(dfm2_msh.np_pos.tolist(), [], dfm2_msh.np_elm.tolist())
    bpy_msh.update()
    bpyobj_msh = bpy.data.objects.new(name="cube", object_data=bpy_msh)
    bpy.context.scene.collection.objects.link(bpyobj_msh)

    myutil.set_tex_environment(
            bpy.context.scene.world,
            os.path.dirname(os.path.abspath(__file__))+'/../test_inputs/epping_forest_01_1k.hdr')

    myutil.set_camera_ydirection()

    # render
    bpy.context.scene.render.resolution_percentage = 50
    bpy.context.scene.cycles.samples = 60
    bpy.context.scene.render.engine = 'CYCLES'
    if args.render:
        bpy.ops.render.render()
        bpy.data.images['Render Result'].save_render(filepath = os.path.dirname(__file__)+'/out/10_out.png')
Exemplo n.º 23
0
def main():
    cad = dfm2.Cad2D()
    cad.add_polygon(list_xy=[-1, -1, +1, -1, +1, +1, -1, +1])
    dfm2.gl.glfw.winDraw3d([cad])

    cad.add_vtx_face(0, [0.0, 0.0])
    dfm2.gl.glfw.winDraw3d([cad])

    cad.add_vtx_edge(2, [0.0, 0.8])
    dfm2.gl.glfw.winDraw3d([cad])

    cad.set_edge_type(0, dfm2.CAD_EDGE_GEOM_BEZIER_CUBIC, [0.2, 0.3, 0.8, 0.3])
    dfm2.gl.glfw.winDraw3d([cad])

    cad.set_edge_type(0, dfm2.CAD_EDGE_GEOM_LINE, [])
    dfm2.gl.glfw.winDraw3d([cad])

    cad.clear()
    cad.add_polygon(
        list_xy=[-1000, -1000, +1000, -1000, +1000, +1000, -1000, +1000])
    dfm2.gl.glfw.winDraw3d([cad])

    for itr in range(3):
        cad.clear()
        cad.import_svg("../test_inputs/shape" + str(itr) + ".svg")
        dfm2.gl.glfw.winDraw3d([cad])
Exemplo n.º 24
0
  def test1(self,request):
    is_gl = request.config.getoption('--is_gl') == "true"

    ccad = dfm2.CppCad2D()
    ccad.add_polygon([-1,-1, +1,-1, +1,+1, -1,+1])
    assert ccad.check() 
    if is_gl:
        dfm2.gl.glfw.winDraw3d([ccad],nframe=20)

    ccad.add_vtx_face(0.0, 0.0, 0)
    assert ccad.check()
    if is_gl:
        dfm2.gl.glfw.winDraw3d([ccad], nframe=20)

    ccad.add_vtx_edge(0.0,0.8, 2)
    assert ccad.check()
    if is_gl:
        dfm2.gl.glfw.winDraw3d([ccad],nframe=20)

    ccad.set_edge_type(0, dfm2.CAD_EDGE_GEOM_BEZIER_CUBIC, [0.2, 0.3, -0.2, 0.3])
    assert ccad.check()
    if is_gl:
        dfm2.gl.glfw.winDraw3d([ccad], nframe=20)

    ccad.set_edge_type(0, dfm2.CAD_EDGE_GEOM_LINE, [])
    assert ccad.check()
    if is_gl:
        dfm2.gl.glfw.winDraw3d([ccad], nframe=20)
Exemplo n.º 25
0
def main_MeshDynTri2D_1():
  dmsh = dfm2.MeshDynTri2D()
  dmsh.meshing_loops([[-1,-1, +1,-1, +1,+1, -1,+1]],
                     edge_length=0.2)
  dfm2.gl.glfw.winDraw3d([dmsh])
  res = dmsh.refine_EdgeLongerThan_InsideCircle(0.05, 0.0,0.0, 0.5)
  dfm2.gl.glfw.winDraw3d([dmsh])
Exemplo n.º 26
0
 def test1(self, request):
     cad = dfm2.Cad2D()
     cad.add_polygon(list_xy=[-1, -1, +1, -1, +1, +1, -1, +1])
     mesher = dfm2.Mesher_Cad2D(edge_length=0.08)
     mesh = mesher.meshing(cad)
     dmesh = dfm2.CppMeshDynTri3D()
     dfm2.meshdyntri3d_initialize(dmesh, mesh.np_pos, mesh.np_elm)
     dmesh.check()
     for itr in range(100):
         itri0 = random.randint(0, dmesh.ntri() - 1)
         r0 = random.uniform(0.02, 0.98)
         r1 = random.uniform(0.01, 0.99 - r0)
         ipo = dmesh.insert_point_elem(itri0, r0, r1)
         dmesh.delaunay_around_point(ipo)
         dmesh.check()
     if request.config.getoption('--is_gl') == "true":
         dfm2.gl.glfw.winDraw3d([dmesh], winsize=(400, 300), nframe=10)
Exemplo n.º 27
0
    def __init__(self):
        super(QWindow_CadMshFem, self).__init__()
        self.setWindowTitle("CAD_Mesh")

        self.cadmsh = dfm2.CadMesh2D(edge_length=0.05)
        self.cadmsh.add_polygon([-1, -1, +1, -1, +1, +1, -1, +1])

        super().init_UI()
Exemplo n.º 28
0
def test_smpl1():
    import numpy as np
    smpl = np.load("../test_inputs/smpl_model_f.npz")
    npV = smpl["vertices_template"]
    npT = smpl["face_indices"]
    npT[:, :] -= 1  # index should be minus 1
    npIdBoneParent = smpl["kinematic_tree"]
    npJntRgrs = smpl["joint_regressor"]
    print(npJntRgrs.shape)
    npSparseRigW, npSparseRigI = dfm2.cppSparsifyMatrixRow(smpl["weights"])
    npSparseJntW, npSparseJntI = dfm2.cppSparsifyMatrixRow(
        smpl["joint_regressor"])
    print("npSparseRig", npSparseRigW.shape, npSparseRigI.shape)
    print("npSparseJnt", npSparseJntW.shape, npSparseJntI.shape)

    npBlendShape = smpl["shape_blend_shapes"]
    npBlendPose = smpl["pose_blend_shapes"]
Exemplo n.º 29
0
 def test_svg(self,request):
   is_gl = request.config.getoption('--is_gl') == "true"
   cad = dfm2.Cad2D()
   for itr in range(3):
     cad.clear()
     cad.import_svg("../test_inputs/shape" + str(itr) + ".svg")
     if is_gl:
       dfm2.gl.glfw.winDraw3d([cad],nframe=20)
Exemplo n.º 30
0
 def test0(self, request):
     path_img = "../test_inputs/lenna.png"
     np_img = dfm2.imread(path_img)
     tex = dfm2.gl.get_texture(np_img, "rgb")
     print(tex.minmax_xyz())
     axis = dfm2.gl.AxisXYZ(100)
     if request.config.getoption('--is_gl') == "true":
         dfm2.gl.glfw.winDraw3d([tex, axis], winsize=(400, 300), nframe=10)