🗿 mesh - 3D Mesh İşleme

Load OBJ/STL, Primitives, Subdivision, Decimation

68
Fonksiyon
891
Satır
28 KB
Boyut

🚀 Hızlı Başlangıç

içe_aktar mesh

// Load mesh
değişken model = mesh.load_obj("model.obj")

// Primitives
değişken cube = mesh.cube(1.0)
değişken sphere = mesh.sphere(0.5, 32, 32)
değişken cylinder = mesh.cylinder(0.5, 2.0, 32)

// Transform
mesh.translate(cube, [1.0, 0.0, 0.0])
mesh.rotate(cube, [0.0, 1.0, 0.0], 45.0)
mesh.scale(cube, [2.0, 1.0, 1.0])

// Normals
mesh.compute_normals(model)

// Save
mesh.save_obj(model, "output.obj")

📚 Operations

💡 Örnekler

Procedural Mesh Generator

içe_aktar mesh, math

fonksiyon terrain_generate(width: tamsayı, height: tamsayı) -> Mesh yap
    değişken m = mesh.new()
    
    // Generate vertices
    her y içinde aralık(0, height) için yap
        her x içinde aralık(0, width) için yap
            değişken z = math.sin(x.kesir() * 0.1) * math.cos(y.kesir() * 0.1) * 5.0
            mesh.add_vertex(m, [x.kesir(), z, y.kesir()])
        son
    son
    
    // Generate faces
    her y içinde aralık(0, height-1) için yap
        her x içinde aralık(0, width-1) için yap
            değişken i0 = y * width + x
            değişken i1 = i0 + 1
            değişken i2 = (y + 1) * width + x
            değişken i3 = i2 + 1
            
            mesh.add_triangle(m, i0, i1, i2)
            mesh.add_triangle(m, i1, i3, i2)
        son
    son
    
    mesh.compute_normals(m)
    dön m
son

değişken terrain = terrain_generate(100, 100)
mesh.save_obj(terrain, "terrain.obj")

← Tüm Modüller