Neatening sketched strokes using piecewise French Curves James - - PowerPoint PPT Presentation

neatening sketched strokes using piecewise french curves
SMART_READER_LITE
LIVE PREVIEW

Neatening sketched strokes using piecewise French Curves James - - PowerPoint PPT Presentation

Neatening sketched strokes using piecewise French Curves James McCrae, Karan Singh French Curves Physical tools, used to model curves French Curves Smoothly connect pre-determined curve points French Curves French Curves Digital French


slide-1
SLIDE 1

Neatening sketched strokes using piecewise French Curves

James McCrae, Karan Singh

slide-2
SLIDE 2

French Curves

Physical tools, used to model curves

slide-3
SLIDE 3

French Curves

Smoothly connect pre-determined curve points

slide-4
SLIDE 4

French Curves

slide-5
SLIDE 5

French Curves

slide-6
SLIDE 6

Digital French Curves

Karan Singh. 1999. Interactive curve design using digital French curves. Interactive 3D Graphics (I3D '99). ACM, New York, NY, USA, 23-30.

Two-handed manipulation of digitized French curves (represented as cubic NURBS curves)

slide-7
SLIDE 7

Motivation

The idea: French curves + sketch interface

slide-8
SLIDE 8

Motivation

The idea: French curves + sketch interface Why?

  • Smooth, high quality
  • Specific style/standard
  • Fast to learn
  • Easy curve modelling
slide-9
SLIDE 9

Problem Statement

Specifically, given input polyline

slide-10
SLIDE 10

Problem Statement

Specifically, given input polyline French curve input polyline

slide-11
SLIDE 11

Problem Statement

Specifically, given input polyline French curve input polyline reconstruct the polyline

slide-12
SLIDE 12

Approach

slide-13
SLIDE 13

Approach

slide-14
SLIDE 14

Approach

slide-15
SLIDE 15

Approach

slide-16
SLIDE 16

Approach

slide-17
SLIDE 17

Curvature Profiles

slide-18
SLIDE 18

Curvature Profiles

Discrete curvature estimator:

slide-19
SLIDE 19

Optimal Curvature Fit

slide-20
SLIDE 20

Optimal Curvature Fit

Two parts:

  • 1. Optimal French curve piece for segment of input
  • 2. Optimal segmentation of input curve profile
slide-21
SLIDE 21
  • 1. Optimal French curve piece for segment of input

Solution: Iterate over French curve profiles:

Optimal Curvature Fit

French curve k's profile (gk) Input stroke segment profile (f)

slide-22
SLIDE 22
  • 1. Optimal French curve piece for segment of input

Q: What about closed curves (as all physical French curves would be)?

Optimal Curvature Fit

French curve k's profile (gk) Input stroke segment profile (f)

slide-23
SLIDE 23
  • 1. Optimal French curve piece for segment of input

A: Repeat French curve's profile

Optimal Curvature Fit

slide-24
SLIDE 24
  • 1. Optimal French curve piece for segment of input

Q: Physical French curves can be flipped upside down to produce other curves, address that?

Optimal Curvature Fit

slide-25
SLIDE 25
  • 1. Optimal French curve piece for segment of input

A: At each position, we perform a second evaluation of Efit, negating curvature and reversing arc length direction:

Optimal Curvature Fit

“flip” gk

slide-26
SLIDE 26

Optimal Curvature Fit

Two parts:

  • 1. Optimal French curve piece for segment of input
  • 2. Optimal segmentation of input curve profile
slide-27
SLIDE 27
  • 2. Optimal segmentation of input curve profile

Solution: Use dynamic programming:

Efit(i,j): fit error of optimal French curve piece with points i..j of input curve Ecost: penalty for using additional French curve piece

Optimal Curvature Fit

slide-28
SLIDE 28
  • 2. Optimal segmentation of input curve profile

Optimal Curvature Fit

Ecost = 0.0 50+ pieces Ecost = 0.2 10 pieces Ecost = 0.4 5 pieces

slide-29
SLIDE 29

French Curve Reconstruction

slide-30
SLIDE 30

French Curve Reconstruction

  • Rotate/translate optimal

pieces to input segment endpoints

  • French curve pieces are

piecewise clothoid*, each G2 continuous

*Refer to: James McCrae, Karan Singh. Sketching piecewise clothoid curves, SBIM 2008.

slide-31
SLIDE 31

Interpolating Reconstruction

slide-32
SLIDE 32

Interpolating Reconstruction

  • Adjacent pieces may not

have perfect alignment

slide-33
SLIDE 33

Interpolating Reconstruction

Produces G2 continuity between French curve pieces Blending function:

slide-34
SLIDE 34

Interpolating Reconstruction

Interpolation used for “nearly closed” input

slide-35
SLIDE 35

Results

slide-36
SLIDE 36

Results

slide-37
SLIDE 37

Results

slide-38
SLIDE 38

Results

slide-39
SLIDE 39

Results

slide-40
SLIDE 40

Results

slide-41
SLIDE 41

Summary

We present an algorithm to use French curves with a sketch interface Our approach:

  • Creates a globally optimal input segmentation
  • Selects curvature-optimal French curve pieces
  • Balances number of French curve pieces and

global curvature error

  • Produces G2 continuous curves
  • Runs interactively (for reasonable lengths)
slide-42
SLIDE 42

Thanks

We will be releasing source code and a demo application online soon!

http://www.dgp.toronto.edu/~mccrae/

Thank you!