an efficient brush model for physically-based 3d painting

21
An Efficient Brush An Efficient Brush Model for Model for Physically-Based Physically-Based 3D Painting 3D Painting Nelson S.-H. Chu Nelson S.-H. Chu Chiew-Lan Tai Chiew-Lan Tai

Upload: luka

Post on 30-Jan-2016

39 views

Category:

Documents


0 download

DESCRIPTION

An Efficient Brush Model for Physically-Based 3D Painting. Nelson S.-H. Chu Chiew-Lan Tai. Benefits Over Existing Models. Brush flattening Bristle spreading Plasticity of wetted brushes Resistance of paper surface. Block Diagram. Artists use a brush connected to several sensors to paint - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: An Efficient Brush Model for Physically-Based 3D Painting

An Efficient Brush An Efficient Brush Model for Model for

Physically-Based Physically-Based 3D Painting3D PaintingNelson S.-H. ChuNelson S.-H. Chu

Chiew-Lan TaiChiew-Lan Tai

Page 2: An Efficient Brush Model for Physically-Based 3D Painting

Benefits Over Existing Benefits Over Existing ModelsModels

Brush flatteningBrush flattening Bristle spreadingBristle spreading Plasticity of wetted brushesPlasticity of wetted brushes Resistance of paper surfaceResistance of paper surface

Page 3: An Efficient Brush Model for Physically-Based 3D Painting

Block DiagramBlock Diagram Artists use a brush Artists use a brush

connected to several connected to several sensors to paintsensors to paint

The movements of The movements of the brush are the brush are interpreted by the interpreted by the brush, ink, and brush, ink, and paper modelspaper models

The brush and The brush and strokes are the strokes are the rendered on the rendered on the screenscreen

Page 4: An Efficient Brush Model for Physically-Based 3D Painting

User InterfaceUser Interface

Sensors attached Sensors attached to real brush to to real brush to provide inputprovide input

Ultrasound Ultrasound receivers and receivers and buzzer provide 6 buzzer provide 6 degrees of freedomdegrees of freedom

Gyroscopes provide Gyroscopes provide brush orientation brush orientation informationinformation

Page 5: An Efficient Brush Model for Physically-Based 3D Painting

Actual BrushActual Brush

Made of animal hairsMade of animal hairs Kernel is hard, outer layers are softKernel is hard, outer layers are soft Good brushes are elasticGood brushes are elastic

Tip is less stiff than the rootTip is less stiff than the root

Page 6: An Efficient Brush Model for Physically-Based 3D Painting

Brush SkeletonBrush Skeleton Brush is modeled by line Brush is modeled by line

segmentssegments Spine nodes are made up of Spine nodes are made up of

consecutively shorter line consecutively shorter line segmentssegments

This makes the brush more This makes the brush more flexible at the tipflexible at the tip

Lateral nodes are attached to Lateral nodes are attached to each spine nodeeach spine node

Connection points are modeled by Connection points are modeled by bend springsbend springs

Lateral line segments are Lateral line segments are modeled by stretch springsmodeled by stretch springs

Columns of spine nodes and Columns of spine nodes and lateral nodes represent groups of lateral nodes represent groups of bristlesbristles

Page 7: An Efficient Brush Model for Physically-Based 3D Painting

Tuft Cross SectionTuft Cross Section

Spine nodes are represented at cylindrical Spine nodes are represented at cylindrical groups of bristlesgroups of bristles

Lateral nodes are elliptical groups of bristlesLateral nodes are elliptical groups of bristles Entire tuft is modeled with ellipses at each Entire tuft is modeled with ellipses at each

spinal nodespinal node

Page 8: An Efficient Brush Model for Physically-Based 3D Painting

Brush SurfaceBrush Surface

Lateral nodes Lateral nodes allow the allow the simulation of simulation of bristle spreadingbristle spreading

An alpha map is An alpha map is used for fine used for fine bristle splitting bristle splitting effectseffects

Currently a static Currently a static alpha map is usedalpha map is used

Page 9: An Efficient Brush Model for Physically-Based 3D Painting

Brush DynamicsBrush Dynamics

Exact Newtonian physics is not practicalExact Newtonian physics is not practical Instead, energy minimization is usedInstead, energy minimization is used

An energy function is set up for the system and its An energy function is set up for the system and its steady state is determined by finding a local energy steady state is determined by finding a local energy minimum numerically.minimum numerically.

The state of the system at the previous time step is The state of the system at the previous time step is used as the new initial valueused as the new initial value

This is a ‘static contained minimization This is a ‘static contained minimization problem’problem’

Sequential Quadratic Programming (SQP) is Sequential Quadratic Programming (SQP) is used to solve the energy minimization problemused to solve the energy minimization problem

Page 10: An Efficient Brush Model for Physically-Based 3D Painting

Energy MinimizationEnergy Minimization

Initialize (θ f , φ f ) = (θ i , φ i ) Determine if any nodes penetrate the

paper Set minimization constraints for those

nodes Solve energy minimization problem for the

state of the system and update accordingly

Page 11: An Efficient Brush Model for Physically-Based 3D Painting

Energy FunctionsEnergy Functions E = Edeform + Efrict Edeform has a spine and lateral component, each

of which have bend and stretch components BendEnergy(θ)=kbend|θ|^3 Estretch(d,θ)=kstretch|d-(r+s(θ))|^3

d=distance from node, r=radius of node S is a function of the bend angle

Efrict= u Sum(F*(kf|Xpar|+(1-kf)|Xperp)) F=normal force, kf=weighting value Xpar/perp=distance moved parallel and

perpendicular

Page 12: An Efficient Brush Model for Physically-Based 3D Painting

PlasticityPlasticity Brushes have different Brushes have different

‘plasticities’‘plasticities’ Type of brushType of brush Wetness of brushWetness of brush

Plasticity is the amount by which Plasticity is the amount by which the brush returns to its original the brush returns to its original shapeshape

BendEnergy(θ)=k|θ-p|^3 where: p=min(θ’, alpha)

Alpha changes according to wetness of brush, larger alpha corresponds to more plasticity

Page 13: An Efficient Brush Model for Physically-Based 3D Painting

Ink DepositingInk Depositing

Ink and moisture information is stored at Ink and moisture information is stored at each nodeeach node

The brush footprint is the orthogonal The brush footprint is the orthogonal projection of the penetrating portion of projection of the penetrating portion of the brush onto the paperthe brush onto the paper

Ink is either subtracted from the tuft upon Ink is either subtracted from the tuft upon depositing, or maintained to allow depositing, or maintained to allow continuous paintingcontinuous painting

If the ink is subtracted the tuft alpha map If the ink is subtracted the tuft alpha map is modified too reflect thisis modified too reflect this

Page 14: An Efficient Brush Model for Physically-Based 3D Painting

SpecsSpecs

System written in Object Pascal System written in Object Pascal using Borland Delphi 6using Borland Delphi 6

Runs real-time at 25 frames per Runs real-time at 25 frames per second on a 1GHz Pentium-III with a second on a 1GHz Pentium-III with a GeForce2 Pro graphics cardGeForce2 Pro graphics card

Most time frames require less then Most time frames require less then 10 SQP iterations10 SQP iterations

Page 15: An Efficient Brush Model for Physically-Based 3D Painting

ResultsResults

Page 16: An Efficient Brush Model for Physically-Based 3D Painting
Page 17: An Efficient Brush Model for Physically-Based 3D Painting
Page 18: An Efficient Brush Model for Physically-Based 3D Painting
Page 19: An Efficient Brush Model for Physically-Based 3D Painting
Page 20: An Efficient Brush Model for Physically-Based 3D Painting
Page 21: An Efficient Brush Model for Physically-Based 3D Painting