NRBGLUE: Glues two NURBS patches together with C^0-continuity at the interface. Calling Sequence: glued = nrbglue(nrb1, nrb2, [side1, side2]) INPUT: nrb1 : first NURBS struct. nrb2 : second NURBS struct. side1 : index of the boundary side of nrb1 to be glued (optional). side2 : index of the boundary side of nrb2 to be glued (optional). OUTPUT: glued : Glued NURBS struct. The resulting NURBS struct has the same orientation as nrb1. Description: The orientation of the NURBS boundaries: ^ V direction | | | | /---------> U direction / / v W direction The indices of the NURBS boundaries (see also nrbextract): 1 : U = 0 2 : U = 1 3 : V = 0 4 : V = 1 5 : W = 0 6 : W = 1 Copyright (C) 2019 Ondine Chanon, Rafael Vazquez 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
nrb1 = nrbline([0,0],[1,1]); nrb2 = nrbline([1,1],[3,4]); glued = nrbglue(nrb1, nrb2); nrbkntplot(glued) title ('Gluing of two straight lines')
Produces the following figure
Figure 1 |
---|
The following code
nrb1 = nrbsquare([0,0],1,1,[1,1],[1,2]); nrb2 = nrbsquare([1,0],3,1,[1,1],[2,2]); glued = nrbglue(nrb1, nrb2); nrbkntplot(glued) title ('Gluing of two bilinear patches')
Produces the following figure
Figure 1 |
---|
The following code
nrb1 = nrbsquare([0,0],1,1,[1,1],[1,2]); nrb2 = nrbsquare([1,0],3,1,[1,1],[2,2]); nrb1 = nrbextrude(nrb1,[0,0,1]); nrb2 = nrbextrude(nrb2,[0,0,1]); glued = nrbglue(nrb1, nrb2); nrbkntplot(glued) title ('Gluing of two trilinear patches')
Produces the following figure
Figure 1 |
---|
Package: nurbs