Bitbybit Docs
    Preparing search index...

    Class MeshBitByBit

    Geometri pada mesh segitiga biasa: sebuah mesh adalah daftar segitiga, masing-masing tiga titik. Metode-metode di sini menghitung bidang sebuah segitiga, jarak dari titik ke bidang, dan tempat dua mesh saling memotong, sebagai segmen, sebagai polyline atau sebagai daftar titik. Tidak membutuhkan kernel CAD, sehingga berjalan pada data tertriangulasi apa pun.

    Index

    Constructors

    base

    • Mengukur seberapa jauh sebuah titik dari bidang, dengan tanda: positif di sisi yang dituju normal, negatif di sisi lainnya.

      Contoh: titik [0,5,0] dan bidang XZ dengan normal [0,1,0] -> 5

      Parameters

      Returns number

      Jarak bertanda dalam satuan model

      const above = bitbybit.mesh.signedDistanceToPlane({ point: [0, 5, 0], plane: { normal: [0, 1, 0], d: 0 } });
      

    mesh

    • Menemukan setiap segmen tempat permukaan dua mesh saling menembus, menguji setiap segitiga yang satu terhadap setiap segitiga yang lain.

      Contoh: mesh kubus dan mesh bola -> segmen-segmen yang bersama-sama menelusuri kurva perpotongannya

      Parameters

      Returns Segment3[]

      Segmen-segmen perpotongan, tanpa urutan tertentu

      const segments = bitbybit.mesh.meshMeshIntersectionSegments({ mesh1: cubeTriangles, mesh2: sphereTriangles, tolerance: 1e-7 });
      
    • Menemukan tempat permukaan dua mesh saling menembus dan menyambungkan potongan-potongannya menjadi polyline, tertutup di tempat kurvanya melingkar.

      Contoh: mesh kubus dan mesh bola -> polyline tertutup di tempat kedua permukaan bertemu

      Parameters

      Returns Polyline3[]

      Kurva-kurva perpotongan sebagai polyline

      const curves = bitbybit.mesh.meshMeshIntersectionPolylines({ mesh1: cubeTriangles, mesh2: sphereTriangles, tolerance: 1e-7 });
      
    • Menemukan tempat permukaan dua mesh saling menembus, sebagai satu daftar titik per kurva.

      Kurva tertutup mengulang titik pertamanya di akhir sehingga loop-nya eksplisit. Contoh: mesh kubus dan mesh bola -> daftar-daftar titik yang menelusuri tempat kedua permukaan bertemu

      Parameters

      Returns Point3[][]

      Satu daftar titik per kurva perpotongan

      const curves = bitbybit.mesh.meshMeshIntersectionPoints({ mesh1: cubeTriangles, mesh2: sphereTriangles, tolerance: 1e-7 });
      

    traingle

    • Menemukan bidang tempat sebuah segitiga berada: normal satuannya dan jaraknya dari titik asal sepanjang normal itu.

      Normal mengikuti aturan tangan kanan mengelilingi titik-titik segitiga. Segitiga tanpa luas, yang titik-titiknya berada pada satu garis, tidak memiliki bidang dan menghasilkan undefined. Contoh: [[0,0,0], [1,0,0], [0,1,0]] -> { normal: [0,0,1], d: 0 }

      Parameters

      Returns TrianglePlane3

      Bidang, atau undefined untuk segitiga yang gepeng

      const plane = bitbybit.mesh.calculateTrianglePlane({ triangle: [[0, 0, 0], [1, 0, 0], [0, 1, 0]], tolerance: 1e-7 });
      
    • Menemukan segmen tempat dua segitiga saling menembus.

      Segitiga yang tidak bersentuhan, sejajar, atau terletak pada bidang yang sama menghasilkan undefined. Contoh: segitiga pada bidang XY dan segitiga yang berdiri melintanginya -> segmen tempat keduanya berpotongan

      Parameters

      Returns Segment3

      Segmen perpotongan, atau undefined jika tidak ada

      const cut = bitbybit.mesh.triangleTriangleIntersection({
      triangle1: [[0, 0, 0], [2, 0, 0], [1, 2, 0]],
      triangle2: [[1, -1, 1], [1, 1, 1], [1, 1, -1]],
      tolerance: 1e-7,
      });