/ . / IcosahedralCage / cages.py
Functions
|
|
|
hk_icosahedron_lattice
|
hk_icosahedron_lattice (
h,
k,
radius,
orientation,
)
|
|
triangle_map
|
triangle_map ( tri1, tri2 )
|
|
map_triangles
|
map_triangles ( tmap, triangles )
|
|
hk_triangle
|
hk_triangle ( h, k )
|
|
hk3_to_xyz
|
hk3_to_xyz ( hklist )
|
|
cross_product
|
cross_product ( u, v )
|
|
cut_point
|
cut_point (
u,
v,
tri,
)
Find intersection of segment u->v with triangle boundary.
u and v must be an interior and an exterior point.
Exceptions
|
|
ValueError, 'No intersection %s %s %s' %( u, v, tri )
|
|
|
mask_edge
|
mask_edge ( edge_mask, *edges )
Mask out edges given by pair of vertex indices (0-2). Bits 0, 1, and 2
correspond to edges 0-1, 1-2, and 2-0 respectively.
|
|
triangle_intersection
|
triangle_intersection (
t1,
t2,
edge_mask,
)
Triangulate the portion of triangle t1 inside t2. Only the cases that
occur in the hk icosahedral grids are handled.
Exceptions
|
|
ValueError, 'Unexpected triangle intersection'
|
|
|
surface_geometry
|
surface_geometry ( triangles, tolerance=1e-5 )
Take a list of triangles where each triangle is specified by 3 xyz vertex
positions and convert to a vertex and triangle array where the triangle
array contains indices into the vertex array. Vertices in the original
triangle data that are close (within tolerance) are merged into a single
vertex.
|
|
segment_intersection
|
segment_intersection (
a,
b,
c,
d,
)
Find intersection of segment ab with segment cd.
Return (x,y) or None if no intersectin.
|
|
show_hk_lattice
|
show_hk_lattice (
h,
k,
radius,
orientation='222',
color_rgba=( 1, 1, 1, 1 ),
mesh_line_thickness=1,
sphere_factor=0,
replace=True,
)
Produce hexagonal lattices on an icosahedron.
These lattices are described at
http://viperdb.scripps.edu/icos_server.php?icspage=paradigm
|
|
interpolate_with_sphere
|
interpolate_with_sphere (
varray,
radius,
sphere_factor,
)
|
|
vertex_in_triangle
|
vertex_in_triangle ( v, t )
|
|
|