summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse20.html
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse20.html')
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse20.html1605
1 files changed, 1605 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse20.html b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse20.html
new file mode 100644
index 00000000000..84f383572c1
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse20.html
@@ -0,0 +1,1605 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html >
+<head><title>20 Specifying Coordinates</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="TeX4ht (http://www.cis.ohio-state.edu/~gurari/TeX4ht/mn.html)">
+<meta name="originator" content="TeX4ht (http://www.cis.ohio-state.edu/~gurari/TeX4ht/mn.html)">
+<!-- html -->
+<meta name="src" content="pgfmanual.tex">
+<meta name="date" content="2005-10-23 18:34:00">
+<link rel="stylesheet" type="text/css" href="pgfmanual.css">
+</head><body
+>
+ <div class="crosslinks"><p class="noindent">[<a
+href="pgfmanualse21.html" >next</a>] [<a
+href="pgfmanualse19.html" >prev</a>] [<a
+href="pgfmanualse19.html#tailpgfmanualse19.html" >prev-tail</a>] [<a
+href="#tailpgfmanualse20.html">tail</a>] [<a
+href="pgfmanual.html#pgfmanualse20.html" >up</a>] </p></div>
+ <h3 class="sectionHead"><span class="titlemark">20 </span> <a
+ id="x21-20400020"></a>Specifying Coordinates</h3>
+<!--l. 12--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">20.1 </span> <a
+ id="x21-20500020.1"></a>Overview</h4>
+<!--l. 14--><p class="noindent">Most <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;commands expect you to provide the coordinates of a <span
+class="cmti-10">point </span>(also called <span
+class="cmti-10">coordinate</span>) inside your picture.
+Points are always &#8220;local&#8221; to your picture, that is, they never refer to an absolute position on the page, but to a
+position inside the current <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">{pgfpicture}</span></span></span> environment. To specify a coordinate you can use commands that start
+with <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfpoint</span></span></span>.
+<!--l. 21--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">20.2 </span> <a
+ id="x21-20600020.2"></a>Basic Coordinate Commands</h4>
+<!--l. 23--><p class="noindent">The following commands are the most basic for specifying a coordinate.
+<!--l. 26--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox195"><span
+class="cmtt-10">\pgfpoint</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">x coordinate</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">y coordinate</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-206001"></a>
+ <!--l. 27--><p class="noindent">Yields a point location. The coordinates are given as <span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;dimensions.
+ <!--l. 30--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-415-" ><colgroup id="TBL-415-1g"><col
+id="TBL-415-1"><col
+id="TBL-415-2"></colgroup><tr
+ valign="baseline" id="TBL-415-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-415-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-495.svg" width="87.45822pt" height="57.10547pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-415-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[help</span><span
+class="cmtt-8">&nbsp;lines]</span><span
+class="cmtt-8">&nbsp;(0,0)</span><span
+class="cmtt-8">&nbsp;grid</span><span
+class="cmtt-8">&nbsp;(3,2);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcircle{\pgfpoint{1cm}{1cm}}</span><span
+class="cmtt-8">&nbsp;{2pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcircle{\pgfpoint{2cm}{5pt}}</span><span
+class="cmtt-8">&nbsp;{2pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcircle{\pgfpoint{0pt}{.5in}}{2pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{fill}</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 41--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox196"><span
+class="cmtt-10">\pgfpointorigin</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-206002"></a>
+ <!--l. 42--><p class="noindent">Yields the origin. Same as <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfpoint{0pt}{0pt}</span></span></span>. </dd></dl>
+<!--l. 45--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox197"><span
+class="cmtt-10">\pgfpointpolar</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">degree</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">radius</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-206003"></a>
+ <!--l. 46--><p class="noindent">Yields a point location given in polar coordinates. You can specify the angle only in degrees, radians are not
+ supported, currently.
+
+
+ <!--l. 48--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-416-" ><colgroup id="TBL-416-1g"><col
+id="TBL-416-1"><col
+id="TBL-416-2"></colgroup><tr
+ valign="baseline" id="TBL-416-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-416-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-496.svg" width="87.45822pt" height="59.00548pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-416-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[help</span><span
+class="cmtt-8">&nbsp;lines]</span><span
+class="cmtt-8">&nbsp;(0,0)</span><span
+class="cmtt-8">&nbsp;grid</span><span
+class="cmtt-8">&nbsp;(3,2);</span>
+<br>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\foreach</span><span
+class="cmtt-8">&nbsp;\angle</span><span
+class="cmtt-8">&nbsp;in</span><span
+class="cmtt-8">&nbsp;{0,10,...,90}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{\pgfpathcircle{\pgfpointpolar{\angle}{1cm}}{2pt}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{fill}</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 61--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">20.3 </span> <a
+ id="x21-20700020.3"></a>Coordinates in the Xy- and Xyz-Coordinate Systems</h4>
+<!--l. 63--><p class="noindent">Coordinates can also be specified as multiples of an <span
+class="cmmi-10">x</span>-vector and a <span
+class="cmmi-10">y</span>-vector. Normally, the <span
+class="cmmi-10">x</span>-vector points one
+centimeter in the <span
+class="cmmi-10">x</span>-direction and the <span
+class="cmmi-10">y</span>-vector points one centimeter in the <span
+class="cmmi-10">y</span>-direction, but using the commands
+<span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsetxvec</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsetyvec</span></span></span> they can be changed. Note that the <span
+class="cmmi-10">x</span>- and <span
+class="cmmi-10">y</span>-vector do not necessarily point
+&#8220;horizontally&#8221; and &#8220;vertically.&#8221;
+<!--l. 71--><p class="indent"> It is also possible to specify a point as a multiple of three vectors, the <span
+class="cmmi-10">x</span>-, <span
+class="cmmi-10">y</span>-, and <span
+class="cmmi-10">z</span>-vector. This is useful for
+creating simple three dimensional graphics.
+<!--l. 75--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox198"><span
+class="cmtt-10">\pgfpointxy</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">s</span><sub ><span
+class="cmmi-7">x</span></sub><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">s</span><sub ><span
+class="cmmi-7">y</span></sub><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-207001"></a>
+ <!--l. 76--><p class="noindent">Yields a point that is situated at <span
+class="cmmi-10">s</span><sub ><span
+class="cmmi-7">x</span></sub> times the <span
+class="cmmi-10">x</span>-vector plus <span
+class="cmmi-10">s</span><sub ><span
+class="cmmi-7">y</span></sub> times the <span
+class="cmmi-10">y</span>-vector.
+ <!--l. 78--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-417-" ><colgroup id="TBL-417-1g"><col
+id="TBL-417-1"><col
+id="TBL-417-2"></colgroup><tr
+ valign="baseline" id="TBL-417-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-417-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-497.svg" width="85.55821pt" height="57.30548pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-417-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[help</span><span
+class="cmtt-8">&nbsp;lines]</span><span
+class="cmtt-8">&nbsp;(0,0)</span><span
+class="cmtt-8">&nbsp;grid</span><span
+class="cmtt-8">&nbsp;(3,2);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointxy{1}{0}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathlineto{\pgfpointxy{2}{2}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 88--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox199"><span
+class="cmtt-10">\pgfpointxyz</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">s</span><sub ><span
+class="cmmi-7">x</span></sub><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">s</span><sub ><span
+class="cmmi-7">y</span></sub><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">s</span><sub ><span
+class="cmmi-7">z</span></sub><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-207002"></a>
+ <!--l. 89--><p class="noindent">Yields a point that is situated at <span
+class="cmmi-10">s</span><sub ><span
+class="cmmi-7">x</span></sub> times the <span
+class="cmmi-10">x</span>-vector plus <span
+class="cmmi-10">s</span><sub ><span
+class="cmmi-7">y</span></sub> times the <span
+class="cmmi-10">y</span>-vector plus <span
+class="cmmi-10">s</span><sub ><span
+class="cmmi-7">z</span></sub> times the
+ <span
+class="cmmi-10">z</span>-vector.
+
+
+ <!--l. 92--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-418-" ><colgroup id="TBL-418-1g"><col
+id="TBL-418-1"><col
+id="TBL-418-2"></colgroup><tr
+ valign="baseline" id="TBL-418-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-418-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-498.svg" width="39.80688pt" height="39.80688pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-418-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\begin{pgfpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetarrowsend{to}</span>
+<br>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointorigin}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathlineto{\pgfpointxyz{0}{0}{1}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointorigin}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathlineto{\pgfpointxyz{0}{1}{0}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointorigin}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathlineto{\pgfpointxyz{1}{0}{0}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">\end{pgfpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 110--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox200"><span
+class="cmtt-10">\pgfsetxvec</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">point</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-207003"></a>
+ <!--l. 111--><p class="noindent">Sets that current <span
+class="cmmi-10">x</span>-vector for usage in the <span
+class="cmmi-10">xyz</span>-coordinate system.
+ <!--l. 113--><p class="noindent"><span
+class="cmti-10">Example:</span>
+ <!--l. 114--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-419-" ><colgroup id="TBL-419-1g"><col
+id="TBL-419-1"><col
+id="TBL-419-2"></colgroup><tr
+ valign="baseline" id="TBL-419-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-419-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-499.svg" width="85.55821pt" height="57.30548pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-419-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[help</span><span
+class="cmtt-8">&nbsp;lines]</span><span
+class="cmtt-8">&nbsp;(0,0)</span><span
+class="cmtt-8">&nbsp;grid</span><span
+class="cmtt-8">&nbsp;(3,2);</span>
+<br>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointxy{1}{0}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathlineto{\pgfpointxy{2}{2}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\color{red}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetxvec{\pgfpoint{0.75cm}{0cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointxy{1}{0}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathlineto{\pgfpointxy{2}{2}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 131--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox201"><span
+class="cmtt-10">\pgfsetyvec</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">point</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-207004"></a>
+ <!--l. 132--><p class="noindent">Works like <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsetyvec</span></span></span>. </dd></dl>
+<!--l. 135--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox202"><span
+class="cmtt-10">\pgfsetzvec</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">point</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-207005"></a>
+ <!--l. 136--><p class="noindent">Works like <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsetzvec</span></span></span>. </dd></dl>
+
+
+<!--l. 142--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">20.4 </span> <a
+ id="x21-20800020.4"></a>Building Coordinates From Other Coordinates</h4>
+<!--l. 144--><p class="noindent">Many commands allow you to construct a coordinate in terms of other coordinates.
+<!--l. 148--><p class="noindent">
+ <h5 class="subsubsectionHead"><span class="titlemark">20.4.1 </span> <a
+ id="x21-20900020.4.1"></a>Basic Manipulations of Coordinates</h5>
+<!--l. 150--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox203"><span
+class="cmtt-10">\pgfpointadd</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">v</span><sub ><span
+class="cmr-7">1</span></sub><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">v</span><sub ><span
+class="cmr-7">2</span></sub><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-209001"></a>
+ <!--l. 151--><p class="noindent">Returns the sum vector <span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">v</span><sub ><span
+class="cmr-7">1</span></sub><span
+class="cmsy-10">&gt; </span>+ <span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">v</span><sub ><span
+class="cmr-7">2</span></sub><span
+class="cmsy-10">&gt;</span>.
+ <!--l. 152--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-420-" ><colgroup id="TBL-420-1g"><col
+id="TBL-420-1"><col
+id="TBL-420-2"></colgroup><tr
+ valign="baseline" id="TBL-420-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-420-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-500.svg" width="85.55821pt" height="57.10547pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-420-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[help</span><span
+class="cmtt-8">&nbsp;lines]</span><span
+class="cmtt-8">&nbsp;(0,0)</span><span
+class="cmtt-8">&nbsp;grid</span><span
+class="cmtt-8">&nbsp;(3,2);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcircle{\pgfpointadd{\pgfpoint{1cm}{0cm}}{\pgfpoint{1cm}{1cm}}}{2pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{fill}</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 161--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox204"><span
+class="cmtt-10">\pgfpointscale</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">factor</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">coordinate</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-209002"></a>
+ <!--l. 162--><p class="noindent">Returns the vector <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">factor</span><span
+class="cmsy-10">&gt;&lt;</span><span
+class="cmti-10">coordinate</span><span
+class="cmsy-10">&gt;</span>.
+ <!--l. 163--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-421-" ><colgroup id="TBL-421-1g"><col
+id="TBL-421-1"><col
+id="TBL-421-2"></colgroup><tr
+ valign="baseline" id="TBL-421-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-421-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-501.svg" width="85.55821pt" height="59.00548pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-421-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[help</span><span
+class="cmtt-8">&nbsp;lines]</span><span
+class="cmtt-8">&nbsp;(0,0)</span><span
+class="cmtt-8">&nbsp;grid</span><span
+class="cmtt-8">&nbsp;(3,2);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcircle{\pgfpointscale{1.5}{\pgfpoint{1cm}{0cm}}}{2pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{fill}</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 172--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox205"><span
+class="cmtt-10">\pgfpointdiff</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">end</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-209003"></a>
+ <!--l. 173--><p class="noindent">Returns the difference vector <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">end</span><span
+class="cmsy-10">&gt;-&lt;</span><span
+class="cmti-10">start</span><span
+class="cmsy-10">&gt;</span>.
+ <!--l. 174--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-422-" ><colgroup id="TBL-422-1g"><col
+id="TBL-422-1"><col
+id="TBL-422-2"></colgroup><tr
+ valign="baseline" id="TBL-422-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-422-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-502.svg" width="87.45822pt" height="57.10547pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-422-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[help</span><span
+class="cmtt-8">&nbsp;lines]</span><span
+class="cmtt-8">&nbsp;(0,0)</span><span
+class="cmtt-8">&nbsp;grid</span><span
+class="cmtt-8">&nbsp;(3,2);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcircle{\pgfpointdiff{\pgfpoint{1cm}{0cm}}{\pgfpoint{1cm}{1cm}}}{2pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{fill}</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+
+
+ </dd></dl>
+<!--l. 184--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox206"><span
+class="cmtt-10">\pgfpointnormalised</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">point</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-209004"></a>
+ <!--l. 185--><p class="noindent">This command returns a normalized version of <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">point</span><span
+class="cmsy-10">&gt;</span>, that is, a vector of length 1pt pointing in
+ the direction of <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">point</span><span
+class="cmsy-10">&gt;</span>. If <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">point</span><span
+class="cmsy-10">&gt; </span>is the 0-vector or extremely short, a vector of length 1pt pointing
+ upwards is returned.
+ <!--l. 190--><p class="noindent">This command is <span
+class="cmti-10">not </span>implemented by calculating the length of the vector, but rather by calculating the angle
+ of the vector and then using (something equivalent to) the <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfpointpolar</span></span></span> command. This ensures that the
+ point will really have length 1pt, but it is not guaranteed that the vector will <span
+class="cmti-10">precisely </span>point in the direction of
+ <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">point</span><span
+class="cmsy-10">&gt; </span>due to the fact that the polar tables are accurate only up to one degree. Normally, this is not a
+ problem.
+ <!--l. 198--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-423-" ><colgroup id="TBL-423-1g"><col
+id="TBL-423-1"><col
+id="TBL-423-2"></colgroup><tr
+ valign="baseline" id="TBL-423-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-423-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-503.svg" width="85.55821pt" height="57.10547pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-423-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[help</span><span
+class="cmtt-8">&nbsp;lines]</span><span
+class="cmtt-8">&nbsp;(0,0)</span><span
+class="cmtt-8">&nbsp;grid</span><span
+class="cmtt-8">&nbsp;(3,2);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcircle{\pgfpoint{2cm}{1cm}}{2pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcircle{\pgfpointscale{20}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{\pgfpointnormalised{\pgfpoint{2cm}{1cm}}}}{2pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{fill}</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 210--><p class="noindent">
+ <h5 class="subsubsectionHead"><span class="titlemark">20.4.2 </span> <a
+ id="x21-21000020.4.2"></a>Points Traveling along Lines and Curves</h5>
+<!--l. 214--><p class="noindent">The commands in this section allow you to specify points on a line or a curve. Imaging a point &#8220;traveling&#8221; along a
+curve from some point <span
+class="cmmi-10">p </span>to another point <span
+class="cmmi-10">q</span>. At time <span
+class="cmmi-10">t </span>= 0 the point is at <span
+class="cmmi-10">p </span>and at time <span
+class="cmmi-10">t </span>= 1 it is at <span
+class="cmmi-10">q </span>and at time,
+say, <span
+class="cmmi-10">t </span>= 1<span
+class="cmmi-10">/</span>2 it is &#8220;somewhere in the middle.&#8221; The exact location at time <span
+class="cmmi-10">t </span>= 1<span
+class="cmmi-10">/</span>2 will not necessarily be the &#8220;halfway
+point,&#8221; that is, the point whose distance on the curve from <span
+class="cmmi-10">p </span>and <span
+class="cmmi-10">q </span>is equal. Rather, the exact location will depend
+on the &#8220;speed&#8221; at which the point is traveling, which in turn depends on the lengths of the support
+vectors in a complicated manner. If you are interested in the details, please see a good book on B&eacute;zier
+curves.
+<!--l. 228--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox207"><span
+class="cmtt-10">\pgfpointlineattime</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">time </span><span
+class="cmmi-10">t</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">point </span><span
+class="cmmi-10">p</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">point </span><span
+class="cmmi-10">q</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-210001"></a>
+ <!--l. 229--><p class="noindent">Yields a point that is the <span
+class="cmmi-10">t</span>th fraction between <span
+class="cmmi-10">p </span>and&nbsp;<span
+class="cmmi-10">q</span>, that is, <span
+class="cmmi-10">p </span>+ <span
+class="cmmi-10">t</span>(<span
+class="cmmi-10">q </span><span
+class="cmsy-10">- </span><span
+class="cmmi-10">p</span>). For <span
+class="cmmi-10">t </span>= 1<span
+class="cmmi-10">/</span>2 this is the
+ middle of <span
+class="cmmi-10">p </span>and <span
+class="cmmi-10">q</span>.
+
+
+ <!--l. 233--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-424-" ><colgroup id="TBL-424-1g"><col
+id="TBL-424-1"><col
+id="TBL-424-2"></colgroup><tr
+ valign="baseline" id="TBL-424-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-424-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-504.svg" width="87.95822pt" height="77.57631pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-424-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[help</span><span
+class="cmtt-8">&nbsp;lines]</span><span
+class="cmtt-8">&nbsp;(0,0)</span><span
+class="cmtt-8">&nbsp;grid</span><span
+class="cmtt-8">&nbsp;(3,2);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointorigin}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathlineto{\pgfpoint{2cm}{2cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\foreach</span><span
+class="cmtt-8">&nbsp;\t</span><span
+class="cmtt-8">&nbsp;in</span><span
+class="cmtt-8">&nbsp;{0,0.25,...,1.25}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{\pgftext[at=</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpointlineattime{\t}{\pgfpointorigin}{\pgfpoint{2cm}{2cm}}]{\t}}</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 246--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox208"><span
+class="cmtt-10">\pgfpointlineatdistance</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">distance</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start point</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">end point</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-210002"></a>
+ <!--l. 247--><p class="noindent">Yields a point that is located <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">distance</span><span
+class="cmsy-10">&gt; </span>many units removed from the start point in the direction of
+ the end point. In other words, this is the point that results if we travel <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">distance</span><span
+class="cmsy-10">&gt; </span>steps from <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start</span>
+ <span
+class="cmti-10">point</span><span
+class="cmsy-10">&gt; </span>towards <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">end point</span><span
+class="cmsy-10">&gt;</span>.
+ <!--l. 251--><p class="noindent"><span
+class="cmti-10">Example:</span>
+ <!--l. 252--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-425-" ><colgroup id="TBL-425-1g"><col
+id="TBL-425-1"><col
+id="TBL-425-2"></colgroup><tr
+ valign="baseline" id="TBL-425-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-425-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-505.svg" width="92.7805pt" height="57.41106pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-425-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[help</span><span
+class="cmtt-8">&nbsp;lines]</span><span
+class="cmtt-8">&nbsp;(0,0)</span><span
+class="cmtt-8">&nbsp;grid</span><span
+class="cmtt-8">&nbsp;(3,2);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointorigin}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathlineto{\pgfpoint{3cm}{2cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\foreach</span><span
+class="cmtt-8">&nbsp;\d</span><span
+class="cmtt-8">&nbsp;in</span><span
+class="cmtt-8">&nbsp;{0pt,20pt,40pt,70pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{\pgftext[at=</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpointlineatdistance{\d}{\pgfpointorigin}{\pgfpoint{3cm}{2cm}}]{\d}}</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 266--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox209"><span
+class="cmtt-10">\pgfpointcurveattime</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">time </span><span
+class="cmmi-10">t</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">point </span><span
+class="cmmi-10">p</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">point </span><span
+class="cmmi-10">s</span><sub ><span
+class="cmr-7">1</span></sub><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">point </span><span
+class="cmmi-10">s</span><sub ><span
+class="cmr-7">2</span></sub><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">point </span><span
+class="cmmi-10">q</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-210003"></a>
+ <!--l. 267--><p class="noindent">Yields a point that is on the B&eacute;zier curve from <span
+class="cmmi-10">p </span>to <span
+class="cmmi-10">q </span>with the support points <span
+class="cmmi-10">s</span><sub ><span
+class="cmr-7">1</span></sub> and <span
+class="cmmi-10">s</span><sub ><span
+class="cmr-7">2</span></sub>. The time <span
+class="cmmi-10">t </span>is
+ used to determine the location, where <span
+class="cmmi-10">t </span>= 0 yields <span
+class="cmmi-10">p </span>and <span
+class="cmmi-10">t </span>= 1 yields <span
+class="cmmi-10">q</span>.
+
+
+ <!--l. 271--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-426-" ><colgroup id="TBL-426-1g"><col
+id="TBL-426-1"><col
+id="TBL-426-2"></colgroup><tr
+ valign="baseline" id="TBL-426-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-426-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-506.svg" width="95.41348pt" height="63.34995pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-426-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[help</span><span
+class="cmtt-8">&nbsp;lines]</span><span
+class="cmtt-8">&nbsp;(0,0)</span><span
+class="cmtt-8">&nbsp;grid</span><span
+class="cmtt-8">&nbsp;(3,2);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointorigin}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcurveto</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{\pgfpoint{0cm}{2cm}}{\pgfpoint{0cm}{2cm}}{\pgfpoint{3cm}{2cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\foreach</span><span
+class="cmtt-8">&nbsp;\t</span><span
+class="cmtt-8">&nbsp;in</span><span
+class="cmtt-8">&nbsp;{0,0.25,0.5,0.75,1}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{\pgftext[at=\pgfpointcurveattime{\t}{\pgfpointorigin}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{\pgfpoint{0cm}{2cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{\pgfpoint{0cm}{2cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{\pgfpoint{3cm}{2cm}}]{\t}}</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 287--><p class="noindent">
+ <h5 class="subsubsectionHead"><span class="titlemark">20.4.3 </span> <a
+ id="x21-21100020.4.3"></a>Points on Borders of Objects</h5>
+<!--l. 289--><p class="noindent">The following commands are useful for specifying a point that lies on the border of special shapes. They are used,
+for example, by the shape mechanism to determine border points of shapes.
+<!--l. 293--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox210"><span
+class="cmtt-10">\pgfpointborderrectangle</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">direction point</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">corner</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-211001"></a>
+ <!--l. 294--><p class="noindent">This command returns a point that lies on the intersection of a line starting at the origin and going
+ towards the point <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">direction point</span><span
+class="cmsy-10">&gt; </span>and a rectangle whose center is in the origin and whose upper right
+ corner is at <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">corner</span><span
+class="cmsy-10">&gt;</span>.
+ <!--l. 299--><p class="noindent">The <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">direction point</span><span
+class="cmsy-10">&gt; </span>should have length &#8220;about 1pt,&#8221; but it will be normalized automatically.
+ Nevertheless, the &#8220;nearer&#8221; the length is to 1pt, the less rounding errors.
+ <!--l. 303--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-427-" ><colgroup id="TBL-427-1g"><col
+id="TBL-427-1"><col
+id="TBL-427-2"></colgroup><tr
+ valign="baseline" id="TBL-427-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-427-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-507.svg" width="87.45822pt" height="78.54503pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-427-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[help</span><span
+class="cmtt-8">&nbsp;lines]</span><span
+class="cmtt-8">&nbsp;(0,0)</span><span
+class="cmtt-8">&nbsp;grid</span><span
+class="cmtt-8">&nbsp;(2,1.5);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathrectanglecorners{\pgfpoint{-1cm}{-1.25cm}}{\pgfpoint{1cm}{1.25cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcircle{\pgfpoint{5pt}{5pt}}{2pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcircle{\pgfpoint{-10pt}{5pt}}{2pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{fill}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\color{red}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcircle{\pgfpointborderrectangle</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{\pgfpoint{5pt}{5pt}}{\pgfpoint{1cm}{1.25cm}}}{2pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcircle{\pgfpointborderrectangle</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{\pgfpoint{-10pt}{5pt}}{\pgfpoint{1cm}{1.25cm}}}{2pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{fill}</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 323--><p class="indent">
+
+
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox211"><span
+class="cmtt-10">\pgfpointborderellipse</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">direction point</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">corner</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-211002"></a>
+ <!--l. 324--><p class="noindent">This command works like the corresponding command for rectangles, only this time the <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">corner</span><span
+class="cmsy-10">&gt; </span>is
+ the corner of the bounding rectangle of an ellipse.
+ <!--l. 328--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-428-" ><colgroup id="TBL-428-1g"><col
+id="TBL-428-1"><col
+id="TBL-428-2"></colgroup><tr
+ valign="baseline" id="TBL-428-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-428-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-508.svg" width="85.65822pt" height="78.54503pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-428-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[help</span><span
+class="cmtt-8">&nbsp;lines]</span><span
+class="cmtt-8">&nbsp;(0,0)</span><span
+class="cmtt-8">&nbsp;grid</span><span
+class="cmtt-8">&nbsp;(2,1.5);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathellipse{\pgfpointorigin}{\pgfpoint{1cm}{0cm}}{\pgfpoint{0cm}{1.25cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcircle{\pgfpoint{5pt}{5pt}}{2pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcircle{\pgfpoint{-10pt}{5pt}}{2pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{fill}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\color{red}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcircle{\pgfpointborderellipse</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{\pgfpoint{5pt}{5pt}}{\pgfpoint{1cm}{1.25cm}}}{2pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcircle{\pgfpointborderellipse</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{\pgfpoint{-10pt}{5pt}}{\pgfpoint{1cm}{1.25cm}}}{2pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{fill}</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 348--><p class="noindent">
+ <h5 class="subsubsectionHead"><span class="titlemark">20.4.4 </span> <a
+ id="x21-21200020.4.4"></a>Points on the Intersection of Lines</h5>
+<!--l. 351--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox212"><span
+class="cmtt-10">\pgfpointintersectionoflines</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">p</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">q</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">s</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">t</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-212001"></a>
+ <!--l. 352--><p class="noindent">This command returns the intersection of a line going through <span
+class="cmmi-10">p </span>and <span
+class="cmmi-10">q </span>and a line going through <span
+class="cmmi-10">s </span>and
+ <span
+class="cmmi-10">t</span>. If the lines do not intersection, an arithmetic overflow will occur.
+ <!--l. 356--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-429-" ><colgroup id="TBL-429-1g"><col
+id="TBL-429-1"><col
+id="TBL-429-2"></colgroup><tr
+ valign="baseline" id="TBL-429-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-429-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-509.svg" width="57.20547pt" height="57.30548pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-429-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[help</span><span
+class="cmtt-8">&nbsp;lines]</span><span
+class="cmtt-8">&nbsp;(0,0)</span><span
+class="cmtt-8">&nbsp;grid</span><span
+class="cmtt-8">&nbsp;(2,2);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw</span><span
+class="cmtt-8">&nbsp;(.5,0)</span><span
+class="cmtt-8">&nbsp;--</span><span
+class="cmtt-8">&nbsp;(2,2);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw</span><span
+class="cmtt-8">&nbsp;(1,2)</span><span
+class="cmtt-8">&nbsp;--</span><span
+class="cmtt-8">&nbsp;(2,0);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathcircle{</span><span
+class="cmsltt-10x-x-80">%</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpointintersectionoflines</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{\pgfpointxy{.5}{0}}{\pgfpointxy{2}{2}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{\pgfpointxy{1}{2}}{\pgfpointxy{2}{0}}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{2pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+
+
+<!--l. 371--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">20.5 </span> <a
+ id="x21-21300020.5"></a>Extracting Coordinates</h4>
+<!--l. 373--><p class="noindent">There are two commands that can be used to &#8220;extract&#8221; the <span
+class="cmmi-10">x</span>- or <span
+class="cmmi-10">y</span>-coordinate of a coordinate.
+<!--l. 376--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox213"><span
+class="cmtt-10">\pgfextractx</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">dimension</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">point</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-213001"></a>
+ <!--l. 377--><p class="noindent">Sets the <span class="TEX">T<span
+class="E">E</span>X</span>-<span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">dimension</span><span
+class="cmsy-10">&gt; </span>to the <span
+class="cmmi-10">x</span>-coordinate of the point.
+ <!--l. 379--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-430-" ><colgroup id="TBL-430-1g"><col
+id="TBL-430-1"></colgroup><tr
+ valign="baseline" id="TBL-430-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-430-1-1"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\newdimen\mydim</span>
+<br><span
+class="cmtt-8">\pgfextractx{\mydim}{\pgfpoint{2cm}{4pt}}</span>
+<br><span
+class="cmsltt-10x-x-80">%%</span><span
+class="cmsltt-10x-x-80">&nbsp;\mydim</span><span
+class="cmsltt-10x-x-80">&nbsp;is</span><span
+class="cmsltt-10x-x-80">&nbsp;now</span><span
+class="cmsltt-10x-x-80">&nbsp;2cm</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 386--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox214"><span
+class="cmtt-10">\pgfextracty</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">dimension</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">point</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-213002"></a>
+ <!--l. 387--><p class="noindent">Like <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfextractx</span></span></span>, except for the <span
+class="cmmi-10">y</span>-coordinate. </dd></dl>
+<!--l. 393--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">20.6 </span> <a
+ id="x21-21400020.6"></a>Internals of How Point Commands Work</h4>
+<!--l. 395--><p class="noindent">As a normal user of <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;you do not need to read this section. It is relevant only if you need to understand how the
+point commands work internally.
+<!--l. 399--><p class="indent"> When a command like <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfpoint{1cm}{2pt}</span></span></span> is called, all that happens is that the two <span class="TEX">T<span
+class="E">E</span>X</span>-dimension
+variables <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@x</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@y</span></span></span> are set to <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">1cm</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">2pt</span></span></span>, respectively. A command like <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfpathmoveto</span></span></span> that takes a
+coordinate as parameter will just execute this parameter and then use the values of <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@x</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@y</span></span></span> as the
+coordinates to which it will move the pen on the current path.
+<!--l. 406--><p class="indent"> since commands like <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfpointnormalised</span></span></span> modify other variables besides <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@x</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@y</span></span></span> during the
+computation of the final values of <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@x</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@y</span></span></span>, it is a good idea to enclose a call of a command like
+<span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfpoint</span></span></span> in a <span class="TEX">T<span
+class="E">E</span>X</span>-scope and then make the changes of <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@x</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@y</span></span></span> global as in the following
+example:
+<!--l. 411--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-431-" ><colgroup id="TBL-431-1g"><col
+id="TBL-431-1"></colgroup><tr
+ valign="baseline" id="TBL-431-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-431-1-1"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">...</span>
+<br><span
+class="cmtt-8">{</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmsltt-10x-x-80">%</span><span
+class="cmsltt-10x-x-80">&nbsp;open</span><span
+class="cmsltt-10x-x-80">&nbsp;scope</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpointnormalised{\pgfpoint{1cm}{1cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\global\pgf@x=\pgf@x</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmsltt-10x-x-80">%</span><span
+class="cmsltt-10x-x-80">&nbsp;make</span><span
+class="cmsltt-10x-x-80">&nbsp;the</span><span
+class="cmsltt-10x-x-80">&nbsp;change</span><span
+class="cmsltt-10x-x-80">&nbsp;of</span><span
+class="cmsltt-10x-x-80">&nbsp;\pgf@x</span><span
+class="cmsltt-10x-x-80">&nbsp;persist</span><span
+class="cmsltt-10x-x-80">&nbsp;past</span><span
+class="cmsltt-10x-x-80">&nbsp;the</span><span
+class="cmsltt-10x-x-80">&nbsp;scope</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\global\pgf@y=\pgf@y</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmsltt-10x-x-80">%</span><span
+class="cmsltt-10x-x-80">&nbsp;make</span><span
+class="cmsltt-10x-x-80">&nbsp;the</span><span
+class="cmsltt-10x-x-80">&nbsp;change</span><span
+class="cmsltt-10x-x-80">&nbsp;of</span><span
+class="cmsltt-10x-x-80">&nbsp;\pgf@y</span><span
+class="cmsltt-10x-x-80">&nbsp;persist</span><span
+class="cmsltt-10x-x-80">&nbsp;past</span><span
+class="cmsltt-10x-x-80">&nbsp;the</span><span
+class="cmsltt-10x-x-80">&nbsp;scope</span>
+<br><span
+class="cmtt-8">}</span>
+<br><span
+class="cmsltt-10x-x-80">%</span><span
+class="cmsltt-10x-x-80">&nbsp;\pgf@x</span><span
+class="cmsltt-10x-x-80">&nbsp;and</span><span
+class="cmsltt-10x-x-80">&nbsp;\pgf@y</span><span
+class="cmsltt-10x-x-80">&nbsp;are</span><span
+class="cmsltt-10x-x-80">&nbsp;now</span><span
+class="cmsltt-10x-x-80">&nbsp;set</span><span
+class="cmsltt-10x-x-80">&nbsp;correctly,</span><span
+class="cmsltt-10x-x-80">&nbsp;all</span><span
+class="cmsltt-10x-x-80">&nbsp;other</span><span
+class="cmsltt-10x-x-80">&nbsp;variables</span><span
+class="cmsltt-10x-x-80">&nbsp;are</span>
+<br><span
+class="cmsltt-10x-x-80">%</span><span
+class="cmsltt-10x-x-80">&nbsp;unchanged</span></div> </td></tr></table> </td>
+</tr></table></div>
+<!--l. 423--><p class="indent"> Since this situation arises very often, the macro <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@process</span></span></span> can be used to perform the above
+code:
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox215"><span
+class="cmtt-10">\pgf@process</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">code</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx21-214001"></a>
+ <!--l. 426--><p class="noindent">Executes the <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">code</span><span
+class="cmsy-10">&gt; </span>in a scope and then makes <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@x</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@y</span></span></span> global. </dd></dl>
+<!--l. 430--><p class="indent"> Note that this macro is used often internally. For this reason, it is not a good idea to keep anything important in
+the variables <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@x</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@y</span></span></span> since they will be overwritten and changed frequently. Instead, intermediate values
+can ge stored in the <span class="TEX">T<span
+class="E">E</span>X</span>-dimensions <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@xa</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@xb</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@xc</span></span></span> and their <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">y</span></span></span>-counterparts <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@ya</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@yb</span></span></span>,
+<span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">pgf@yc</span></span></span>. For example, here is the code of the command <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfpointadd</span></span></span>:
+
+
+<!--l. 437--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-432-" ><colgroup id="TBL-432-1g"><col
+id="TBL-432-1"></colgroup><tr
+ valign="baseline" id="TBL-432-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-432-1-1"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\def\pgfpointadd#1#2{</span><span
+class="cmsltt-10x-x-80">%</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgf@process{#1}</span><span
+class="cmsltt-10x-x-80">%</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgf@xa=\pgf@x</span><span
+class="cmsltt-10x-x-80">%</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgf@ya=\pgf@y</span><span
+class="cmsltt-10x-x-80">%</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgf@process{#2}</span><span
+class="cmsltt-10x-x-80">%</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\advance\pgf@x</span><span
+class="cmtt-8">&nbsp;by\pgf@xa</span><span
+class="cmsltt-10x-x-80">%</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\advance\pgf@y</span><span
+class="cmtt-8">&nbsp;by\pgf@ya}</span></div> </td></tr></table> </td>
+</tr></table></div>
+
+
+
+
+
+
+ <div class="crosslinks"><p class="noindent">[<a
+href="pgfmanualse21.html" >next</a>] [<a
+href="pgfmanualse19.html" >prev</a>] [<a
+href="pgfmanualse19.html#tailpgfmanualse19.html" >prev-tail</a>] [<a
+href="pgfmanualse20.html" >front</a>] [<a
+href="pgfmanual.html#pgfmanualse20.html" >up</a>] </p></div>
+<!--l. 8--><p class="indent"> <a
+ id="tailpgfmanualse20.html"></a>
+</body></html>