Final fix of hexpoints + some ipynb demo.
Former-commit-id: cf3c5256aef489e0ac813182593a23bce2d6c3d8
This commit is contained in:
parent
af4eb887c4
commit
d76a036c33
|
@ -4,3 +4,4 @@ __version__ = get_distribution('qpms').version
|
||||||
from qpms_c import *
|
from qpms_c import *
|
||||||
from .qpms_p import *
|
from .qpms_p import *
|
||||||
from .lattices import *
|
from .lattices import *
|
||||||
|
from .hexpoints import *
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
import math
|
import math
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
nx = None
|
||||||
|
|
||||||
_s3 = math.sqrt(3)
|
_s3 = math.sqrt(3)
|
||||||
_e6 = np.array([[math.cos(2*math.pi*i/6),math.sin(2*math.pi*i/6),0] if v3d else [math.cos(2*math.pi*i/6),math.sin(2*math.pi*i/6)] for i in range(6)])
|
|
||||||
_f6 = np.array([[-math.sin(2*math.pi*i/6),math.cos(2*math.pi*i/6),0] if v3d else [math.sin(2*math.pi*i/6),-math.cos(2*math.pi*i/6)] for i in range(6)])
|
|
||||||
|
|
||||||
|
|
||||||
def generate_trianglepoints(maxlayer, include_origin = False, v3d = True, circular = True, sixthindices = False, mirrorindices = False):
|
def generate_trianglepoints(maxlayer, include_origin = False, v3d = True, circular = True, sixthindices = False, mirrorindices = False):
|
||||||
|
_e6 = np.array([[math.cos(2*math.pi*i/6),math.sin(2*math.pi*i/6),0] if v3d else [math.cos(2*math.pi*i/6),math.sin(2*math.pi*i/6)] for i in range(6)])
|
||||||
points = np.empty((3*maxlayer*(maxlayer+1)+(1 if include_origin else 0), 3 if v3d else 2))
|
points = np.empty((3*maxlayer*(maxlayer+1)+(1 if include_origin else 0), 3 if v3d else 2))
|
||||||
point_i = 0
|
point_i = 0
|
||||||
if (include_origin):
|
if (include_origin):
|
||||||
|
@ -72,6 +72,8 @@ def generate_trianglepoints(maxlayer, include_origin = False, v3d = True, circul
|
||||||
'nmi' : nmi if mirrorindices else None}
|
'nmi' : nmi if mirrorindices else None}
|
||||||
|
|
||||||
def generate_trianglepoints_hexcomplement(maxlayer, v3d = True, circular = True, thirdindices = False, mirrorindices=False):
|
def generate_trianglepoints_hexcomplement(maxlayer, v3d = True, circular = True, thirdindices = False, mirrorindices=False):
|
||||||
|
_e6 = np.array([[math.cos(2*math.pi*i/6),math.sin(2*math.pi*i/6),0] if v3d else [math.cos(2*math.pi*i/6),math.sin(2*math.pi*i/6)] for i in range(6)])
|
||||||
|
_f6 = np.array([[-math.sin(2*math.pi*i/6),math.cos(2*math.pi*i/6),0] if v3d else [math.sin(2*math.pi*i/6),-math.cos(2*math.pi*i/6)] for i in range(6)])
|
||||||
points = np.empty((3*maxlayer*maxlayer, 3 if v3d else 2))
|
points = np.empty((3*maxlayer*maxlayer, 3 if v3d else 2))
|
||||||
point_i = 0
|
point_i = 0
|
||||||
# 3 * layer ** 2 is the basis index for a layer, a layer contains 3 * (2*layer + 1) points
|
# 3 * layer ** 2 is the basis index for a layer, a layer contains 3 * (2*layer + 1) points
|
2
setup.py
2
setup.py
|
@ -12,7 +12,7 @@ qpms_c = Extension('qpms_c',
|
||||||
sources = ['qpms/qpms_c.pyx'])
|
sources = ['qpms/qpms_c.pyx'])
|
||||||
|
|
||||||
setup(name='qpms',
|
setup(name='qpms',
|
||||||
version = "0.1.7",
|
version = "0.1.8",
|
||||||
packages=['qpms'],
|
packages=['qpms'],
|
||||||
# setup_requires=['setuptools_cython'],
|
# setup_requires=['setuptools_cython'],
|
||||||
install_requires=['cython>=0.21','quaternion','spherical_functions','py_gmm'],
|
install_requires=['cython>=0.21','quaternion','spherical_functions','py_gmm'],
|
||||||
|
|
Loading…
Reference in New Issue