Curve representation

Download Report

Transcript Curve representation

Basic theory of curve and surface
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Geometric representation
• Parametric
x = x(u),
y = y(u)
• Non-parametric
– Explicit
y = f(x)
– Implicit
f(x, y) = 0
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Geometric representation
• Example - circle
• Parametric
x = R cos,
y = R sin
• Non-parametric
– Explicit
y = R2 – x2
– Implicit
x2 + y2 – R2 = 0
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Geometric representation
• Each form has its own advantages and
disadvantages, depending on the application
for which the equation is used.
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Non-parametric (explicit)
y = f(x)
• Only one y value for each x value
• Cannot represent closed or multiple-valued
curves such as circle
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Non-parametric (implicit)
f(x,y) = 0
ax2 + bxy + cy2 + dx + ey + f = 0
• Advantages – can produce several type of
curve – set the coefficients
• Disadvantages
– Not sure which variable to choose as the
independent variable
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Non-parametric (cont)
• Disadvantages
– Non-parametric elements are axis dependant, so the
choice of coordinate system affects the ease of using
the element and calculating their properties.
– Problem  if the curve has a vertical slope (infinity).
– They represent unbounded geometry e.g
ax + by + c = 0
define an infinite line
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
parametric
• Express relationship for the x, y and z
coordinates not in term of each other but of
one or more independent variable
(parameter).
• Advantages
– Offer more degrees of freedom for controlling
the shape
• (non-parametric) y= ax3 + bx2 + cx + d
• (parametric) x = au3 + bu2 + cu + d
•
y = eu3 + fu2 + gu + h
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Parametric (cont)
• Advantages (cont)
– Transformations can be performed directly on
parametric equations.
– Parametric forms readily handle infinite slopes
without breaking down computationally
dy/dx = (dy/du)/ (dx/du)
– Completely separate the roles of the dependent
and independent variable.
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Parametric (cont)
• Advantages (cont)
- easy to express in the form of vectors and
matrices
- Inherently bounded.
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Parametric curve
• Use parameter to relate coordinate x and y
(2D).
• Analogy
– Parameter t (time) – [ x(t), y(t) as the position
of the particle at time t ]
y
t2
t3
t4
t5
t1
t6
x
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Parametric curve
• Fundamental geometric objects – lines, rays
and line segment
line
a
b
b
ray
a
b
Line segment a
All share the same
parametric representation
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Parametric line
a = (ax, ay), b = (bx, by)
b
a
x(t ) = ax + (bx - ax)t
y(t) = ay + (by - ay)t
• Parameter t is varied from 0 to 1 to define all point
along the line
• When t = 0, the point is at “a”, as t increases
toward 1, the point moves in a straight line to b.
• For line segment : 0  t  1
• For line : -  t  
Suriati bte Sadimon,
• For ray : 0  t Disediakan
 GMM,olehFSKSM,
UTM
Parametric line
• Example
– A line from point (2, 3) to point (-1, 5) can be
represented in parametric form as
x(t) = 2 + (-1 – 2)t = 2 – 3t
y(t) = 3 + (5 – 2)t = 3 + 3t
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Parametric line
• Positions along the line are based upon the
parameter value
– E.g midpoint of a line occurs at t = 0.5
• Exercise :
Find the parametric form for the segment with
endpoints (2, 4, 1) and (7, 5, 5). Find the
midpoint of the segment by using t = 0.5
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Parametric line
• Answer:
Parametric form:
x(t) = 2 + (7 –2)t = 2 + 5t
y(t) = 4 + (5 – 4)t = 4 + t
z(t) = 1 + (5 – 1)t = 1 + 4t
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Parametric line
• Answer
Midpoint
x(0.5) = 2 + 5(0.5) = 5.5  6
Y(0.5) = 4 + (0.5) = 4.5  5
Z(0.5) = 1 + 4(0.5) = 3  3
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Parametric curve (conic section)
• Another basic example
• Conic section - the curves / portions of the curves,
obtained by cutting a cone with a plane.
• The section curve may be a circle, ellipse,
parabola or hyperbola.
ellipse
hyperbola
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
parabola
Parametric curve (circle)
• The simplest non-linear curve - circle
- circle with radius R centered at the origin
• x(t) = R cos(2t)
• y(t) = R sin(2t)
0t1
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Parametric curve (circle)
• If t = 0.125  a 1/8 circle
–t = 0.25  a 1/4 circle
–t = 0.5  a ½ circle
t = 1  a circle
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Circular arc
Parametric curve (circle)
• Circle with center at (xc, yc)
• x(t) = R cos(2t) + xc,
• y(t) = R sin(2t) + yc ,
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Parametric curve
• Ellipse
b
– x(t) = a cos(2t)
– y(t) = b sin(2t)
a
• Hyperbola
– x(t) = a sec(t)
– y(t) = b tan(t)
b
a
• parabola
– x(t) = at2
– y(t) = 2at
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Control for this curve
• Shape (based upon parametric equation)
• Location (based upon center point)
• Size
– Arc (based upon parameter range)
– Radius (a coefficient to unit value)
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Parametric curve
• Generally
– A parametric curve in 3D space has the following form
• F: [0, 1] (x(t), y(t), z(t))
– where x(), y() and z() are three real-valued functions.
Thus, F(t) maps a real value t in the closed interval [0,1]
to a point in space
– for simplicity, we restrict the domain to [0,1]. Thus, for
each t in [0,1], there corresponds to a point (x(t), y(t),
z(t) ) in space.
If z( ) is removed - ?
A curve in a coordinate plane
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Tangent vector and tangent line
• Tangent vector
– Vector tangent to the slope of curve at a given point
• Tangent line
– The line that contains the tangent vector
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Compute tangent vector
• F(t) = (x(t), y(t), z(t))
• Tangent vector :
– F’(t) = (x’(t), y’(t), z’(t))
Where x’(t)= dx/dt, y’(t)= dy/dt, z’(t)= dz/dt
• Magnitude /length
– If vector V = (a, b, c)  |V| =  a2 + b2 + c2
• Unit vector
– Uv = V / |V|
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Compute tangent line
• Tangent line at t is either
– F(t) + uF’(t)
or
– F(t) + u(F’(t)/|F’(t)|)  if prefer unit vector
– u is a parameter for line
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
example
• Question:
- given a Circle, F(t) = (Rcos(2t), R sin(2t))
,0t1
Find tangent vector at t and tangent line at
F(t).
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
example
• Answer
dx = Rcos(2t), dy = R sin(2t)
x’(t) = dx/dt = - 2 Rsin (2t),
y’(t) = dy/dt = 2Rcos(2t)
Tangent vector = (- 2 Rsin (2t), 2Rcos(2t))
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
example
• Answer
• Tangent line
– F(t) + u(F’(t))
– (Rcos(2t), R sin(2t)) + u(- 2 Rsin (2t),
2Rcos(2t))
– (Rcos(2t) + u(- 2 Rsin(2t))) , (R sin(2t) +
u(2Rcos(2t)))
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Example
• Check / prove
R
• Let say, t = 0,
Tangent vector = (- 2 Rsin (2t), 2Rcos(2t))
= (0, 2R)
tangent line = (Rcos(2t) + u(- 2 Rsin(2t))) , (R sin(2t) +
u(2Rcos(2t)))
= (R, u(2R))
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Tangent vector
• Slope of the curve at any point can be
obtained from tangent vector.
• Tangent vector at t = (x’(t), y’(t))
• Slope at t = dy/dx = y’(t)/x’(t)
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
curvature
• The curvature at a point measures the rate of curving
(bending) as the point moves along the curve with unit
speed
• When orientation is changed the curvature changes its sign,
the curvature vector remains the same
• Straight line  curvature = ?
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
curvature
P
P
• Circle is tangent to the curve
at P
• lies toward the concave or
inner side of the curve at P
• Curvature = 1/r , r radius
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
curvature
• The curvature at u, k(u), can be computed as
follows:
• k(u) = | f'(u) × f''(u) | / | f'(u) |3
• How about curvature of a circle ?
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Curve use in design
• Engineering design requires ability to
express complex curve shapes (beyond
conic) and interactive.
– Bounding curves for turbine blades, ship hulls,
etc
– Curve of intersection between surfaces.
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Curve use in design
• A design is “GOOD” if it meets its design
specifications : These may be either :
– Functional - does it works.
– Technical - is it efficient, does it meet certain
benchmark or standard.
– Aesthetic - does it look right, this is both
subjective and opinion is likely to change in
time or combination of both.
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Representing complex curves
•Typically represented
–A series of simpler curve (each defined by a single
equation) pieced together at their
endpoints.(piecewise construction)
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
Representing complex curves
• Typically represented
– Simple curve may be linear or polynomial
– Equation for simpler curves based on control
points (data points used to define the curve).
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
An interactive curve design
a) Desired curve
b) User places
points
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM
c) The algorithm
generates many
points along a
“nearby” curve
An interactive curve design
•
Interactive design consists of the
following steps
1.
2.
3.
4.
5.
Lay down the initial control points
Use the algorithm to generate the curve
If the curve satisfactory, stop.
Adjust some control points
Go to step 2.
Disediakan oleh Suriati bte Sadimon,
GMM, FSKSM, UTM