mirror of
https://github.com/Pomax/BezierInfo-2.git
synced 2025-08-30 19:50:01 +02:00
Automated build
This commit is contained in:
45
docs/zh-CN/index.html
generated
45
docs/zh-CN/index.html
generated
@@ -41,7 +41,7 @@
|
||||
<meta property="og:locale" content="zh-CN" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:published_time" content="2013-06-13T12:00:00+00:00" />
|
||||
<meta property="og:updated_time" content="2021-08-30T15:13:10+00:00" />
|
||||
<meta property="og:updated_time" content="2021-08-30T21:59:19+00:00" />
|
||||
<meta property="og:author" content="Mike 'Pomax' Kamermans" />
|
||||
<meta property="og:section" content="Bézier Curves" />
|
||||
<meta property="og:tag" content="Bézier Curves" />
|
||||
@@ -6203,37 +6203,38 @@ lli = function(line1, line2):
|
||||
<p>
|
||||
With <code>A</code> found, finding <code>e1</code> and <code>e2</code> for quadratic curves is a matter of running the linear
|
||||
interpolation with <code>t</code> between start and <code>A</code> to yield <code>e1</code>, and between <code>A</code> and end to yield
|
||||
<code>e2</code>. For cubic curves, there is no single pair of points that can act as <code>e1</code> and <code>e2</code>: as long as the
|
||||
distance ratio between <code>e1</code> to <code>B</code> and <code>B</code> to <code>e2</code> is the Bézier ratio <code>(1-t):t</code>,
|
||||
we can reverse engineer <code>v1</code> and <code>v2</code>:
|
||||
<code>e2</code>. For cubic curves, there is no single pair of points that can act as <code>e1</code> and <code>e2</code> (there are
|
||||
infinitely many, because the tangent at B is a free parameter for cubic curves) so as long as the distance ratio between
|
||||
<code>e1</code> to <code>B</code> and <code>B</code> to <code>e2</code> is the Bézier ratio <code>(1-t):t</code>, we are free to pick any
|
||||
pair, after which we can reverse engineer <code>v1</code> and <code>v2</code>:
|
||||
</p>
|
||||
<!--
|
||||
\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math
|
||||
|
||||
╭ A - e
|
||||
│ 1
|
||||
│ v = A - ──────
|
||||
╡ 1 1 - t
|
||||
│ A - e
|
||||
│ 2
|
||||
│ v = A - ──────
|
||||
╰ 2 t
|
||||
╭ e - t · A
|
||||
│ 1
|
||||
╭ e = (1-t) · v + t · A │ v = ───────────
|
||||
╡ 1 1 \Rightarrow ╡ 1 1-t
|
||||
│ e = (1-t) · A + t · v │ e - (1-t) · A
|
||||
╰ 2 2 │ 2
|
||||
│ v = ───────────────
|
||||
╰ 2 t
|
||||
-->
|
||||
<img class="LaTeX SVG" src="./images/chapters/abc/68a25507037f1a9420c60a5cd3d10f47.svg" width="121px" height="73px" loading="lazy" />
|
||||
<img class="LaTeX SVG" src="./images/chapters/abc/3166afa345aec1abda432c39b68d39a0.svg" width="339px" height="73px" loading="lazy" />
|
||||
<p>And then reverse engineer the curve's control points:</p>
|
||||
<!--
|
||||
\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math
|
||||
|
||||
╭ v - start
|
||||
│ 1
|
||||
│ C = start + ───────────
|
||||
╡ 1 t
|
||||
│ v - end
|
||||
│ 2
|
||||
│ C = end + ─────────
|
||||
╰ 2 1 - t
|
||||
╭ v - (1-t) · start
|
||||
│ 1
|
||||
╭ v = (1-t) · start + t · C │ C = ────────────────────
|
||||
╡ 1 1 \Rightarrow ╡ 1 t
|
||||
│ v = (1-t) · C + t · end │ v - t · end
|
||||
╰ 2 2 │ 2
|
||||
│ C = ──────────────
|
||||
╰ 2 1-t
|
||||
-->
|
||||
<img class="LaTeX SVG" src="./images/chapters/abc/2184aa2a897df864b3a67984be18ef27.svg" width="163px" height="73px" loading="lazy" />
|
||||
<img class="LaTeX SVG" src="./images/chapters/abc/8bd3e6fed5bf8d871d30221ae400fd93.svg" width="383px" height="75px" loading="lazy" />
|
||||
<p>
|
||||
So: if we have a curve's start and end points, then for any <code>t</code> value we implicitly know all the ABC values, which (combined
|
||||
with an educated guess on appropriate <code>e1</code> and <code>e2</code> coordinates for cubic curves) gives us the necessary information
|
||||
|
Reference in New Issue
Block a user