Ejemplo n.º 1
0
    def _test_der(self, positions, weights, rf):
        pd = PowerDiagram(self.domain, rf)
        pd.set_positions(np.array(positions, dtype=np.double))
        pd.set_weights(np.array(weights, dtype=np.double))

        pd.display_vtk("der_int.vtk")

        num = pd.der_integrals_wrt_weight_and_positions()
        print("------------", num.error)
        if num.error:
            return

        ndi = len(positions)
        mat = np.zeros((ndi, ndi))
        for i in range(ndi):
            for o in range(num.m_offsets[i + 0], num.m_offsets[i + 1]):
                mat[i, num.m_columns[o]] = num.m_values[o]

        print("------------", mat)
Ejemplo n.º 2
0
from pysdot.domain_types import ConvexPolyhedraAssembly
from pysdot import PowerDiagram
import numpy as np

positions = np.random.rand( 30, 2 )

domain = ConvexPolyhedraAssembly()
domain.add_box([-1, -1], [2, 2])

# diracs
pd = PowerDiagram( positions, domain = domain )
pd.add_replication( [ +1, 0 ] )
pd.add_replication( [ -1, 0 ] )
pd.display_vtk( "pb.vtk" )