Introduction
Overview
What this Book includes
Is This Book for You
What Do You Need to Use This Book
How This Book Is Organized
Using Code Examples
Customer Support
Chapter 1: Overview of WPF Programming
New Features in WPF
XAML Basics
Why XAML Needed?
Creating XAML Files
Code-Behind Files
Your First WPF Program
Properties in XAML
Event Handlers in Code-Behind Files
Code-Only Example
XAML-Only Example
Chapter 2: WPF Graphics Basics in 2D
2D Coordinate Systems in WPF
Default Coordinates
Custom Coordinates
Custom Coordinates for 2D Charts
2D Viewport
Zooming and Panning
Basic 2D Graphics Shapes
Lines
Rectangles and Ellipses
Polylines
Polygons
Chapter 3: 2D Transformations
Basics of Matrices and Transforms
Vectors and Points
Scaling
Reflection
Rotation
Translation
Homogeneous Coordinates
Translation in Homogeneous Coordinates
Scaling in Homegeneous Coordinates
Rotation in Homegeneous Coordinates
Combining Transforms
Vector and Matrix in WPF
Vector Structure
Matrix Structure
Matrix Operations
Matrix Transforms
Creating Perpendicular Lines
Object Transforms in WPF
MatrixTransform Class
ScaleTransform Class
TranslateTransform Class
RotateTransform Class
SkewTransform Class
Combining Transforms in WPF
Chapter 4: Geometry and 2D Drawing
Path and Geometry Classes
Line, Rectangle, and Ellipse Geometries
GeometryGroup Class
CombinedGeometry Class
PathGeometry Class
Lines and Polylines
Arcs
Bezier Curves
Geometry and Mini-Language
Interactive 2D Drawing
Mouse Events
Creating and Combining Shapes
Dragging and Moving Shapes
Hit Testing
Custom Shapes
Star Shape
Arrowline
Testing Custom Shapes
Chapter 5: Colors and Brushes
Colors
System Colors
Color Picker
Brushes
SolidColorBrush
LinearGradientBrush
Custom Colormap Brush
RadialGradientBrush
Custom Radial Colormap Brush
ImageBrush
DrawingBrush
VisualBrush
Bitmap Effects
Opacit Masks
Brush Transforms
LinearGradientBrush Transform
RadialGradientBrush Transform
ImageBrush Transform
Drawing and Visual Brush Transform
Chapter 6: Animation
WPF Animation Basics
Property-Based Animation
A Simple Animation in Code
Animation and Storyboard
Storyboard and Even Trigger
Storyboard Animation in Code
Animation and Timing Behavior
Duration
RepeatBehavior
AutoReverse
BeginTime
Speed Controls
Interactive Control
Animation and Transform
Animating Translation
Rolling Balls
Combining Transform Animation
Path Animation
Frame-Based Animation
Key-Frame Animation
Spline Key-Frame Animation
Custom Animation
Custom Animation Class
Per-Frame Animation
Animation Using Timer
Chapter 7: Physics and Games in WPF
Ordinary Differiential Equations
Fourth-Order Runge-Kutta Method
Higher-Order ODEs
ODE Solver
Pendulum
Equation of Motion
Pendulum Simulator
Couple-Spring System
Equations of Motion
Coupled-Spring Simulator
Projectiles
Aerodynamic Drag Force
Projectile Equations of Motion
Golf Game
Collission
Bouncing Ball Physics
Bouncing Ball Simulator
Fractals
Binary Tree
Snowflake
Mandelbrot Set
Julia Set
Chapter 8: Charts in WPF
Simple Line Charts
Creating Simple Line Chart
How It Works?
Line Charts with Data Collection
Chart Style
Data Collection
Data Series
Creating Charts
Gridlines and Labels
XAML Layout
ChartStyleGridlines Class
Testing Project
Legend
Legend Class
Testing Project
Chart User Control
Creating Chart Control
Defining Dependency Propeties
Chart Style for Chart Control
Data Collection and Data Series
Using Chart Control
Creating Simple Chart
Creating Multiple Charts
Chapter 9: 3D Transformations
3D Matrices and Vectors in WPF
3D Points and Wectors
Matrix3D Structure
Matrix3D Operations
Matrix3D Transforms
Rotation and Quaternion
Projections
Orthographic Projections
Multi-View Projections
Axonometric Projections
Perspective Projections
One-Point Perspective Projections
Two-Point Perspective Projections
Three-Point Perspective Projections
Perspective Projection Matrix
Views and Projections in WPF
View Transform
Perspective Projecion
View Frustum
Perspective Transform Matrix
Implementing Perspective Transforms
Testing Perspectice Projections
Orthographic Projecion
Orthographic Transform Matrix
Implementing Orthographic Transforms
Testing Orthograohic projections
Object Transformsin WPF
ScaleTransform3D class
TranslateTransform3D class
Rotate Transform3D class
MatrixTransform3D class
Combining Transforms
Chapter 10: WPF Graphics Basics in 3D
3D Graphics Basics
Viewpoint3D
3D Objects in WPF
Geometry and Mesh
GeometryModel3D and Surfaces
Illuminating the Scene
3Camera Positions
Simple Triangle in 3D
Basic 3D Shapes
Coordinate Axes and Wireframe
Creating Cube
Creating Sphere
Creating Cylinder
Creating Cone
Creating Torus
Chapter 11: Custom 3D Geometries
Cube Geometry
CubeGeometry Class
Testing CubeGeometry
Ellipsoid Geometry
EllipsoidGeometry Class
Testing EllipsoidGeometry
Cylindrical Geometry
CylinderGeometry Class
Testing CylinderGeometry
Cone Geometry
ConeGeometry Class
Testing ConeGeometry
Torus Geometry
TorusGeometry Class
Testing TorusGeometry
Icosahedron Geometry
IcosahedronGeometry Class
Testing IcosahedronGeometry
Dodecahedron Geometry
DodecahedronGeometry Class
Testing DodecahedronGeometry
Soccer Ball Geometry
SoccerGeometry Class
Testing SoccerGeometry
Chapter 12: Custom 3D Shapes
Deriving from UIElement3D
Cube Shape
Cube Shape Class
Testing Cube Shape
Ellipsoid Shape
Ellipsoid Shape Class
Testing Ellipsoid Shape
Cylinder Shape
Cylinder Shape Class
Testing Cylinder Shape
Cone Shape
Cone Shape Class
Testing Cone Shape
Torus Shape
Torus Shape Class
Testing Torus Shape
Icosahedron Shape
Icosahedron Shape Class
Testing Icosahedron Shape
Dodecahedron Shape
Dodecahedron Shape Class
Testing Dodecahedron Shape
Soccer Shape
Soccer Shape Class
Testing Soccer Shape
Combining Shape
Combining Shape Class
Testing Combining Shape
Chapter 13: 3D Surfaces
Simple Surfaces
Rectangular Meshes
SimpleSurface Class
Creating Simple Surfaces
Parametric Surfaces
ParametricSurface Class
Creating Parametric Surfaces
Helicoid Surface
Sphere Surface
Torus Surface
Quadric Surface
Extruded Surfaces
ExtrudedSurface Class
Creating Extruded Surfaces
Surfaces of Revolution
RotatedSurface Class
Creating Surfaces of Revolution
Surface Shading
SurfaceShading Class
Creating Shaded Surfaces
Chapter 14: 3D Model Manipulation
Lighting and Shading
Light Sources
Testing Light Sources
Shading
Materials
Diffuse Materials
Specular and Emissive Materials
Texture Mapping
Using LinearGradientBrush
Using RadialGradientBrush
Uisng Image and Tile Brushes
2D Elements on 3D Surfaces
Viewport2DVisual3D Class
Using Viewport2DVisual3D
Interacting with 3D Models
Hit-Testing for 3D Geometries
Hit-Testing for 3D Shapes
Rotating 3D Models with Mouse
Index