IsoGeometric Analysis and Point Cloud Fitting
GSplines.g1dimension
— Functiong1dimension(m::{HMesh, Mesh})
Count the dimension of the space of biquintic g1 splines on the mesh, with symmetric quadratic glueing data, using a combinatorial formula depending on the type of edges and vertices in the mesh.
g1dimension(m::{HMesh, Mesh}, kn::Vector)
Computes the dimension of the space of G1 splines associated to the knot sequence kn
on the mesh m
, with symmetric quadratic glueing data.
GSplines.g1hom_matrix
— FunctionCompute the matrix defining the G1 splines on the mesh hm with the knot distribution kn using quadratic glueing data.
It assumes that boundary vertices are regular.
GSplines.g1basis
— FunctionThis function takes in input a quad mesh and returns a sparse matrix containing the coefficients defining a set of G1 biquintic basis functions on the input mesh. The construction holds for both planar and nonplanar quad meshes. The input mesh is assumed to be with isolated EVs and with no boundary EVs.
- ncols of the sparse matrix gives the dimension of the spline space,
- nrows is the total number of control points in the mesh i.e. nfaces*36
Example
using GSplines
m = offdata("triangle_planar.off")
basis = g1basis(m)
GSplines.ToGismo
— FunctionThis function produces the .xml
file containing both the spline geometry and associated biquintic basis functions (stored as sparse matrix) that can be loaded in G+Smo scripts to be used in IsoGeometric Analysis simulations or in point cloud fitting problems.
It may also creates .xml
files containing only the geometry or the set of basis functions.
Example
using GSplines
m = offdata("triangle_planar.off")
s1 = g1surface(m)
basis = g1basis(m)
ToGismo(s1,basis,s1.knots,'filename')