\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{César Navarro (CesarANS)} \pdfinfo{ /Title (transformaciones-3d-en-processing.pdf) /Creator (Cheatography) /Author (César Navarro (CesarANS)) /Subject (Transformaciones 3D en Processing Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{270140} \definecolor{LightBackground}{HTML}{F8F7F9} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{Transformaciones 3D en Processing Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{César Navarro (CesarANS)} via \textcolor{DarkBackground}{\uline{cheatography.com/143077/cs/31423/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}César Navarro (CesarANS) \\ \uline{cheatography.com/cesarans} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Published 29th March, 2022.\\ Updated 29th March, 2022.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{3} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{{\bf{{\emph{Transformaciones}}}}}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Para dibujar en 3D se usa un sistema de coordenadas diferente. Este nuevo sistema se construye a partir del 2D con las coordenadas {\bf{x}} y {\bf{y}}, agregando una nueva la {\bf{z}}. Es necesario indicar que se usara renderizado 3D, esto definiendo como tercer parámetro {\bf{P3D}} en la función {\bf{size()}}.} \tn % Row Count 6 (+ 6) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{{\bf{{\emph{Trasladar}}}}}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{translate(x,y,z)}}} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}Mueve el origen de la {\bf{esquina superior-izquierda}} de la pantalla a otra ubicación. \{\{nl\}\}{\bf{x}} → Desplazamiento en el eje x \{\{nl\}\}{\bf{y}} → Desplazamiento en el eje \{\{nl\}\}{\bf{z}}→ Desplazamiento en el eje z} \tn % Row Count 6 (+ 6) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{{\bf{{\emph{Rotar}}}}}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{rotateX(angulo)}} \{\{nl\}\}{\bf{rotateY(angulo)}} \{\{nl\}\}{\bf{rotateZ(angulo)}}} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}\{\{nl\}\}{\bf{angulo}} → Indica la cantidad que rotara el eje. \{\{nl\}\}Se debe especificar en radianes o se pueden convertir de grados a radianes con la función {\bf{radians().}} \{\{nl\}\}\{\{nl\}\}Los números positivos giran los objetos en el sentido de las agujas del reloj y los números negativos en sentido contrario.} \tn % Row Count 9 (+ 9) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{{\bf{{\emph{Escalar}}}}}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{scale(s)}} \{\{nl\}\}{\bf{scale(x,y,z)}}} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}Aumenta o reduce el tamaño de una forma al expandir y contraer vértices. \{\{nl\}\} Los objetos siempre escalan desde su origen relativo hasta el sistema de coordenadas.\{\{nl\}\}\{\{nl\}\} {\bf{s}} → Porcentaje para escalar el objeto\{\{nl\}\} {\bf{x}} → Porcentaje para escalar el objeto en el eje x\{\{nl\}\} {\bf{y}} → Porcentaje para escalar el objeto en el eje y\{\{nl\}\} {\bf{z}} → Porcentaje para escalar el objeto en el eje z} \tn % Row Count 10 (+ 10) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{{\bf{{\emph{Transformaciones internas}}}}}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Una figura es creada como objeto PShape tiene sus propios métodos para realizar transformaciones, estas afectan únicamente a la figura.\{\{nl\}\}\{\{nl\}\} {\bf{figura.translate(x,y,z)}}\{\{nl\}\} {\bf{figura.scale(x,y,z)}}\{\{nl\}\} {\bf{figura.rotateX(angulo)}}\{\{nl\}\} {\bf{figura.rotateY(angulo)}}\{\{nl\}\} {\bf{figura.rotateZ(angulo)}}\{\{nl\}\}} \tn % Row Count 7 (+ 7) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{{\bf{{\emph{Matriz de transformaciones}}}}}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Las transformaciones utilizan una matriz de transformación, un conjunto de números que define matemáticamente como geométricamente serán dibujadas en la pantalla. Las funciones de transformación modifican los número en la matriz y causan que la geometría al dibujar cambie. \{\{nl\}\}\{\{nl\}\} {\bf{pushMatrix()}}\{\{nl\}\} Guarda el sistema de coordenadas o matriz actual en una pila. \{\{nl\}\}{\bf{popMatrix()}}\{\{nl\}\} Saca la ultima matriz de la pila, es decir restaura el sistema de coordenadas anterior.} \tn % Row Count 10 (+ 10) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}