0% found this document useful (0 votes)
16 views15 pages

Hyperpatch Notes

The document discusses parametric solids and hyperpatch models, detailing their mathematical representation using parametric functions and control points. It explains the construction of 3D volumetric meshes using B-spline and NURBS techniques, highlighting the significance of control points and knot vectors in defining the geometry. Additionally, it presents the impact of weight variation on hyperpatch models and demonstrates multi-slice models for knee joints using point cloud data.

Uploaded by

Srushti Patil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views15 pages

Hyperpatch Notes

The document discusses parametric solids and hyperpatch models, detailing their mathematical representation using parametric functions and control points. It explains the construction of 3D volumetric meshes using B-spline and NURBS techniques, highlighting the significance of control points and knot vectors in defining the geometry. Additionally, it presents the impact of weight variation on hyperpatch models and demonstrates multi-slice models for knee joints using point cloud data.

Uploaded by

Srushti Patil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Hyperpatch Notes

PARAMETRIC SOLIDS
• Most direct mathematical way to model a solid is by
using three parametric single-valued functions of the
form
x (u, v, w); y (u, v, w); z (u, v, w).
• The parametric variables u, v, w ϵ [0,1].
• The functions that define coordinates of set of points
forming the solids interior, and exterior.
• The parametric solid and hyperpatch terms can be used
interchangeably.
• Considering the figure 1, one can say that a parametric
solid consists of 8 corner points, 12 curves defining the Figure 1. Parametric Solid
edges and 6 patches defining the faces.
How can you define a parametric solid?
{8} p(0, 0, 0), p(1, 0, 0), p(0, 1, 0), p(0, 0, 1),
Control Points p(1, 1, 0), p(1, 0, 1), p(0, 1, 1), p(1, 1, 1).

Edge curve is a function of one of three parametric


variables.
{12}
p(u, 0, 0), p(u, 1, 0), p(u, 0, 1), p(u, 1, 1),
Edge Curves
p(0, v, 0), p(1, v, 0), p(0, v, 1), p(1, v, 1),
p(0, 0, w), p(1, 0, w), p(0, 1, w), p(1, 1, w).
Bounding Face is a function of two parametric
variable.
{06}
There are 06 possible combinations.
Bounding Face
p(u, v, 0), p(u, 0, w), p(0, v, w),
p(u, v, 1), p(u, 1, w), p(1, v, w),
Representation of a Rectangular Solid

x = (b – a) * u + a;
y = (d – c) * v + c; Where, u, v, w ϵ [0,1].
z = (f – e) * w + e.
Figure 2. Rectangular Solid

%% Coding Analogy
n0 = 5;
u = linspace(0,1,n0);
v = linspace(0,1,n0);
w = linspace(0,1,n0);
X = [x1+(x2-x1).*u]+(x3-x1).*v';
Y = [y1+(y2-y1).*u]+(y3-y1).*v';
Z = [z1+(z2-z1).*u]+(z3-z1).*v';

Figure 2. Heterogeneous Rectangular Solid


Key-Points
• Taking analogy of a single (slice) surface, a processed grided data set
is a collection of points arranged in a rectangular grid of m x n points
in u and v parametric directions.

• Gridded data points in control polyhedron act as control points (Pi,j,k) where geometry is
defined by Cartesian components x, y, z.
• To generate 3-D volumetric meshes from B-spline/NURBS tensor hyperpatch approach,
equal numbers of control points in each slice are required.
• Hyperpatch in other terms is sewing of each of the surface layers which are stacked one
over another, to represent the solid model.
Trials of B-Spline Based Hyperpatch Models

✓ B-spline Hyperpatch, a tri-variate extension of the B-spline patch. The order can be different in each of
parametric directions. Here p, q, r are the order in u, v, w directions respectively.
✓ Here, p (u,v,w) are the position vectors of a point on the solid as a function of parameters u, v and w.
✓ Pi,j,k are the position vectors of the n * m * l defining polyhedron vertices and N i, p , N j, q , N k, r are the
normalized B-spline basis functions in u, v and w parametric directions respectively,
✓ The control points are defined by a set of (l + 1) . (m + 1) . (n + 1) control points. Therefore
{Pi,j,k : 0 ≤ i ≤ l, 0 ≤ j ≤ m, 0 ≤ k ≤ n} and three sets of knots.
{u0, u1, …. ul+p}
{v0, v1, …. vm+q}
{w0, w1, …. wn+r}

𝒏
P (u, v, w) = σ𝒍𝒊=𝟎 σ𝒎 σ
𝒋=𝟎 𝒌=𝟎 𝑷i,j,k𝑵𝒊, 𝒑 𝒖 . 𝑵𝒋, 𝒒 𝒗 . 𝑵𝒌, 𝒓 (𝒘)
6
Fig.4) B-Spline Hyperpatch Models
Pseudo Code for 3D CAD Model Creation for B-Spline Based Models
knotVect = fn_knotVect (order_of_curve, no_of_controlpt)
loop1 increment u_parameter
loop2 increment v_parameter
loop3 increment w_parameter
loop4 increment controlpt _u_direction
bf1= fn_BSP (ctrlpt_u_drctn, odr_of_curve, u, knotVect_ti)
loop5 increment controlpt _v_direction
bf2=fn_BSP(ctrlpt_v_drctn, odr_of_curve, v, knotVect_tj)
loop6 increment controlpt _w_direction
bf3 = fn_BSP (ctrlpt_w_drctn, odr_of_curve,w, knotVect_tk)
geometric_point=fn_NSurf_pt (bf1, bf2, bf3 )
endloop6
endloop5
endloop4
endloop3
endloop2
endloop1 8
NURBS Based Hyperpatch Models

✓ NURBS Hyperpatch, a tri-variate extension of the NURBS patch. The order can be different in each of parametric
directions. Here p, q, r are the order in u, v, w directions respectively.
✓ It is defined by a set of (l + 1) . (m + 1) . (n + 1) control points {P i , j, k : 0 ≤ i ≤ l, 0 ≤ j ≤ m, 0 ≤ k ≤ n} and three sets of
knots. {u0, u1, …. ul+p} {v0, v1, …. vm+q} {w0, w1, …. wn+r}

From the equations of B-Spline Hyperpatch & NURBS surface theory. Analogy for NURBS Hyperpatch was created.

𝒏
S (u, v, w) = H {Sw (u, v, w)} = H {σ𝒍𝒊=𝟎 σ𝒎 σ
𝒋=𝟎 𝒌=𝟎 𝑵𝒊, 𝒑 𝒖 . 𝑵𝒋, 𝒒 𝒗 . 𝑵𝒌, 𝒓 𝒘 . 𝑷𝒘𝒊, 𝒋, 𝒌 }

σ𝒍𝒊=𝟎 σ𝒎 σ𝒏
𝒋=𝟎 𝒌=𝟎 𝑵𝒊,𝒑 𝒖 . 𝑵𝒋 𝒒 𝒗 . 𝑵𝒌,𝒓 𝒘 . 𝒘𝒊𝒋𝒌. 𝑷𝒊,𝒋,𝒌
,
S (u, v, w) = 𝒏
σ𝒍𝒊=𝟎 σ𝒎 σ
𝒋=𝟎 𝒌=𝟎 𝑵𝒊,𝒑 𝒖 . 𝑵𝒋,𝒒 𝒗 .𝑵𝒌,𝒓 𝒘 .𝒘𝒊𝒋𝒌

𝒏
= σ𝒍𝒊=𝟎 σ𝒎 σ
𝒋=𝟎 𝒌=𝟎 𝑹𝒊, 𝒑; 𝒋, 𝒒; 𝒌, 𝒓 𝒖, 𝒗, 𝒘 𝑷𝒊, 𝒋, 𝒌
,
𝑵𝒊 𝒑 𝒗 𝑵𝒋 𝒒 𝒗 .𝑵𝒌 𝒓 𝒘 .𝒘𝒊𝒋𝒌
𝑹𝒊, 𝒑; 𝒋, 𝒒; 𝒌, 𝒓 𝒖, 𝒗, 𝒘 = 𝒍 𝒎
,
𝒏
, ,
σ𝒊=𝟎 σ𝒋=𝟎 σ𝒌=𝟎 𝑵𝒊 𝒑 𝒖 . 𝑵𝒋 𝒒 𝒗 . 𝑵𝒌 𝒓 𝒘 .𝒘𝒊𝒋𝒌 9
, , ,
Pseudo Code for 3D CAD Model Creation for NURBS Based Models
knotVect = fn_knotVect (order_of_curve, no_of_controlpt)
loop1 increment u_parameter
loop2 increment v_parameter
loop3 increment w_parameter
loop4 increment controlpt _u_direction
bf1= fn_BSP (ctrlpt_u_drctn, odr_of_curve, u, knotVect_ti)
loop5 increment controlpt _v_direction
bf2=fn_BSP(ctrlpt_v_drctn, odr_of_curve, v, knotVect_tj)
loop6 increment controlpt _w_direction
bf3 = fn_BSP (ctrlpt_w_drctn, odr_of_curve,w, knotVect_tk)
loop 6a RBSP_Bf =Weight Allocation (hi,j,k)
a=bf1* bf2 * bf3 * h(i,j,k);
geometric_material_point=fn_NSurf_pt (bf1, bf2, bf3 )
b= summation(a);
endloop6
Rational BSP_Bf =a/b;
endloop5
endloop 6a
endloop4
endloop3
endloop2
endloop1 10
HYPERPATCH NURBS MODEL
OBSRERVED EFFECT OF WEIGHT VARIATION
➢ The sphere model was studied for hyper-patch model as
per NURBS code.
➢ The weights were varied and effect on curvature can be
observed.
➢ The smooth variation can be observed on curved surface.
➢ From model (a) one can observe some voids spaces are
present in model where the sphere is inscribed in the
polygon.
➢ From model (b) one can observe that curve smoothens
out and solid tries to confine the control polygon more as
compared to model (a).
a) b)

Fig.5) Weight Variation Effect on shape and material allocation of hyperpatch model of sphere 11
IMPACT OF WEIGHT ON HYPERPATCH
MODELS
MULTI-SLICE MODELS
a) MIMCS INBUILD DATA MODEL b) PATIENT SPECIFIC DATA MODEL
TRIAL TRIAL

❑ Number of slices = 39
❑ Number of slices = 45
❑ Point Cloud Data = 193643 x 4
❑ Point Cloud Data = 93705 x 4
❑ Data- Adult Human Knee Joint
❑ Data- Child Knee Joint
❑ Consecutive slices distance = 4mm
❑ Consecutive slices distance = 3mm

b)
a)

Fig.6) Multi-slice models of knee joint (a) Child Knee Joint, (b) Adult Human Knee Joint 13
The surface (slice) models
are having eight to ten
thousands of point cloud data
on each of them.

So as to make the number of


points equal on each slice
data is interpolated and
surface models are created.

These models with equal


number of points on each
n surface is used to construct
hyperpatch models.
m
{The values of m and n
were kept equal at 45.}
Mesh Model Mesh Model

Slice Model
Slice Model

Solid Model Solid Model


15
Fig.7) Child Knee Model Fig.8) Adult Knee Model

You might also like