IT

수학공식 액션스크립트 예제

by 모아레 posted May 11, 2010
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

http://www.algorithmist.net/technotes.html

 

Computational Geometry

Focusing primarily on interactive creation and display of two-dimensional curves, I hope this series illustrates that Flash is a valuable tool in teaching computational geometry. Each TechNote below opens in a new browser window.

:: Natural Cubic Splines - Natural and parametric cubic splines.

:: Hermite Curves - Cubic Hermite curves.

:: Quadratic Beizer Curves - Quadratic Beizer's and MovieClip.curveTo().

:: Cubic Bezier Curves - Cubic Bezier's and introduction to quadratic approximation.

:: Catmull-Rom Splines - An introduction to Catmull-Rom Splines.

:: Arc Length of a Catmull-Rom Spline - Arc Length of parametric curves and derivative evaluation, applied to Catmull-Rom splines.

:: Curve-Constrained Scrolling Via Script - Parametric Quadratic and Piecewise Hermite curves applied to curve-constrained scroll indicators.

:: Arc-Length Parameterization - Introduction to curve parameterization and how to reparameterize a curve on arc length. Techniques applied to a Catmull-Rom spline. Examples include how to distribute sprites evenly along a curve and path animation (including path following and orientation).

:: Recursive Subdivision - Splitting a cubic Bezier curve into multiple equivalent, but smaller segments. Several subdivision approaches are discussed with the ultimate goal of pairing a fast subdivision with a piecewise cubic Bezier spline.

:: Composite Bezier Curves - Constructing a piecewise cubic Bezier curve that interpolates a set of knots with G-1 continuity and tension control. Optimized for fast drawing.

Online Demos

These interactive demos illustrate various concepts in applied mathematics. Most initial examples are from the field of computational geometry. All demos required the Flash 9 player.

:: Parameterization Demo - Illustrate the difference bewteen uniform and arc-length parameterization on a cubic Bezier spline.

::Quadratic Bezier Parameterization - illustrates the difference in natural vs arc-length parameterization for a simple quadratic Bezier curve.

::Quad. Bezier, 3-point interpolation - The classic formula familiar to many Flash programmers is actually a simplified version of a more general parameterization, called 'midpoint' parameterization or 'midpoint interpolation'. The more general formula is discussed in the Cubic Bezier TechNote. This demo illustrates the difference between midpoint, chord-length, and arbitrary parameterizations.

::Catmull-Rom Spline animation - a simple example illustrating the animation of a Catmull-Rom spline from beginning to end, as if it were being drawn by hand. Also a subtle introduction to spline parameterization.

::Closed-Loop Catmull-Rom spline - a simple method for setting outer control points for a smooth, continuous-loop Catmull-Rom spline.

::Path Animation with Papervision 3D - a simple demo illustrating path animation with Papervision 3D and the 3D Catmull-Rom spline.

::Lemniscate of Bernoulli - how to use a closed-loop Catmull-Rom spline to animate sprites around a Lemniscate of Bernoulli (infinity or fiture-8 shape).

::Papervision 3D Figure-8's- builds upon the 2D Lemniscate of Bernoulli example to animate markers along figure-8 paths in the XY, XZ, and YZ planes.

::Papervision 3D Path Animation from 3ds max - uses spline data exported from 3ds max (in XML) and the Singularity 3D Bezier spline for path animation in Papervision 3D.

::Quadratic Bezier y at x - computes (t,y) values along a quadratic Bezier curve at a given x-coordinate.

::Cubic Bezier y at x - computes (t,y) values along a cubic Bezier curve at a given x-coordinate.

::Closest Point on Cubic - closest point on a cubic Bezier to an arbitrary point (port of class Graphic Gem algorithm).

::Closest Point on Quadratic - closest point on a quadratic Bezier to an arbitrary point (Graphic Gem algorithm generalized to work with quads or cubics).

::Easing Along a Cubic Bezier Curve- Penner easing functions applied to easing along a parametric curve. Another practical application of arc-length parameterization.

::Cubic Bezier 4-point Interpolation-Interpolating four points with a cubic Bezier curve.