diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-09 00:56:57 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-09 00:56:57 +0000 |
commit | f07bb53970ee2ecc53f81a206a3d3a67ef665e4a (patch) | |
tree | 6f57a1d62971db79e5ff023bdfd83b22cb971dc9 /Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse20.html | |
parent | 007f67a693e4d031fd3d792df8e4d5f43e2cb2e7 (diff) |
doc 6
git-svn-id: svn://tug.org/texlive/trunk@85 c570f23f-e606-0410-a88d-b1316a301751
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.html | 1605 |
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> 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 “local” 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"><</span><span +class="cmti-10">x coordinate</span><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmti-10">y coordinate</span><span +class="cmsy-10">></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> 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"> <object data="pgfmanual-495.svg" width="87.45822pt" height="57.10547pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </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"> </span><span +class="cmtt-8"> \draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (0,0)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (3,2);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpoint{1cm}{1cm}}</span><span +class="cmtt-8"> {2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpoint{2cm}{5pt}}</span><span +class="cmtt-8"> {2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpoint{0pt}{.5in}}{2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \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"><</span><span +class="cmti-10">degree</span><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmti-10">radius</span><span +class="cmsy-10">></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"> <object data="pgfmanual-496.svg" width="87.45822pt" height="59.00548pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </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"> </span><span +class="cmtt-8"> \draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (0,0)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (3,2);</span> +<br> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \foreach</span><span +class="cmtt-8"> \angle</span><span +class="cmtt-8"> in</span><span +class="cmtt-8"> {0,10,...,90}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {\pgfpathcircle{\pgfpointpolar{\angle}{1cm}}{2pt}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \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 +“horizontally” and “vertically.” +<!--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"><</span><span +class="cmmi-10">s</span><sub ><span +class="cmmi-7">x</span></sub><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmmi-10">s</span><sub ><span +class="cmmi-7">y</span></sub><span +class="cmsy-10">></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"> <object data="pgfmanual-497.svg" width="85.55821pt" height="57.30548pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </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"> </span><span +class="cmtt-8"> \draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (0,0)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (3,2);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathmoveto{\pgfpointxy{1}{0}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathlineto{\pgfpointxy{2}{2}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \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"><</span><span +class="cmmi-10">s</span><sub ><span +class="cmmi-7">x</span></sub><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmmi-10">s</span><sub ><span +class="cmmi-7">y</span></sub><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmmi-10">s</span><sub ><span +class="cmmi-7">z</span></sub><span +class="cmsy-10">></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"> <object data="pgfmanual-498.svg" width="39.80688pt" height="39.80688pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </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"> </span><span +class="cmtt-8"> \pgfsetarrowsend{to}</span> +<br> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathmoveto{\pgfpointorigin}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathlineto{\pgfpointxyz{0}{0}{1}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathmoveto{\pgfpointorigin}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathlineto{\pgfpointxyz{0}{1}{0}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathmoveto{\pgfpointorigin}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathlineto{\pgfpointxyz{1}{0}{0}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \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"><</span><span +class="cmti-10">point</span><span +class="cmsy-10">></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"> <object data="pgfmanual-499.svg" width="85.55821pt" height="57.30548pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </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"> </span><span +class="cmtt-8"> \draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (0,0)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (3,2);</span> +<br> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathmoveto{\pgfpointxy{1}{0}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathlineto{\pgfpointxy{2}{2}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \color{red}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfsetxvec{\pgfpoint{0.75cm}{0cm}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathmoveto{\pgfpointxy{1}{0}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathlineto{\pgfpointxy{2}{2}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \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"><</span><span +class="cmti-10">point</span><span +class="cmsy-10">></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"><</span><span +class="cmti-10">point</span><span +class="cmsy-10">></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"><</span><span +class="cmmi-10">v</span><sub ><span +class="cmr-7">1</span></sub><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmmi-10">v</span><sub ><span +class="cmr-7">2</span></sub><span +class="cmsy-10">></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"><</span><span +class="cmmi-10">v</span><sub ><span +class="cmr-7">1</span></sub><span +class="cmsy-10">> </span>+ <span +class="cmsy-10"><</span><span +class="cmmi-10">v</span><sub ><span +class="cmr-7">2</span></sub><span +class="cmsy-10">></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"> <object data="pgfmanual-500.svg" width="85.55821pt" height="57.10547pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </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"> </span><span +class="cmtt-8"> \draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (0,0)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (3,2);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpointadd{\pgfpoint{1cm}{0cm}}{\pgfpoint{1cm}{1cm}}}{2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \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"><</span><span +class="cmti-10">factor</span><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmti-10">coordinate</span><span +class="cmsy-10">></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"><</span><span +class="cmti-10">factor</span><span +class="cmsy-10">><</span><span +class="cmti-10">coordinate</span><span +class="cmsy-10">></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"> <object data="pgfmanual-501.svg" width="85.55821pt" height="59.00548pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </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"> </span><span +class="cmtt-8"> \draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (0,0)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (3,2);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpointscale{1.5}{\pgfpoint{1cm}{0cm}}}{2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \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"><</span><span +class="cmti-10">start</span><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmti-10">end</span><span +class="cmsy-10">></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"><</span><span +class="cmti-10">end</span><span +class="cmsy-10">>-<</span><span +class="cmti-10">start</span><span +class="cmsy-10">></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"> <object data="pgfmanual-502.svg" width="87.45822pt" height="57.10547pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </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"> </span><span +class="cmtt-8"> \draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (0,0)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (3,2);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpointdiff{\pgfpoint{1cm}{0cm}}{\pgfpoint{1cm}{1cm}}}{2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \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"><</span><span +class="cmti-10">point</span><span +class="cmsy-10">></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"><</span><span +class="cmti-10">point</span><span +class="cmsy-10">></span>, that is, a vector of length 1pt pointing in + the direction of <span +class="cmsy-10"><</span><span +class="cmti-10">point</span><span +class="cmsy-10">></span>. If <span +class="cmsy-10"><</span><span +class="cmti-10">point</span><span +class="cmsy-10">> </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"><</span><span +class="cmti-10">point</span><span +class="cmsy-10">> </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"> <object data="pgfmanual-503.svg" width="85.55821pt" height="57.10547pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </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"> </span><span +class="cmtt-8"> \draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (0,0)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (3,2);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpoint{2cm}{1cm}}{2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpointscale{20}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {\pgfpointnormalised{\pgfpoint{2cm}{1cm}}}}{2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \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 “traveling” 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 “somewhere in the middle.” The exact location at time <span +class="cmmi-10">t </span>= 1<span +class="cmmi-10">/</span>2 will not necessarily be the “halfway +point,” 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 “speed” 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é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"><</span><span +class="cmti-10">time </span><span +class="cmmi-10">t</span><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmti-10">point </span><span +class="cmmi-10">p</span><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmti-10">point </span><span +class="cmmi-10">q</span><span +class="cmsy-10">></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 <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"> <object data="pgfmanual-504.svg" width="87.95822pt" height="77.57631pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </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"> </span><span +class="cmtt-8"> \draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (0,0)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (3,2);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathmoveto{\pgfpointorigin}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathlineto{\pgfpoint{2cm}{2cm}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \foreach</span><span +class="cmtt-8"> \t</span><span +class="cmtt-8"> in</span><span +class="cmtt-8"> {0,0.25,...,1.25}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {\pgftext[at=</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \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"><</span><span +class="cmti-10">distance</span><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmti-10">start point</span><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmti-10">end point</span><span +class="cmsy-10">></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"><</span><span +class="cmti-10">distance</span><span +class="cmsy-10">> </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"><</span><span +class="cmti-10">distance</span><span +class="cmsy-10">> </span>steps from <span +class="cmsy-10"><</span><span +class="cmti-10">start</span> + <span +class="cmti-10">point</span><span +class="cmsy-10">> </span>towards <span +class="cmsy-10"><</span><span +class="cmti-10">end point</span><span +class="cmsy-10">></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"> <object data="pgfmanual-505.svg" width="92.7805pt" height="57.41106pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </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"> </span><span +class="cmtt-8"> \draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (0,0)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (3,2);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathmoveto{\pgfpointorigin}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathlineto{\pgfpoint{3cm}{2cm}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \foreach</span><span +class="cmtt-8"> \d</span><span +class="cmtt-8"> in</span><span +class="cmtt-8"> {0pt,20pt,40pt,70pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {\pgftext[at=</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \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"><</span><span +class="cmti-10">time </span><span +class="cmmi-10">t</span><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmti-10">point </span><span +class="cmmi-10">p</span><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</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">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</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">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmti-10">point </span><span +class="cmmi-10">q</span><span +class="cmsy-10">></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é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"> <object data="pgfmanual-506.svg" width="95.41348pt" height="63.34995pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </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"> </span><span +class="cmtt-8"> \draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (0,0)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (3,2);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathmoveto{\pgfpointorigin}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcurveto</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {\pgfpoint{0cm}{2cm}}{\pgfpoint{0cm}{2cm}}{\pgfpoint{3cm}{2cm}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \foreach</span><span +class="cmtt-8"> \t</span><span +class="cmtt-8"> in</span><span +class="cmtt-8"> {0,0.25,0.5,0.75,1}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {\pgftext[at=\pgfpointcurveattime{\t}{\pgfpointorigin}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {\pgfpoint{0cm}{2cm}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {\pgfpoint{0cm}{2cm}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {\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"><</span><span +class="cmti-10">direction point</span><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmti-10">corner</span><span +class="cmsy-10">></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"><</span><span +class="cmti-10">direction point</span><span +class="cmsy-10">> </span>and a rectangle whose center is in the origin and whose upper right + corner is at <span +class="cmsy-10"><</span><span +class="cmti-10">corner</span><span +class="cmsy-10">></span>. + <!--l. 299--><p class="noindent">The <span +class="cmsy-10"><</span><span +class="cmti-10">direction point</span><span +class="cmsy-10">> </span>should have length “about 1pt,” but it will be normalized automatically. + Nevertheless, the “nearer” 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"> <object data="pgfmanual-507.svg" width="87.45822pt" height="78.54503pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </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"> </span><span +class="cmtt-8"> \draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (0,0)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (2,1.5);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathrectanglecorners{\pgfpoint{-1cm}{-1.25cm}}{\pgfpoint{1cm}{1.25cm}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpoint{5pt}{5pt}}{2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpoint{-10pt}{5pt}}{2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{fill}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \color{red}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpointborderrectangle</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {\pgfpoint{5pt}{5pt}}{\pgfpoint{1cm}{1.25cm}}}{2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpointborderrectangle</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {\pgfpoint{-10pt}{5pt}}{\pgfpoint{1cm}{1.25cm}}}{2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \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"><</span><span +class="cmti-10">direction point</span><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmti-10">corner</span><span +class="cmsy-10">></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"><</span><span +class="cmti-10">corner</span><span +class="cmsy-10">> </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"> <object data="pgfmanual-508.svg" width="85.65822pt" height="78.54503pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </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"> </span><span +class="cmtt-8"> \draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (0,0)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (2,1.5);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathellipse{\pgfpointorigin}{\pgfpoint{1cm}{0cm}}{\pgfpoint{0cm}{1.25cm}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpoint{5pt}{5pt}}{2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpoint{-10pt}{5pt}}{2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{fill}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \color{red}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpointborderellipse</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {\pgfpoint{5pt}{5pt}}{\pgfpoint{1cm}{1.25cm}}}{2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpointborderellipse</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {\pgfpoint{-10pt}{5pt}}{\pgfpoint{1cm}{1.25cm}}}{2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \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"><</span><span +class="cmmi-10">p</span><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmmi-10">q</span><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmmi-10">s</span><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmmi-10">t</span><span +class="cmsy-10">></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"> <object data="pgfmanual-509.svg" width="57.20547pt" height="57.30548pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </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"> </span><span +class="cmtt-8"> \draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (0,0)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (2,2);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \draw</span><span +class="cmtt-8"> (.5,0)</span><span +class="cmtt-8"> --</span><span +class="cmtt-8"> (2,2);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \draw</span><span +class="cmtt-8"> (1,2)</span><span +class="cmtt-8"> --</span><span +class="cmtt-8"> (2,0);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{</span><span +class="cmsltt-10x-x-80">%</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpointintersectionoflines</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {\pgfpointxy{.5}{0}}{\pgfpointxy{2}{2}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {\pgfpointxy{1}{2}}{\pgfpointxy{2}{0}}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \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 “extract” 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"><</span><span +class="cmti-10">dimension</span><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmti-10">point</span><span +class="cmsy-10">></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"><</span><span +class="cmti-10">dimension</span><span +class="cmsy-10">> </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"> \mydim</span><span +class="cmsltt-10x-x-80"> is</span><span +class="cmsltt-10x-x-80"> now</span><span +class="cmsltt-10x-x-80"> 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"><</span><span +class="cmti-10">dimension</span><span +class="cmsy-10">></span><span +class="cmtt-10">}{</span><span +class="cmsy-10"><</span><span +class="cmti-10">point</span><span +class="cmsy-10">></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> 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"> </span><span +class="cmsltt-10x-x-80">%</span><span +class="cmsltt-10x-x-80"> open</span><span +class="cmsltt-10x-x-80"> scope</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpointnormalised{\pgfpoint{1cm}{1cm}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \global\pgf@x=\pgf@x</span><span +class="cmtt-8"> </span><span +class="cmsltt-10x-x-80">%</span><span +class="cmsltt-10x-x-80"> make</span><span +class="cmsltt-10x-x-80"> the</span><span +class="cmsltt-10x-x-80"> change</span><span +class="cmsltt-10x-x-80"> of</span><span +class="cmsltt-10x-x-80"> \pgf@x</span><span +class="cmsltt-10x-x-80"> persist</span><span +class="cmsltt-10x-x-80"> past</span><span +class="cmsltt-10x-x-80"> the</span><span +class="cmsltt-10x-x-80"> scope</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \global\pgf@y=\pgf@y</span><span +class="cmtt-8"> </span><span +class="cmsltt-10x-x-80">%</span><span +class="cmsltt-10x-x-80"> make</span><span +class="cmsltt-10x-x-80"> the</span><span +class="cmsltt-10x-x-80"> change</span><span +class="cmsltt-10x-x-80"> of</span><span +class="cmsltt-10x-x-80"> \pgf@y</span><span +class="cmsltt-10x-x-80"> persist</span><span +class="cmsltt-10x-x-80"> past</span><span +class="cmsltt-10x-x-80"> the</span><span +class="cmsltt-10x-x-80"> scope</span> +<br><span +class="cmtt-8">}</span> +<br><span +class="cmsltt-10x-x-80">%</span><span +class="cmsltt-10x-x-80"> \pgf@x</span><span +class="cmsltt-10x-x-80"> and</span><span +class="cmsltt-10x-x-80"> \pgf@y</span><span +class="cmsltt-10x-x-80"> are</span><span +class="cmsltt-10x-x-80"> now</span><span +class="cmsltt-10x-x-80"> set</span><span +class="cmsltt-10x-x-80"> correctly,</span><span +class="cmsltt-10x-x-80"> all</span><span +class="cmsltt-10x-x-80"> other</span><span +class="cmsltt-10x-x-80"> variables</span><span +class="cmsltt-10x-x-80"> are</span> +<br><span +class="cmsltt-10x-x-80">%</span><span +class="cmsltt-10x-x-80"> 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"><</span><span +class="cmti-10">code</span><span +class="cmsy-10">></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"><</span><span +class="cmti-10">code</span><span +class="cmsy-10">> </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"> </span><span +class="cmtt-8"> \pgf@process{#1}</span><span +class="cmsltt-10x-x-80">%</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgf@xa=\pgf@x</span><span +class="cmsltt-10x-x-80">%</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgf@ya=\pgf@y</span><span +class="cmsltt-10x-x-80">%</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgf@process{#2}</span><span +class="cmsltt-10x-x-80">%</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \advance\pgf@x</span><span +class="cmtt-8"> by\pgf@xa</span><span +class="cmsltt-10x-x-80">%</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \advance\pgf@y</span><span +class="cmtt-8"> 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> |