1
0
mirror of https://github.com/Pomax/BezierInfo-2.git synced 2025-02-24 09:33:19 +01:00
BezierInfo-2/pages/index.html
2016-01-22 17:43:40 -08:00

13 lines
3.9 KiB
HTML

<!doctype html>
<html>
<head>
<meta charset='utf-8'>
<title>
A Primer on Bézier Curves
</title>
<base href='..'>
</head>
<body>
<div><div class="ribbon"><img src="images/ribbon.png" alt="This page on GitHub" usemap="#githubmap" width="200px" height="149px"/><map name="githubmap"><area shape="poly" coords="30,0, 200,0, 200,114" href="http://github.com/pomax/BezierInfo-2" alt="This page on GitHub"/></map></div><header><h1>A Primer on Bézier Curves</h1><h2>A free, online book for when you really need to know how to do Bézier things.</h2></header><div><p class="single-notice">This is the one-page-per-section version of the primer, to view the regular version, please click <a href="..">here</a>.</p><div><navigation><ul class="navigation"><li data-number="0"><a href="#preface">Preface</a></li><li data-number="1"><a href="#introduction">A lightning introduction</a></li><li data-number="2"><a href="#whatis">So what makes a Bézier Curve?</a></li><li data-number="3"><a href="#explanation">The mathematics of Bézier curves</a></li><li data-number="4"><a href="#control">Controlling Bézier curvatures</a></li><li data-number="5"><a href="#matrix">Bézier curvatures as matrix operations</a></li><li data-number="6"><a href="#decasteljau">de Casteljau&#x27;s algorithm</a></li><li data-number="7"><a href="#flattening">Simplified drawing</a></li><li data-number="8"><a href="#splitting">Splitting curves</a></li><li data-number="9"><a href="#matrixsplit">Splitting curves using matrices</a></li><li data-number="10"><a href="#reordering">Lowering and elevating curve order</a></li><li data-number="11"><a href="#derivatives">Derivatives</a></li><li data-number="12"><a href="#pointvectors">Tangents and normals</a></li><li data-number="13"><a href="#components">Component functions</a></li><li data-number="14"><a href="#extremities">Finding extremities: root finding</a></li><li data-number="15"><a href="#boundingbox">Bounding boxes</a></li><li data-number="16"><a href="#aligning">Aligning curves</a></li><li data-number="17"><a href="#tightbounds">Tight boxes</a></li><li data-number="18"><a href="#canonical">Canonical form (for cubic curves)</a></li><li data-number="19"><a href="#arclength">Arc length</a></li><li data-number="20"><a href="#arclengthapprox">Approximated arc length</a></li><li data-number="21"><a href="#tracing">Tracing a curve at fixed distance intervals</a></li><li data-number="22"><a href="#intersections">Intersections</a></li><li data-number="23"><a href="#curveintersection">Curve/curve intersection</a></li><li data-number="24"><a href="#abc">The projection identity</a></li><li data-number="25"><a href="#moulding">Manipulating a curve</a></li><li data-number="26"><a href="#pointcurves">Creating a curve from three points</a></li><li data-number="27"><a href="#catmullconv">Bézier curves and Catmull-Rom curves</a></li><li data-number="28"><a href="#catmullmoulding">Creating a Catmull-Rom curve from three points</a></li><li data-number="29"><a href="#polybezier">Forming poly-Bézier curves</a></li><li data-number="30"><a href="#shapes">Boolean shape operations</a></li><li data-number="31"><a href="#projections">Projecting a point onto a Bézier curve</a></li><li data-number="32"><a href="#offsetting">Curve offsetting</a></li><li data-number="33"><a href="#graduatedoffset">Graduated curve offsetting</a></li><li data-number="34"><a href="#circles">Circles and quadratic Bézier curves</a></li><li data-number="35"><a href="#circles_cubic">Circles and cubic Bézier curves</a></li><li data-number="36"><a href="#arcapproximation">Approximating Bézier curves with circular arcs</a></li></ul></navigation></div></div><footer class="copyright">This article is © 2011-2016 to me, Mike &quot;Pomax&quot; Kamermans, but the text, code, and images are <a href="https://github.com/Pomax/bezierinfo/blob/gh-pages/LICENSE.md">almost no rights reserved</a>. Go do something cool with it!</footer></div>
</body>
</html>