Browse Source

quasi acabada la part abans de plans

tags/v1.7.0
Xavier 3 years ago
parent
commit
dc3d645ce1
7 changed files with 366 additions and 127 deletions
  1. 24
    23
      04-algebra-lineal.tex
  2. 195
    102
      05-geometria.tex
  3. BIN
      apunts.pdf
  4. 7
    1
      apunts.tex
  5. BIN
      graphics/MIJAYE00__19.pdf
  6. 1
    1
      makefile
  7. 139
    0
      tikz-comandes.tex

+ 24
- 23
04-algebra-lineal.tex View File

@@ -2643,29 +2643,6 @@ A=\left(
\end{equation*}
\end{exercise}

\begin{exercise}\label{exercici:matrius-3}
Trobeu dues matrius $X$ i $Y$ que verifiquin el sistema següent:%
\begin{equation*}
\left.
\begin{array}{ccc}
2X-3Y & = & \left(
\begin{array}{rr}
1 & 5 \\
2 & 4%
\end{array}%
\right) \\
& & \\
X-Y & = & \left(
\begin{array}{rr}
-1 & 0 \\
3 & 6%
\end{array}%
\right)%
\end{array}%
\right\}
\end{equation*}
\end{exercise}

\begin{exercise}\label{exercici:matrius-4}
Comproveu que $(A\cdot B)^{t}=B^{t}\cdot A^{t}$ amb les matrius%
\begin{equation*}
@@ -2759,6 +2736,30 @@ c & c & 0 \\
Trobeu les condicions que han de complir els coeficientes $a,b$ i $c$ perquè es verifiqui que $AB = BA$.
\end{exercise}

\begin{exercise}\label{exercici:matrius-3}
Trobeu dues matrius $X$ i $Y$ que verifiquin el sistema següent:%
\begin{equation*}
\left.
\begin{array}{ccc}
2X-3Y & = & \left(
\begin{array}{rr}
1 & 5 \\
2 & 4%
\end{array}%
\right) \\
& & \\
X-Y & = & \left(
\begin{array}{rr}
-1 & 0 \\
3 & 6%
\end{array}%
\right)%
\end{array}%
\right\}
\end{equation*}
\end{exercise}


\begin{exercise}\label{exercici:matrius-10}
Calculeu, si \'{e}s possible, la matriu inversa de cadascuna de les matrius següents:%
\begin{equation*}

+ 195
- 102
05-geometria.tex View File

@@ -2024,7 +2024,7 @@ estigui definida, en el context de l'equació contínua d'una recta, aquesta exp
\end{enumerate}
\end{exercise}

\subsection{Equacions implícites de la recta}
\subsection{Equació implícita de la recta}

Si a les equacions de la recta en forma contínua (\autoref{eq:equacio-recta-forma-continua-3d}) llevam els denominadors i transposem tots els termes al primer membre, obtindrem dues equacions de la forma:%
\begin{equation}\label{eq:equacio-implicita-recta-3d}
@@ -2068,79 +2068,110 @@ r \colon \left\{
\begin{claim}Noteu que en principi no podem obtenir l'equació implícita d'una recta directament amb el seu vector director i un punt d'aquesta. Hem de passar per l'equació contínua per obtenir l'equació implícita.
\end{claim}

\subsubsection{Vector director a partir de les equacions impl\'{\i}cites}
\subsubsection{Vector director a partir de l'equació implícita}

\begin{claim}
Donada l'equaci\'{o} d'una recta en forma impl\'{\i}cita, \'{e}s a dir,%
La proposició següent dóna una manera per trobar el vector director d'una recta que ve donada mitjançant l'equació implítica.


\begin{proposition}[vector director a partir de l'equació implícita]\label{prop:v-d-a-partir-eq-implicita-3d}Sigui $r$ una recta donada amb l'equació implícita:
\begin{equation*}
\left.
\begin{array}{rrr}
Ax+By+Cz+D & = & 0 \\
A^{\prime }x+B^{\prime }y+C^{\prime }z+D^{\prime } & = & 0%
\end{array}%
\right\} ,
r \colon \left\{
\begin{aligned}
Ax+By+Cz+D & = 0 \\
A'x+B'y+C'z+D' & = 0%
\end{aligned}%
\right.
\end{equation*}%
el vector director de la recta es pot calcular amb la f\'{o}rmula seg\"{u}%
ent:%
\begin{equation*}
\overrightarrow{d_{r}}=(A,B,C)\wedge (A^{\prime },B^{\prime },C^{\prime })
\end{equation*}
\end{claim}
El seu vector director, $v_r$, es pot calcular amb la fórmula:%
\begin{equation}\label{eq:calcul-vector-director-producte-vectorial}
\overrightarrow{v_{r}}=(A,B,C)\wedge (A',B',C')
\end{equation}
\end{proposition}

\begin{example}
El vector director de la recta%
\begin{example}El vector director de la recta%
\begin{equation*}
\left.
r \colon \left\{
\begin{array}{r}
2x+3y+3=0 \\
2z-6=0%
\end{array}%
\right\}
\right.
\end{equation*}%
\'{e}s $\overrightarrow{d_{r}}=(2,3,0)\wedge (0,0,2)=\left( 6,-4,0\right) $.
és $\overrightarrow{v}=(2,3,0)\wedge (0,0,2)$, és a dir,
\begin{equation*}
\overrightarrow{v}=\left\vert
\begin{array}{ccc}
2 & 3 & 0 \\
0 & 0 & 2 \\
\overrightarrow{i} & \overrightarrow{j} & \overrightarrow{k}%
\end{array}%
\right\vert
=\left( 6,-4,0\right).
\end{equation*}
\end{example}

\begin{exercise}
Calcula el vector director de la recta%
\begin{equation*}
\left.
\begin{exercise}Calculeu el vector director de les rectes:%
\begin{multicols}{2}
\begin{enumerate}[label=\emph{\alph*})]
\item $\left\{
\begin{array}{r}
x-y-5=0 \\
4x+y-5z-6=0%
\end{array}%
\right\}
\end{equation*}
\right.$
\item $\left\{
\begin{array}{r}
2x-z-5=0 \\
3x+y-z-2=0%
\end{array}%
\right.$
\item $\left\{
\begin{array}{r}
2x=0 \\
2z+y=0%
\end{array}%
\right.$
\item $\left\{
\begin{array}{r}
2x+3y+5z-2=0 \\
4x+6y+10z-4=0%
\end{array}%
\right.$
\end{enumerate}
\end{multicols}
\end{exercise}

\subsection{Equaci\'{o} de la recta determinada per dos punts}
\subsubsection{Exercicis d'equacions de rectes}

Per altra banda, si coneixem dos punts, $P(x_{1},y_{1},z_{1})$ i $%
Q(x_{2},y_{2},z_{2})$, pels quals passa una recta, la seg\"{u}ent f\'{o}%
rmula ens d\'{o}na l'equaci\'{o} d'aquesta recta:%
\begin{equation*}
\frac{x-x_{1}}{x_{2}-x_{1}}=\frac{y-y_{1}}{y_{2}-y_{1}}=\frac{z-z_{1}}{%
z_{2}-z_{1}}
\end{equation*}
Tenim diverses equacions per a expressar una recta (\autoref{fig:relacions-equacions-recta-3d}). Practiquem el pas d'unes a les altres.

\begin{example}
L'equaci\'{o} de la recta que passa pels punts $A\left( 0,-2,3\right) $ i $%
B\left( -4,1,5\right) $ es la seg\"{u}ent:%
\begin{equation*}
\frac{x}{-4}=\frac{y+2}{3}=\frac{z-3}{2}
\end{equation*}
\end{example}
TODO: Tikz P145
\begin{figure}[h!]
\centering

\begin{exercise}
Troba l'equaci\'{o} de la recta que passa pels punts $A\left( 7,1,0\right) $
i $B\left( -4,1,5\right) $.
\end{exercise}
\begin{tikzpicture}
\node (a) {Vectorial};
\node (b) at (3,0) {Paramètrica};
\node (c) at (6,0) {Contínua};
\node (d) at (9,0) {Implícita};
\draw[snake=bumps,segment length=20pt,red,thick] (a) -- (b) --(c);
\end{tikzpicture}

\begin{example}
Troba totes les equacions de la recta que passa pel punt $P\left(
3,-2,0\right) $ i que t\'{e} per vector director $\overrightarrow{d}\left(
1,0,-1\right) $.
\caption{Relacions entre les equacions d'una recta}
\label{fig:relacions-equacions-recta-3d}
\end{figure}

\begin{example}Trobeu totes les equacions de la recta que passa pel punt $P(3,-2,0)$ i que té per vector director $\overrightarrow{v}(1,0,-1)$.

\bigskip
Tenim que:
\begin{itemize}
\item L'equació vectorial és
\begin{equation*}
\overrightarrow{OP} = \overrightarrow{(3,-2,0)} + \lambda \overrightarrow{(1,0,-1)}
\end{equation*}

Les equacions param\`{e}triques s\'{o}n%
\item Les equacions paramètriques són%
\begin{equation*}
r:\left\{
\begin{array}{l}
@@ -2150,45 +2181,66 @@ z=-\lambda%
\end{array}%
\right.
\end{equation*}%
L'equaci\'{o} cont\'{\i}nua \'{e}s%

\item L'equació contínua és%
\begin{equation*}
r:x-3=\frac{y+2}{0}=\frac{z}{-1}
\end{equation*}%
Les equacions impl\'{\i}cites s\'{o}n%

\item I les equacions implícites són%
\begin{equation*}
r:\left\{
\begin{array}{rll}
0\cdot \left( x-3\right) & = & y+2 \\
-1\cdot \left( x-3\right) & = & z%
\end{array}%
\right. ;\text{ }r:\left\{
\right. \text{, és a dir, }r:\left\{
\begin{array}{rll}
y+2 & = & 0 \\
-x-z+3 & = & 0%
\end{array}%
\right.
\end{equation*}
\end{itemize}
\end{example}

\begin{example}
Calcula l'equaci\'{o} de la recta paral\textperiodcentered lela a $r:\frac{x%
}{-4}=\frac{y+2}{3}=\frac{z-3}{2}$ que passa pel punt $A(2,5,-1)$.
\begin{exercise}Trobeu totes les equacions de les rectes següents:
\begin{enumerate}[label=\emph{\alph*})]
\item Recta que té vector director $\overrightarrow{(2,-3,-1)}$ i passa per $(0,2,-10)$
\item Recta que passa pels punts $(7,-4,0)$ i $(3,0,-5)$
\item Recta donada per l'equació $\overrightarrow{(x,y,z)} = \overrightarrow{(3,2,1)} + \lambda \overrightarrow{(-1,0,1)}$, amb $(x,y,z)$ un punt qualsevol de la recta.
\item Recta donada per $r \colon \frac{x-3}{5} = y+3 = \frac{z+2}{-2}$
\item La recta $s \colon \left\{
\begin{aligned}
x+3y -z & = 0 \\
4x + 7z & = 0%
\end{aligned}\right.$
\end{enumerate}
\end{exercise}

\subsubsection{Rectes paral·leles}

Donada una recta $r$ que té vector director $\overrightarrow{v}$ i passa per $P$, si volem trobar una recta paral·lela $s$ que passi per $Q$, només hem de notar que $s$ tendrà $\overrightarrow{v}$ com a vector director i passarà per $Q$.


Donat que la recta que cercan \'{e}s paral\textperiodcentered lela a la
recta $r$, ambdues tenen el mateix vector director: $\overrightarrow{d_{r}}%
(-4,3,2)$. A m\'{e}s, sabem que la recta ha de passar pel punt $A(2,5,-1)$.
Aleshores, si subtituim aquestes dues dades a l'equaci\'{o} cont\'{\i}nua de
la recta, aquesta \'{e}s:Per aquest motiu, l'equaci\'{o} de la recta que
cercam \'{e}s de la forma%
\begin{example}Calculeu l'equació de la recta paral·lela a $r \colon \frac{x}{-4}=\frac{y+2}{3}=\frac{z-3}{2}$ que passa pel punt $A(2,5,-1)$.


Donat que la recta que cercan és paral·lela a la recta $r$, ambdues tenen el mateix vector director: $\overrightarrow{v}(-4,3,2)$. A més, sabem que la recta ha de passar pel punt $A(2,5,-1)$. Llavors, si subtituïm aquestes dues dades, per exemple, a l'equació contínua de la recta, obtindrem:%
\begin{equation*}
\frac{x-2}{-4}=\frac{y-5}{3}=\frac{z+1}{2}
\end{equation*}
\end{example}

\begin{exercise}
Donada la recta $r:\left\{ x=3+\lambda ,\text{ }y=-2,\text{ }z=-\lambda
\right\} $ en forma param\`{e}trica, troba l'equaci\'{o} cont\'{\i}nua de la
recta paral\textperiodcentered lela a $r$ que passa pel punt $A(0,-8,6)$.
\begin{exercise}Donada la recta $r:\left\{ x=3+\lambda , \, y=-2,\, z=-\lambda \right\}$ en forma paramètrica, trobeu l'equació contínua de la
recta paral·lela a $r$ que passa pel punt $A(0,-8,6)$.
\end{exercise}

\begin{exercise}Trobeu l'equació paramètrica de la recta $s$ que passa per $(0,4,4)$ i és paral·lela a $r \colon \left\{
\begin{aligned}
2x-y -2z & = 0 \\
8x - 7z & = 0%
\end{aligned}\right..$
\end{exercise}

\section{El pla a l'espai}
@@ -2331,7 +2383,7 @@ Calculant el determinant,%
Troba l'equaci\'{o} general del pla de l'exercici anterior.
\end{exercise}

\subsubsection{Vector normal al pla a partir de l'equaci\'{o} general}
\subsubsection{Vector normal al pla a partir de l'equaci\'{o} general}\label{sec:subsubseccio:vector-normal-dun-pla}

\begin{claim}
\textbf{(Vector normal a un pla) }Una observaci\'{o} d'inter\'{e}s que es
@@ -2378,35 +2430,79 @@ D'aqu\'{\i} es t\'{e} que $D=-10$, i l'equaci\'{o} del pla \'{e}s%
\end{equation*}
\end{example}

Hem vist abans que l'equaci\'{o} d'una recta es pot donar de forma impl\'{\i}%
cita, \'{e}s a dir,%
\begin{claim}Hem vist abans una fórmula per a calcular el vector director d'una recta a partir de les seves equacions implícites (\autoref{prop:v-d-a-partir-eq-implicita-3d}). És el moment de justificar aquest resultat amb l'ús dels vectors normals: notem que si $r$ és una recta donada per les seves equacions implícites
\begin{equation*}
\left.
\begin{array}{rrr}
Ax+By+Cz+D & = & 0 \\
A^{\prime }x+B^{\prime }y+C^{\prime }z+D^{\prime } & = & 0%
\end{array}%
\right\}
\left\{
\begin{aligned}
Ax+By+Cz+D & = 0 \\
A^{\prime}x+B^{\prime}y+C^{\prime}z+D^{\prime} & = 0%
\end{aligned}%
\right.,
\end{equation*}%
Aleshores, l'equaci\'{o} de la recta es pot veure com la intersecci\'{o} de
dos plans, ja que cadascuna de les equacions anteriors \'{e}s l'equaci\'{o}
d'un pla:
amb $A$, $B$, $C$, $D$, $A'$, $B'$, $C'$ i $D' \in \mathbb{R}$, aleshores el seu vector director $\overrightarrow{v_r}$ és el vector ortogonal als vectors normals dels plans que defineixen la recta $r$.

És a dir, podem veure la recta $r$ com la intersecció de dos plans $\pi$ i $\rho$ d'equacions $\pi \colon Ax+By+Cz + D = 0$ i $\rho \colon A'x+B'y+C'z + D' = 0$. En aquest sentit, $\overrightarrow{v_r}$ tendrà la mateixa direcció que $\overrightarrow{n_\pi} \wedge \overrightarrow{n_\rho}$, on $\overrightarrow{n_\pi}$ i $\overrightarrow{n_\rho}$ són els vectors normals dels plans $\pi$ i $\rho$ respectivament (\autoref{fig:repr-vector-director-a-partir-plans}).

\begin{figure}[h!]
\centering
% Generat amb TikZ
% De http://tex.stackexchange.com/a/20009/61233
\begin{tikzpicture}[x={(240:0.8cm)}, y={(-10:1cm)}, z={(0,1cm)},
plane max z=3]
%\draw[->, red] (0,0,0) -- (3,0,0);
%\draw[->, yellow] (0,0,0) -- (0,3,0);
%\draw[->, green] (0,0,0) -- (0,0,3);
% Plane of equation 1x+1.5y+0z = 2
\definePlaneByEquation{myplane}{1}{1.5}{0}{2}
\drawPlane[thick,fill=blue]{myplane}
% Plane of equation -4z = 0
% It is determined by the four points:
% (2,0,0), (0,4/3,0), (a,4/3+1.5a,0), (2+a,1.5a,0)
% a \in \mathbb{R}
%\definePlaneByEquation{myplane2}{0}{0}{-4}{0}
%\drawPlane[thick,fill=green]{myplane2}
\filldraw[color=green!80,thick,draw=black] (2,0,0) -- (0,1.3333333,0)--(1,2.8333333,0) -- (3,1.5,0) -- cycle;
% Intersection line
\draw[ultra thick] (2.75,-0.5,0) -- (-1,2,0);
\draw (-1,2,0) node[anchor=south] {$r$};
% Normal vectors: (-4,-6,0) and (0,0,-4)
%% Medium point of (2,0,0) and (1,4/6,0)
%\draw (1,0.66666,0) circle (2pt);
%% + (0.5, 0.5,0);
%\draw (1.5,1.16666,0) circle (2pt);
%% Plus normal director (0,0,4)
\draw[->,thick] (1.5,1.16666,0) -- (1.5,1.16666,1);
%% Name of the normal vector
\draw (1.5,1.16666,0.5) node[anchor=west] {$n_\pi$};
%% The name of the plane
\draw (0.5,2.08333333,0) node[anchor=west] {$\pi$};
%% Medium point of (2,0,0) and (1,4/6,0) elevated +2
%\draw (1.5,1.166666,2) circle (2pt);
%% Plus normal director 1.2*(1,1.5,0)
\draw[->,thick] (1.5,1.166666,2) -- (2.2,2.133333,2);
%% Name of the normal vector
\draw (1.85,1.649999,2) node[anchor=east] {$n_\rho$};
%% The name of the plane 2
\draw (2,0,2) node[anchor=east] {$\rho$};

\end{tikzpicture}
\caption{Vector director d'una recta com a producte vectorial dels vectors normals dels plans que la defineixen}
\label{fig:repr-vector-director-a-partir-plans}
\end{figure}
\end{claim}


%TCIMACRO{%
%\FRAME{ftbphF}{2.8662in}{1.5591in}{0pt}{}{}{Figure}{%
%\special{language "Scientific Word";type "GRAPHIC";maintain-aspect-ratio TRUE;display "USEDEF";valid_file "T";width 2.8662in;height 1.5591in;depth 0pt;original-width 3.5423in;original-height 1.9142in;cropleft "0";croptop "1";cropright "1";cropbottom "0";tempfilename 'MIJAYE00.bmp';tempfile-properties "XPR";}}}%
%BeginExpansion
\begin{figure}[hptb]\begin{center}
\includegraphics[natheight=1.9142in, natwidth=3.5423in, height=1.5591in, width=2.8662in]{./graphics/MIJAYE00__19.pdf}
\end{center}\end{figure}
%EndExpansion
Observa que el vector director de la recta es perpendicular a cadascun dels
vectors normals dels dos plans. Per aix\`{o}, aquest vector director es pot
calcular, com ja hem dit anteriorment, mitjan\c{c}ant el producte vectorial
dels dos vectors normals:%
\begin{equation*}
\overrightarrow{d_{r}}=(A,B,C)\wedge (A^{\prime },B^{\prime },C^{\prime })
\end{equation*}

\begin{example}
Halla un punto cualquiera de la recta%
@@ -3419,8 +3515,7 @@ Troba un vector perpendicular a $\vec{u}\left( 2,3,1\right) $ i a $\vec{v}%
\end{exercise}

\begin{exercise}
Troba un vector ortogonal a $\vec{u}\left( 1,-1,0\right) $ i $\vec{v}\left(
2,0,1\right) $ i el m\`{o}dul del qual sigui $\sqrt{24}$.
Troba un vector ortogonal a $\vec{u}(1,-1,0)$ i $\vec{v}(2,0,1)$ i el m\`{o}dul del qual sigui $\sqrt{24}$.
\end{exercise}

\begin{exercise}
@@ -3429,8 +3524,7 @@ Calcula $\left[ \overrightarrow{u},\overrightarrow{v},\overrightarrow{w}%
i $\vec{w}\left( 2,0,-2\right) $.
\end{exercise}

\begin{exercise}
Calcula el volum del paral\textperiodcentered lelep\'{\i}pede determinat
\begin{exercise}Calculeu el volum del paral·lelepípede determinat
pels vectors%
\begin{equation*}
\vec{u}\left( 1,-1,0\right) ,\text{ }\vec{v}\left( 2,0,1\right) \text{ i }%
@@ -3438,19 +3532,18 @@ pels vectors%
\end{equation*}
\end{exercise}

\begin{exercise}
Calcula el valor de $m$ perqu\`{e} $\vec{u}\left( 2,-3,1\right) ,$ $\vec{v}%
\begin{exercise}Calculeu el valor de $m$ perquè $\vec{u}\left( 2,-3,1\right) ,$ $\vec{v}%
\left( 1,m,3\right) $ i $\vec{w}\left( -4,5,-1\right) $ siguin coplanaris.
\end{exercise}

\begin{exercise}
Donat el vector $\vec{v}\left( -2,2,-4\right) $, troba les coordenades dels
vectors seg\"{u}ents:
vectors següents:

\begin{description}
\item[(a)] unitari i de la mateixa direcci\'{o} que $\vec{v}$,

\item[(b)] paral\textperiodcentered lel a $\vec{v}$ i de m\`{o}dul 6.
\item[(b)] paral·lel a $\vec{v}$ i de mòdul 6.
\end{description}
\end{exercise}


BIN
apunts.pdf View File


+ 7
- 1
apunts.tex View File

@@ -45,7 +45,7 @@
\usepackage{pgfmath}
\usepackage{mathrsfs}
\usetikzlibrary{decorations.markings, mindmap,calc,intersections,through,backgrounds,arrows, shapes.geometric,fadings,decorations.pathreplacing,shadings,positioning,shapes,matrix}
\usetikzlibrary{snakes}
% Break URL
\usepackage{breakurl}

@@ -182,6 +182,12 @@ bodyfont=\normalfont
% Setting title of List of theorems
\renewcommand\listtheoremname{Índex de resultats}

% Commands of tikz for planes
\include{tikz-comandes}

% Increase the verbosity of TOC until subsubsections
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}

% Start the document
\begin{document}

BIN
graphics/MIJAYE00__19.pdf View File


+ 1
- 1
makefile View File

@@ -3,7 +3,7 @@
all: apunts.pdf
.PHONY : all

apunts.pdf: apunts.tex 01-portada.tex 02-drets-d-autor.tex 03-prefaci.tex 04-algebra-lineal.tex 05-geometria.tex 06-analisi.tex 07-probabilitat.tex 08-apendix.tex 09-bibliografia.tex 10-solucions.tex
apunts.pdf: apunts.tex 01-portada.tex 02-drets-d-autor.tex 03-prefaci.tex 04-algebra-lineal.tex 05-geometria.tex 06-analisi.tex 07-probabilitat.tex 08-apendix.tex 09-bibliografia.tex 10-solucions.tex tikz-comandes.tex
# compil document
lualatex --shell-escape apunts.tex
makeindex apunts.idx

+ 139
- 0
tikz-comandes.tex View File

@@ -0,0 +1,139 @@
% Codi per a plans
% De http://tex.stackexchange.com/questions/19972/draw-a-plane-in-space-and-a-coordinate-system-using-tikz
\makeatletter

% Set some defaults
\tikzset{
plane max x/.initial=2,
plane max y/.initial=2,
plane max z/.initial=2
}

\tikzset{plane/.style={fill opacity=0.5}}

% Define a plane.
% #1 = name of the plane
% #2*x + #3*y + #4*z = #5 is the equation of the plane
\newcommand*\definePlaneByEquation[5]{
\expandafter\gdef\csname tsx@plane@#1\endcsname{
\def\tsx@plane@xcoeff{#2}
\def\tsx@plane@ycoeff{#3}
\def\tsx@plane@zcoeff{#4}
\def\tsx@plane@scalar{#5}
}
}

% Draw a plane.
% The optional first argument is passed as options to TikZ.
% The mandatory second argument is the name of the plane.
\newcommand\drawPlane[2][]{
\tikzset{plane max x/.get=\tsx@plane@maxx}
\tikzset{plane max y/.get=\tsx@plane@maxy}
\tikzset{plane max z/.get=\tsx@plane@maxz}
\csname tsx@plane@#2\endcsname

\ifdim\tsx@plane@xcoeff pt=0pt
\ifdim\tsx@plane@ycoeff pt=0pt
\ifdim\tsx@plane@zcoeff pt=0pt
%invalid plane
\else % x=0, y=0
\filldraw[plane,#1,shift={(0,0,\tsx@plane@scalar/\tsx@plane@zcoeff)}]
(0,0,0) --
(\tsx@plane@maxx,0,0) --
(\tsx@plane@maxx,\tsx@plane@maxy,0) --
(0,\tsx@plane@maxy,0) --
cycle;
\fi
\else % x=0, y != 0
\ifdim\tsx@plane@zcoeff pt=0pt % x=0, z=0
\filldraw[plane,#1,shift={(0,\tsx@plane@scalar/\tsx@plane@ycoeff,0)}]
(0,0,0) --
(\tsx@plane@maxx,0,0) --
(\tsx@plane@maxx,0,\tsx@plane@maxz) --
(0,0,\tsx@plane@maxz) --
cycle;
\else % x=0
\filldraw[plane,#1]
(0,\tsx@plane@scalar/\tsx@plane@ycoeff,0) --
(0,0,\tsx@plane@scalar/\tsx@plane@zcoeff) --
(\tsx@plane@maxx,0,\tsx@plane@scalar/\tsx@plane@zcoeff) --
(\tsx@plane@maxx,\tsx@plane@scalar/\tsx@plane@ycoeff,0) --
cycle;
\fi
\fi
\else % x!=0
\ifdim\tsx@plane@ycoeff pt=0pt % x!=0,y=0
\ifdim\tsx@plane@zcoeff pt=0pt % x!=0,y=0,z=0
\filldraw[plane,#1,shift={(\tsx@plane@scalar/\tsx@plane@xcoeff,0,0)}]
(0,0,0) --
(0,0,\tsx@plane@maxz) --
(0,\tsx@plane@maxy,\tsx@plane@maxz) --
(0,\tsx@plane@maxy,0) --
cycle;
\else % x!=0,y=0,z!=0
\filldraw[plane,#1]
(\tsx@plane@scalar/\tsx@plane@xcoeff,0) --
(0,0,\tsx@plane@scalar/\tsx@plane@zcoeff) --
(0,\tsx@plane@maxy,\tsx@plane@scalar/\tsx@plane@zcoeff) --
(\tsx@plane@scalar/\tsx@plane@xcoeff,\tsx@plane@maxy,0) --
cycle;
\fi
\else % x!=0,y!=0
\ifdim\tsx@plane@zcoeff pt=0pt % x!=0,y!=0,z=0
\filldraw[plane,#1]
(\tsx@plane@scalar/\tsx@plane@xcoeff,0) --
(0,\tsx@plane@scalar/\tsx@plane@ycoeff,0) --
(0,\tsx@plane@scalar/\tsx@plane@ycoeff,\tsx@plane@maxz) --
(\tsx@plane@scalar/\tsx@plane@xcoeff,0,\tsx@plane@maxz) --
cycle;
\else % x!=0,y!=0,z!=0
\filldraw[plane,#1]
(\tsx@plane@scalar/\tsx@plane@xcoeff,0,0) --
(0,\tsx@plane@scalar/\tsx@plane@ycoeff,0) --
(0,0,\tsx@plane@scalar/\tsx@plane@zcoeff) --
cycle;
\fi
\fi
\fi
}

% Define a point.
% #1 = name of the point
% (#2,#3,#4) is the location.
% Also creates a coordinate node of name #1 at the location.
\newcommand\definePointByXYZ[4]{
\coordinate (#1) at (#2,#3,#4);
\expandafter\gdef\csname tsx@point@#1\endcsname{
\def\tsx@point@x{#2}
\def\tsx@point@y{#3}
\def\tsx@point@z{#4}
}
}

% Project a point to a plane.
% #1 = name of the new point
% #2 = name of old point
% #3 = name of plane
\newcommand\projectPointToPlane[3]{{
\csname tsx@point@#2\endcsname
\csname tsx@plane@#3\endcsname

% square of norm of the normal vector
\pgfmathparse{\tsx@plane@xcoeff*\tsx@plane@xcoeff + \tsx@plane@ycoeff*\tsx@plane@ycoeff + \tsx@plane@zcoeff*\tsx@plane@zcoeff}
\let\nnormsq\pgfmathresult

% Calculate distance in terms of the (non-normalized) normal vector
\pgfmathparse{(\tsx@point@x*\tsx@plane@xcoeff + \tsx@point@y*\tsx@plane@ycoeff + \tsx@point@z*\tsx@plane@zcoeff - \tsx@plane@scalar) / \nnormsq}
\let\distance\pgfmathresult

% Calculate point
\pgfmathparse{\tsx@point@x - \distance*\tsx@plane@xcoeff}
\let\x\pgfmathresult
\pgfmathparse{\tsx@point@y - \distance*\tsx@plane@ycoeff}
\let\y\pgfmathresult
\pgfmathparse{\tsx@point@z - \distance*\tsx@plane@zcoeff}
\let\z\pgfmathresult

\definePointByXYZ{#1}{\x}{\y}{\z}
}}
\makeatother

Loading…
Cancel
Save