microstructpy.geometry.n_sphere.NSphere

class microstructpy.geometry.n_sphere.NSphere(**kwargs)[source]

Bases: object

An N-dimensional sphere.

This class represents a generic, n-dimensional sphere. It is defined by a center point and size parameter, which can be either radius or diameter.

If multiple size or position keywords are given, there is no guarantee whhich keywords are used to create the geometry.

Parameters
  • r (float) – (optional) The radius of the n-sphere. Defaults to 1.

  • center (list) – (optional) The coordinates of the center. Defaults to [].

  • radius – Alias for r.

  • d – Alias for 2*r`.

  • diameter – Alias for 2*r.

  • size – Alias for 2*r.

  • position – Alias for center.

approximate()[source]

Approximate the n-sphere with itself

Other geometries can be approximated by a set of circles or spheres. For the n-sphere, this approximation is exact.

Returns

A list containing [(x, y, z, …, r)]

Return type

list

classmethod best_fit(points)[source]

Find n-sphere of best fit for set of points.

This function takes a list of points and computes an n-sphere of best fit, in an algebraic sense. This method was developed using the a published writeup, which was extended from 2D to ND. 1

Parameters

points (list, numpy.ndarray) – List of points to fit.

Returns

An instance of the class that fits the points.

Return type

NSphere

1

Circle fitting writup by Randy Bullock, https://dtcenter.org/met/users/docs/write_ups/circle_fit.pdf

reflect(points)[source]

Reflect points across surface.

This function reflects a point or set of points across the surface of the n-sphere. Points at the center of the n-sphere are not reflected.

Parameters

points (list or numpy.ndarray) – Points to reflect.

Returns

Reflected points.

Return type

numpy.ndarray

within(points)[source]

Test if points are within n-sphere.

This function tests whether a point or set of points are within the n-sphere. For the set of points, a list of booleans is returned to indicate which points are within the n-sphere.

Parameters

points (list or numpy.ndarray) – Point or list of points.

Returns

Set to True for points in geometry.

Return type

bool or numpy.ndarray

property bound_max

maximum bounding n-sphere

Type

tuple

property bound_min

minimum interior n-sphere

Type

tuple

property d

diameter of n-sphere.

Type

float

property diameter

diameter of n-sphere.

Type

float

property limits

list of (lower, upper) bounds for the bounding box

Type

list

property position

position of n-sphere.

Type

list

property radius

radius of n-sphere.

Type

float

property sample_limits

list of (lower, upper) bounds for the sampling region

Type

list

property size

size (diameter) of n-sphere.

Type

float