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)
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" )