NRBSPHERETILING: Makes an array of NURBS patches representing a
full or partial tiling of the sphere.
Calling Sequences:
[tiling, tile, ver3d] = nrbspheretiling
[tiling, tile, ver3d] = nrbspheretiling(topology)
[tiling, tile, ver3d] = nrbspheretiling(topology, [radius], [center])
INPUT:
topology: String specifying the desired topology for the tiling.
Options are: - 'cube' (default)
- 'ico' for paired icosahedron (nonconforming)
- 'rdode' for rhombic dodecahedron
- 'rtria' for rhombic triacontahedron
- 'dico' for deltoidal icositetrahedron
- 'dhexe' for deltoidal hexecontahedron
- 'octant' for a tiling of the first octant
radius: Radius of the sphere, default 1.0
center: Center of the sphere, default (0,0,0)
OUTPUT:
tiling: Structure array of NURBS objects representing the tiling of the
sphere.
tile: NURBS object representing one tile of the unit sphere. The tile
will be a fourth-order rational Bezier patch.
ver3d: 3-by-4 matrix with the coordinates of the 4 (ordered) vertices
on the unit sphere, ordered clockwise when viewed from outside the
sphere.
See also: nrbspheretile
For more details, see:
Sander Dedoncker, Laurens Coox, Florian Maurin, Francesco Greco, Wim Desmet
Bézier tilings of the sphere and their applications in benchmarking multipatch isogeometric methods
Computer Meth. Appl. Mech. Engrg., 2018
Copyright (C) 2017 Sander Dedoncker
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
The following code
tiling = nrbspheretiling('cube');
figure
hold on
for ii = 1:length(tiling)
nrbkntplot(tiling(ii), 10)
end
title('Spherical cubic tiling')
Produces the following figure
| Figure 1 |
|---|
![]() |
The following code
tiling = nrbspheretiling('ico');
figure
hold on
for ii = 1:length(tiling)
nrbkntplot(tiling(ii), 10)
end
title('Spherical icosahedral tiling')
Produces the following output
Note that the meshes of the icosahedral tiling are non-conforming
and the following figure
| Figure 1 |
|---|
![]() |
The following code
tiling = nrbspheretiling('rdode');
figure
hold on
for ii = 1:length(tiling)
nrbkntplot(tiling(ii), 10)
end
title('Spherical rhombic dodecahedral tiling')
Produces the following figure
Note that the meshes of the icosahedral tiling are non-conforming
and the following figure
| Figure 1 |
|---|
![]() |
The following code
tiling = nrbspheretiling('rtria');
figure
hold on
for ii = 1:length(tiling)
nrbkntplot(tiling(ii), 10)
end
title('Spherical rhombic triacontahedral tiling')
Produces the following figure
Note that the meshes of the icosahedral tiling are non-conforming
and the following figure
| Figure 1 |
|---|
![]() |
The following code
tiling = nrbspheretiling('dico');
figure
hold on
for ii = 1:length(tiling)
nrbkntplot(tiling(ii), 10)
end
title('Spherical deltoidal icositetrahedral tiling')
Produces the following figure
Note that the meshes of the icosahedral tiling are non-conforming
and the following figure
| Figure 1 |
|---|
![]() |
The following code
tiling = nrbspheretiling('dico');
figure
hold on
for ii = 1:length(tiling)
nrbkntplot(tiling(ii), 10)
end
title('Spherical deltoidal hexecontahedral tiling')
Produces the following figure
Note that the meshes of the icosahedral tiling are non-conforming
and the following figure
| Figure 1 |
|---|
![]() |
Package: nurbs