コード例 #1
0
def test_volume_polyhedron(polyhedron, volume):
    if volume is None:
        L = length_vector(subtract_vectors(
            polyhedron.vertices[0], polyhedron.vertices[1]))
        volume = L * L * L
    V = volume_polyhedron(polyhedron)
    assert V == pytest.approx(volume, 0.001)
コード例 #2
0
ファイル: test_core.py プロジェクト: lidiatanasova/compas
def test_volume_polyhedron(polyhedron, volume):
    if volume is None:
        L = length_vector(
            subtract_vectors(polyhedron.vertices[0], polyhedron.vertices[1]))
        volume = L * L * L
    V = volume_polyhedron(polyhedron)
    assert close(V, volume)
コード例 #3
0
def tet_volume(tet_end_points):
    assert len(tet_end_points) == 4, 'input points must be four!'
    verts, faces = tet_from_points(tet_end_points)
    if verts and faces:
        return volume_polyhedron((verts, faces))
    else:
        return None
コード例 #4
0
    def volume(self):
        """Compute the volume of the block.

        Returns
        -------
        float
            The volume of the block.
        """
        vertices = [self.vertex_coordinates(key) for key in self.vertices()]
        faces = [self.face_vertices(fkey) for fkey in self.faces()]
        v = volume_polyhedron((vertices, faces))
        return v