do not include origin into calculation
This commit is contained in:
parent
c48cee1af2
commit
467638e952
|
@ -487,9 +487,11 @@ class Grid:
|
||||||
size : sequence of float, len (3)
|
size : sequence of float, len (3)
|
||||||
Edge lengths of the grid in meter.
|
Edge lengths of the grid in meter.
|
||||||
seeds : numpy.ndarray of float, shape (:,3)
|
seeds : numpy.ndarray of float, shape (:,3)
|
||||||
Position of the seed points in meter. All points need to lay within the box.
|
Position of the seed points in meter. All points need
|
||||||
|
to lay within the box [(0,0,0),size].
|
||||||
weights : sequence of float, len (seeds.shape[0])
|
weights : sequence of float, len (seeds.shape[0])
|
||||||
Weights of the seeds. Setting all weights to 1.0 gives a standard Voronoi tessellation.
|
Weights of the seeds. Setting all weights to 1.0 gives a
|
||||||
|
standard Voronoi tessellation.
|
||||||
material : sequence of int, len (seeds.shape[0]), optional
|
material : sequence of int, len (seeds.shape[0]), optional
|
||||||
Material ID of the seeds.
|
Material ID of the seeds.
|
||||||
Defaults to None, in which case materials are consecutively numbered.
|
Defaults to None, in which case materials are consecutively numbered.
|
||||||
|
@ -544,7 +546,8 @@ class Grid:
|
||||||
size : sequence of float, len (3)
|
size : sequence of float, len (3)
|
||||||
Edge lengths of the grid in meter.
|
Edge lengths of the grid in meter.
|
||||||
seeds : numpy.ndarray of float, shape (:,3)
|
seeds : numpy.ndarray of float, shape (:,3)
|
||||||
Position of the seed points in meter. All points need to lay within the box.
|
Position of the seed points in meter. All points need
|
||||||
|
to lay within the box [(0,0,0),size].
|
||||||
material : sequence of int, len (seeds.shape[0]), optional
|
material : sequence of int, len (seeds.shape[0]), optional
|
||||||
Material ID of the seeds.
|
Material ID of the seeds.
|
||||||
Defaults to None, in which case materials are consecutively numbered.
|
Defaults to None, in which case materials are consecutively numbered.
|
||||||
|
|
|
@ -134,6 +134,12 @@ def from_grid(grid,
|
||||||
coords, materials : numpy.ndarray, shape (:,3); numpy.ndarray, shape (:)
|
coords, materials : numpy.ndarray, shape (:,3); numpy.ndarray, shape (:)
|
||||||
Seed coordinates in 3D space, material IDs.
|
Seed coordinates in 3D space, material IDs.
|
||||||
|
|
||||||
|
Notes
|
||||||
|
-----
|
||||||
|
The origin is not considered in order to obtain coordinates
|
||||||
|
in a coordinate system located at the origin. This is expected
|
||||||
|
by damask.Grid.from_Voronoi_tessellation.
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
--------
|
--------
|
||||||
Recreate seeds from Voronoi tessellation.
|
Recreate seeds from Voronoi tessellation.
|
||||||
|
@ -166,8 +172,8 @@ def from_grid(grid,
|
||||||
materials = _np.unique(material[mask])
|
materials = _np.unique(material[mask])
|
||||||
coords_ = _np.zeros((materials.size,3),dtype=float)
|
coords_ = _np.zeros((materials.size,3),dtype=float)
|
||||||
for i,mat in enumerate(materials):
|
for i,mat in enumerate(materials):
|
||||||
pc = (2*_np.pi*coords[material[:,0]==mat,:]-grid.origin)/grid.size
|
pc = 2*_np.pi*coords[material[:,0]==mat,:]/grid.size
|
||||||
coords_[i] = grid.origin + grid.size / 2 / _np.pi * (_np.pi +
|
coords_[i] = grid.size / 2 / _np.pi * (_np.pi +
|
||||||
_np.arctan2(-_np.average(_np.sin(pc),axis=0),
|
_np.arctan2(-_np.average(_np.sin(pc),axis=0),
|
||||||
-_np.average(_np.cos(pc),axis=0))) \
|
-_np.average(_np.cos(pc),axis=0))) \
|
||||||
if periodic else \
|
if periodic else \
|
||||||
|
|
Loading…
Reference in New Issue