surfaces - ocw.snu.ac.kr

28
Surfaces Human Centered CAD Lab. 1 2009-05-28

Upload: others

Post on 14-Mar-2022

11 views

Category:

Documents


0 download

TRANSCRIPT

Surfaces

Human Centered CAD Lab.

1 2009-05-28

Surfaces

Parametric eq.

Implicit eq

Explicit eq

0Rzyx 2222

222 yxRz

)2/2/ ,2(0 sincossincoscos),(

vuvRvuRvuRvu kjiP

2

Bezier surface

n

0i

m

0jmj,ni,ji, 101,u0(v)(u)BBv)(u, vPP

n

0ini,mm,mi,m1,i,1m0,i,0 (u)(v))BB(v)B(v)B( PPP

Bezier curve

3

Bezier surface – cont’ Surface obtained by blending (n+1) Bezier curves Or by blending (m+1) Bezier curves

Four corner points on control polyhedron lie on surface

4

Equation

Bezier surface – cont’

P P(0,0) B (0)B (0)i , j i , n j, m

j 0

m

i 0

n

n

0ini,

P

m

0jmj,ji, (0)B(0)B

i,0

P

P Pi,0 i,n 0,0i 0

n

B (0)

5

Bezier surface – cont’ Boundary curves are Bezier curves defined by

associated control points

Bezier curve defined by P0,0, P0,1, …, P0,m

m

0jmj,j0,

mj,

m

0j

P

n

0ini,ji,

n

0i

m

0j

mj,ni,ji,

(v)B

(v)BB

(v)(0)BBv)(0,

j0,

0u

P

P

PP

6

Bezier surface – cont’

When two Bezier surfaces are connected, control points before and after connection should form straight lines to guarantee G1 continuity

7

B-spline surface

Ni,k(u) is defined by s0, s1, …,sn+k

Nj, (v) is defined by t0,t1,…,t +m

If k=(n+1), =m+1 and non-periodic knots are used, the resulting surface will become Bezier surface

n

0i

m

0j 1m1

1n1kj,ki,ji,

tvtsus

(v)(u)NNv)(u,l

lPP

8

ll l

B-spline surface – cont’ Bezier surface is a special case of B-spline surface. Boundary curves are B-spline curves defined by

associated control points. Four corner points of control polyhedron lie one the

surface (when non-periodic knots are used)

9

NURBS surface

If hi,j = 1, B-spline surface is obtained Represent quadric surface(cylindrical, conical,

spherical, paraboloidal, hyperboloidal) exactly

1m1

1n1k

0 0

0 0

tvtsus

(v)(u)

(v)(u)v)(u,

j,li,k

n

i

m

ji,j

n

i

m

jj,li,ki,ji,j

NNh

NNh PP

10

NURBS surface – cont’ Represent a surface obtained by sweeping a curve

11

NURBS surface – cont’ Assume that v-direction of surface is a given Pj v-direction knot & order is the same as the NURBS

Curve’s (order: l, knot: tp) u-direction order is 2 control point: 2 u direction knot: 0 0 1 1 P0,j = Pj P1,j = Pj + d a h0,j= h1,j = hj from the given curve

12

Ex) Translate half circle to make cylinder

13

Ex) Translate half circle to make cylinder P0=(1, 0, 0) h0=1 P1=(1, 1, 0) h1=1/√2 P2=(0, 1, 0) h2=1 P3=(-1, 1, 0) h3= 1/√2 P4=(-1, 0, 0) h4=1 P0,0 = P0, P1,0 = P0+Hk h0,0 = h1,0=1 P0,1 = P1, P1,1 = P1+Hk h0,1 = h1,1= 1/√2 P0,2 = P2, P1,2 = P2+Hk h0,2 = h1,2=1 P0,3 = P3, P1,3 = P3+Hk h0,3 = h1,3= 1/√2 P0,4 = P4, P1,4 = P4+Hk h0,4 = h1,4=1 Knots for v: 0 0 0 1 1 2 2 2 Knots for u: 0 0 1 1

14

Ex) Surface obtained by revolution Curve Order , knot tp (p=0,1,…,m+ ) Control points Pj, hj (j=0,1,…,m)

Original control points needs to be split into 9.

15

Ex) Surface obtained by revolution – cont’ P0,j = Pj h0,j = hj

P1,j = P0,j +xj j = Pj + xj j h1,j = hj·1/√2 P2,j = P1,j - xj i = Pj - xj (i-j) h2,j = hj

P3,j = P2,j - xj i = Pj - xj (2 i-j) h3,j = hj·1/√2 P4,j = P3,j - xj j = Pj - 2xj i h4,j = hj

P5,j = P4,j - xj j = Pj - xj (2 i+j) h5,j = hj·1/√2 P6,j = P5,j + xj i = Pj - xj (i+j) h6,j = hj

P7,j = P6,j + xj i = Pj - xj j h7,j = hj·1/√2 P8,j = P0,j = Pj h8,j = hj

u-direction order: 3 u-direction knot: 0 0 0 1 1 2 2 3 3 4 4 4

Synthesize four quarter circles

16

Interpolation surface Generate a surface from data points Essential in reverse engineering

Derive B-spline surface passing through data points Qp,q(p=0,…n, q=0,…m). Constraints: (n+1)×(m+1) B-spline’s control points:

minimum (n+1)×(m+1) control points are needed.

17

Interpolation surface – cont’

Pi,j should be obtained Let up, vq to be parameter value of Qp,q

up is obtained while interpolating Q0,q, Q1,q,…, Qn,q

vq is obtained while interpolating Qp,0, Qp,1,… , Qp,m

n

0i

m

0jj,ki,ji, (v)(u)NNv)(u, ٛlPP

n

0i

pki,

)(v

m

0j

qj,ji,

n

0i

m

0j

qj,pki,ji,qp,

)(uN)(vN

)(v)N(uN

qi

C

P

PQ

l

l

18

Interpolation surface – cont’

Ci(v0) (i=0,…,n) are control points of B-splineinterpolating Q0,0, Q1,0, …, Qn,0

Similarly Ci(v1) (i=0,…,n) are control points of B-splineinterpolating Q0,1, Q1,1, Q2,1, … , Qn,1

19

n

0ipki,mimp,

n

0ipki,1ip,1

n

0ipki,0ip,0

n

0ipki,qiqp,

)(u)N(v

)(u)N(v

)(u)N(v

)(0

)()(u)N(v

CQ

CQ

CQ

CQ

ainqformtosubstitute

a

Interpolation surface – cont’ Derive Pi,j from Ci(vq) (q=0,…,m)

Substitute 0 to m for q in (b)

m

0j

qqi (b))(v)(v ٛj,li,jNPC

20

Interpolation surface – cont’ Pi,jare control points of B-spline interpolating Ci(v0),

Ci(v1),…,Ci(vm) P0,j are from C0(v0), C0(v1), …, C0(vm) P1,j are from C1(v0), C1(v1), …, C1(vm) Pn,j are from Cn(v0), Cn(v1), …, Cn(vm)

21

22

Interpolation surface – cont’

23

Interpolation surface – cont’

Interpolation surface – cont’ Order k, are usually set to be 4. Knot values (m+1) set of knot values are obtained during

interpolation along u direction (m+1) set are averaged to result knot values in u

direction Knot values in v direction are derived in the same way

24

Intersection between surfaces Many points on the intersection curves are obtained

by numerical solution Intersection curve should be calculated in Boolean

operation, surface modeling, etc. P(u,v) – Q(s,t) = 0 Four unknowns u, v, s, t with three scalar eqs. Set one parameter value and determine remaining

parameter values, repeat with many values Dependent on Initial value. Cannot guarantee all intersection curves

25

Subdivision method Subdivide both surfaces until control polyhedron

approximates the surface Look for intersecting pairs of planar quadrilaterals

and calculate the intersection Initial values are obtained from the intersection of planar

quadrilaterals

26

Subdivision method – cont’ Start from one end of intersection and look for the

next pair to be considered and calculate intersection Until surface boundary is reached Traverse in the opposite direction starting from the other

end Start from different pair until all the intersection

curves are obtained

27

Tracing intersection segments

Searching for the next pair Tracing in reverse

28