mercredi 10 juillet 2013

L'homo sapiens, à la plage, dessiné avec PSTricks

Esthétiquement, ce dessin, réalisé avec PSTricks, ne respecte pas tout à fait les "divines proportions" illustrées dans le dessin de "L'homme de Vitruve" ou "Vitruvius" par Léonard de Vinci en 1492, mais c'est un premier essai(estival) de Thomas Söll...
Ensuite, quelques variations utilisant le package pst-transform :

http://melusine.eu.org/syracuse/mluque/pst-transform/





Les codes :

\documentclass{article}
\usepackage{pstricks}
\begin{document}
\definecolor{Weiss}{rgb}{1,0.98,0.98}%     255 250 250
\definecolor{Haut}{rgb}{1,0.894,0.769}% 255 228 196
\definecolor{Auge}{rgb}{0.54,0.27,0.074}% 139 69 19
\begin{pspicture}(-1.5,0)(1.5,8)
\pscustom[fillstyle=solid,fillcolor=Haut,linewidth=1.0pt]{%
% linker Unterarm
\psbezier(-1.15,4.2)(-1.2,4.9)(-1.11,5.1)(-1.05,5.2)
% linke Schulter
\psbezier(-0.95,6.8)(-0.18,6)(-0.18,6.5)
% Hals und Kopf
\psbezier(-0.18,6.8)(-0.32,6.6)(-0.32,7.1)
\psbezier(-0.32,7.34)(-0.2,7.45)(0,7.45)
\psbezier(0.2,7.45)(0.32,7.34)(0.32,7.1)
\psbezier(0.32,6.6)(0.18,6.8)(0.18,6.5)
% rechte Schulter
\psbezier(0.18,6)(0.95,6.8)(1.05,5.2)
% rechter Unterarm
\psbezier(1.11,5.1)(1.2,4.9)(1.15,4.2)
\psbezier(1.14,4.1)(1.16,3.9)(1.15,3.5)
\psbezier(1.15,3.4)(1.16,3.4)(0.95,3.25)
\psbezier(0.9,3.2)(0.88,3.23)(0.85,3.25)
\psbezier(0.86,3.27)(0.92,3.3)(1,3.4)
\psbezier(1.05,3.55)(1.0,3.55)(0.93,3.6)
\psbezier(0.93,3.5)(0.9,3.45)(0.82,3.4)
\psbezier(0.76,3.4)(0.85,3.4)(0.85,3.6)
\psbezier(0.83,3.7)(0.9,3.78)(0.94,3.85)
\psline(0.94,3.85)(0.92,4.05)
\psbezier(0.87,4.4)(0.79,4.6)(0.81,5.1)
\psbezier(0.7,5.4)(0.62,5.4)(0.6,5.7)
\psbezier(0.5,4.9)(0.5,4.8)(0.55,4)
\psbezier(0.6,3.6)(0.58,3.3)(0.57,2.7)
\psbezier(0.57,2.6)(0.55,2.5)(0.51,2.2)
\psbezier(0.45,2.0)(0.6,1.8)(0.6,1.2)
\psbezier(0.6,0.83)(0.53,0.82)(0.53,0.4)
\psbezier(0.75,0.2)(0.75,0.2)(0.75,0.05)
\psbezier(0.65,0)(0.6,0)(0.55,0)
\psbezier(0.54,0)(0.45,0.1)(0.4,0.2)
\psbezier(0.38,0.25)(0.36,0.33)(0.34,0.4)
\psline(0.34,0.4)(0.3,0.65)
\psbezier(0.32,1)(0.16,1.2)(0.18,1.8)
\psbezier(0.07,2.4)(0.05,3.6)(0,3.6)
%linkes Bein
\psbezier(-0.05,3.6)(-0.07,2.4)(-0.18,1.8)
\psbezier(-0.16,1.2)(-0.32,1)(-0.3,0.65)
\psline(-0.3,0.65)(-0.34,0.4)
\psbezier(-0.36,0.33)(-0.38,0.25)(-0.4,0.2)
\psbezier(-0.45,0.1)(-0.54,0)(-0.55,0)
\psbezier(-0.6,0)(-0.65,0)(-0.75,0.05)
\psbezier(-0.75,0.2)(-0.75,0.2)(-0.53,0.4)
\psbezier(-0.53,0.82)(-0.6,0.83)(-0.6,1.2)
\psbezier(-0.6,1.8)(-0.45,2.0)(-0.51,2.2)
\psbezier(-0.55,2.5)(-0.57,2.6)(-0.57,2.7)
\psbezier(-0.58,3.3)(-0.6,3.6)(-0.55,4)
\psbezier(-0.5,4.8)(-0.5,4.9)(-0.6,5.7)
\psbezier(-0.62,5.4)(-0.7,5.4)(-0.81,5.1)
\psbezier(-0.79,4.6)(-0.87,4.4)(-0.92,4.05)
\psline(-0.92,4.05)(-0.94,3.85)
\psbezier(-0.9,3.78)(-0.83,3.7)(-0.85,3.6)
\psbezier(-0.85,3.4)(-0.76,3.4)(-0.82,3.4)
\psbezier(-0.9,3.45)(-0.93,3.5)(-0.93,3.6)
\psbezier(-1.0,3.55)(-1.05,3.55)(-1,3.4)
\psbezier(-0.92,3.3)(-0.86,3.27)(-0.85,3.25)
\psbezier(-0.88,3.23)(-0.9,3.2)(-0.95,3.25)
\psbezier(-1.16,3.4)(-1.15,3.4)(-1.15,3.5)
\psbezier(-1.16,3.9)(-1.14,4.1)(-1.15,4.2)
%
\closepath
}
\psbezier[linewidth=0.6pt](-0.45,5.43)(-0.3,5.41)(-0.3,5.41)(-0.2,5.43)
\psbezier[linewidth=0.6pt](0.45,5.43)(0.3,5.41)(0.3,5.41)(0.2,5.43)
\psellipse[fillstyle=solid,fillcolor=black,linestyle=none](0,4.2)(0.02,0.035)
\def\AugeR{%
\begin{psclip}{%
\pscustom[fillstyle=solid,fillcolor=Weiss,linecolor=black,linewidth=0.2pt]{%
\psbezier(0.05,0)(0.04,0.004)(0.02,0.02)(0,0.02)
\psbezier(-0.02,0.02)(-0.04,0.01)(-0.05,-0.005)
\psbezier(-0.047,0)(-0.02,-0.018)(0,-0.018)
\psbezier(0.02,-0.018)(0.04,-0.006)(0.05,0)
\closepath
}
}
\pscircle[linestyle=none,fillstyle=solid,fillcolor=Auge](0,0.002){0.024}
\pscircle[linewidth=0.2pt,fillstyle=solid,fillcolor=black](0.001,0.001){0.012}
\end{psclip}
\pspolygon[linewidth=0.06pt,fillstyle=solid,fillcolor=white](0.009,0.003)(0.01,0.014)(-0.002,0.014)(-0.002,0.003)
\pspolygon[linewidth=0.06pt,fillstyle=solid,fillcolor=white](-0.004,0.003)(-0.004,0.014)(-0.012,0.014)(-0.012,0.003)
\psbezier[linewidth=0.1pt](0.05,0.01)(0.044,0.03)(-0.02,0.05)(-0.05,0.005)
\psbezier[linewidth=0.6pt](0.05,0.035)(0.044,0.05)(-0.02,0.055)(-0.05,0.04)
}
\def\AugeL{%
\begin{psclip}{%
\pscustom[fillstyle=solid,fillcolor=Weiss,linecolor=black,linewidth=0.2pt]{%
\psbezier(-0.05,0)(-0.04,0.004)(-0.02,0.02)(0,0.02)
\psbezier(0.02,0.02)(0.04,0.01)(0.05,-0.005)
\psbezier(0.047,0)(0.02,-0.018)(0,-0.018)
\psbezier(-0.02,-0.018)(-0.04,-0.006)(-0.05,0)
\closepath
}
}
\pscircle[linestyle=none,fillstyle=solid,fillcolor=Auge](0,0.002){0.024}
\pscircle[linewidth=0.2pt,fillstyle=solid,fillcolor=black](0.001,0.001){0.012}
\end{psclip}
\pspolygon[linewidth=0.06pt,fillstyle=solid,fillcolor=white](-0.009,0.003)(-0.01,0.014)(0.002,0.014)(0.002,0.003)
\pspolygon[linewidth=0.06pt,fillstyle=solid,fillcolor=white](0.004,0.003)(0.004,0.014)(0.012,0.014)(0.012,0.003)
\psbezier[linewidth=0.1pt](-0.05,0.01)(-0.044,0.03)(0.02,0.05)(0.05,0.005)
\psbezier[linewidth=0.6pt](-0.05,0.035)(-0.044,0.05)(0.02,0.055)(0.05,0.04)
}
\rput(-0.14,7.04){\psscalebox{1.55}{\AugeL}}
\rput(0.14,7.04){\psscalebox{1.55}{\AugeR}}
\rput(0,6.81){%
\psbezier[linewidth=0.6pt](-0.04,0)(0,-0.03)(0.02,-0.025)(0.04,0)
\psbezier[linewidth=0.6pt](0.035,0.28)(0.02,0.18)(0.02,0.1)(0.055,0.045)
}
\rput(0,6.72){%
\pscustom[fillstyle=solid,fillcolor=red!40,linestyle=none]{%
\psline(-0.085,0.01)(-0.04,0.03)(0,0.023)(0.04,0.03)(0.08,0.004)(0.08,0.005)(0.08,-0.005)
\psbezier(0.04,-0.04)(-0.04,-0.04)(-0.085,-0.005)
\closepath
}
\psline[linewidth=0.2pt](-0.085,0.01)(-0.04,0.03)(0,0.023)(0.04,0.03)(0.08,0.004)(0.08,0.005)
\psbezier[linewidth=0.2pt](0.08,-0.005)(0.04,-0.04)(-0.04,-0.04)(-0.085,-0.005)
\psbezier[linewidth=0.2pt](0.12,0.02)(0.05,-0.015)(-0.05,-0.017)(-0.12,0.02)
\psline[linewidth=0.2pt](0.128,0.012)(0.112,0.028)
\psline[linewidth=0.2pt](-0.128,0.012)(-0.112,0.028)
}
\psbezier[linewidth=0.4pt](-0.17,6.65)(-0.1,6.6)(-0.1,6.58)(-0.05,6.57)
\psbezier[linewidth=0.4pt](0.17,6.65)(0.1,6.6)(0.1,6.58)(0.05,6.57)
\rput(0,6.66){%
\psbezier[linewidth=0.6pt](-0.06,0)(-0.01,0.005)(0.02,0.005)(0.06,-0.01)}
\pscustom[fillstyle=solid,fillcolor=Haut,linewidth=0.5pt]{%
\psbezier(-0.32,7)(-0.32,7.1)(-0.37,7.1)(-0.36,7)
\psbezier(-0.35,6.95)(-0.36,6.9)(-0.345,6.85)
\psbezier(-0.325,6.82)(-0.316,6.85)(-0.32,7)
\closepath
}
\pscustom[fillstyle=solid,fillcolor=Haut,linewidth=0.5pt]{%
\psbezier(0.32,7)(0.32,7.1)(0.37,7.1)(0.36,7)
\psbezier(0.35,6.95)(0.36,6.9)(0.345,6.85)
\psbezier(0.325,6.82)(0.316,6.85)(0.32,7)
\closepath
}
\pspolygon[fillstyle=solid,fillcolor=blue!40](-0.56,4)(-0.59,3.45)(-0.02,3.43)(0,3.52)(0.02,3.43)(0.59,3.45)(0.56,4)
\end{pspicture}

\end{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%

\documentclass{article}
\usepackage{pst-transform}
\definecolor{Weiss}{rgb}{1,0.98,0.98}
\definecolor{Haut}{rgb}{1,0.894,0.769}
\definecolor{Auge}{rgb}{0.54,0.27,0.074}
\def\sapiens{\pscustom[fillstyle=solid,fillcolor=Haut,linewidth=1.0pt]{%
% linker Unterarm
\psbezier(-1.15,4.2)(-1.2,4.9)(-1.11,5.1)(-1.05,5.2)
% linke Schulter
\psbezier(-0.95,6.8)(-0.18,6)(-0.18,6.5)
% Hals und Kopf
\psbezier(-0.18,6.8)(-0.32,6.6)(-0.32,7.1)
\psbezier(-0.32,7.34)(-0.2,7.45)(0,7.45)
\psbezier(0.2,7.45)(0.32,7.34)(0.32,7.1)
\psbezier(0.32,6.6)(0.18,6.8)(0.18,6.5)
% rechte Schulter
\psbezier(0.18,6)(0.95,6.8)(1.05,5.2)
% rechter Unterarm
\psbezier(1.11,5.1)(1.2,4.9)(1.15,4.2)
\psbezier(1.14,4.1)(1.16,3.9)(1.15,3.5)
\psbezier(1.15,3.4)(1.16,3.4)(0.95,3.25)
\psbezier(0.9,3.2)(0.88,3.23)(0.85,3.25)
\psbezier(0.86,3.27)(0.92,3.3)(1,3.4)
\psbezier(1.05,3.55)(1.0,3.55)(0.93,3.6)
\psbezier(0.93,3.5)(0.9,3.45)(0.82,3.4)
\psbezier(0.76,3.4)(0.85,3.4)(0.85,3.6)
\psbezier(0.83,3.7)(0.9,3.78)(0.94,3.85)
\psline(0.94,3.85)(0.92,4.05)
\psbezier(0.87,4.4)(0.79,4.6)(0.81,5.1)
\psbezier(0.7,5.4)(0.62,5.4)(0.6,5.7)
\psbezier(0.5,4.9)(0.5,4.8)(0.55,4)
\psbezier(0.6,3.6)(0.58,3.3)(0.57,2.7)
\psbezier(0.57,2.6)(0.55,2.5)(0.51,2.2)
\psbezier(0.45,2.0)(0.6,1.8)(0.6,1.2)
\psbezier(0.6,0.83)(0.53,0.82)(0.53,0.4)
\psbezier(0.75,0.2)(0.75,0.2)(0.75,0.05)
\psbezier(0.65,0)(0.6,0)(0.55,0)
\psbezier(0.54,0)(0.45,0.1)(0.4,0.2)
\psbezier(0.38,0.25)(0.36,0.33)(0.34,0.4)
\psline(0.34,0.4)(0.3,0.65)
\psbezier(0.32,1)(0.16,1.2)(0.18,1.8)
\psbezier(0.07,2.4)(0.05,3.6)(0,3.6)
%linkes Bein
\psbezier(-0.05,3.6)(-0.07,2.4)(-0.18,1.8)
\psbezier(-0.16,1.2)(-0.32,1)(-0.3,0.65)
\psline(-0.3,0.65)(-0.34,0.4)
\psbezier(-0.36,0.33)(-0.38,0.25)(-0.4,0.2)
\psbezier(-0.45,0.1)(-0.54,0)(-0.55,0)
\psbezier(-0.6,0)(-0.65,0)(-0.75,0.05)
\psbezier(-0.75,0.2)(-0.75,0.2)(-0.53,0.4)
\psbezier(-0.53,0.82)(-0.6,0.83)(-0.6,1.2)
\psbezier(-0.6,1.8)(-0.45,2.0)(-0.51,2.2)
\psbezier(-0.55,2.5)(-0.57,2.6)(-0.57,2.7)
\psbezier(-0.58,3.3)(-0.6,3.6)(-0.55,4)
\psbezier(-0.5,4.8)(-0.5,4.9)(-0.6,5.7)
\psbezier(-0.62,5.4)(-0.7,5.4)(-0.81,5.1)
\psbezier(-0.79,4.6)(-0.87,4.4)(-0.92,4.05)
\psline(-0.92,4.05)(-0.94,3.85)
\psbezier(-0.9,3.78)(-0.83,3.7)(-0.85,3.6)
\psbezier(-0.85,3.4)(-0.76,3.4)(-0.82,3.4)
\psbezier(-0.9,3.45)(-0.93,3.5)(-0.93,3.6)
\psbezier(-1.0,3.55)(-1.05,3.55)(-1,3.4)
\psbezier(-0.92,3.3)(-0.86,3.27)(-0.85,3.25)
\psbezier(-0.88,3.23)(-0.9,3.2)(-0.95,3.25)
\psbezier(-1.16,3.4)(-1.15,3.4)(-1.15,3.5)
\psbezier(-1.16,3.9)(-1.14,4.1)(-1.15,4.2)
%
\closepath
}
\psbezier[linewidth=0.6pt](-0.45,5.43)(-0.3,5.41)(-0.3,5.41)(-0.2,5.43)
\psbezier[linewidth=0.6pt](0.45,5.43)(0.3,5.41)(0.3,5.41)(0.2,5.43)
\psellipse[fillstyle=solid,fillcolor=black,linestyle=none](0,4.2)(0.02,0.035)
\def\AugeR{%
\begin{psclip}{%
\pscustom[fillstyle=solid,fillcolor=Weiss,linecolor=black,linewidth=0.2pt]{%
\psbezier(0.05,0)(0.04,0.004)(0.02,0.02)(0,0.02)
\psbezier(-0.02,0.02)(-0.04,0.01)(-0.05,-0.005)
\psbezier(-0.047,0)(-0.02,-0.018)(0,-0.018)
\psbezier(0.02,-0.018)(0.04,-0.006)(0.05,0)
\closepath
}
}
\pscircle[linestyle=none,fillstyle=solid,fillcolor=Auge](0,0.002){0.024}
\pscircle[linewidth=0.2pt,fillstyle=solid,fillcolor=black](0.001,0.001){0.012}
\end{psclip}
\pspolygon[linewidth=0.06pt,fillstyle=solid,fillcolor=white](0.009,0.003)(0.01,0.014)(-0.002,0.014)(-0.002,0.003)
\pspolygon[linewidth=0.06pt,fillstyle=solid,fillcolor=white](-0.004,0.003)(-0.004,0.014)(-0.012,0.014)(-0.012,0.003)
\psbezier[linewidth=0.1pt](0.05,0.01)(0.044,0.03)(-0.02,0.05)(-0.05,0.005)
\psbezier[linewidth=0.6pt](0.05,0.035)(0.044,0.05)(-0.02,0.055)(-0.05,0.04)
}
\def\AugeL{%
\begin{psclip}{%
\pscustom[fillstyle=solid,fillcolor=Weiss,linecolor=black,linewidth=0.2pt]{%
\psbezier(-0.05,0)(-0.04,0.004)(-0.02,0.02)(0,0.02)
\psbezier(0.02,0.02)(0.04,0.01)(0.05,-0.005)
\psbezier(0.047,0)(0.02,-0.018)(0,-0.018)
\psbezier(-0.02,-0.018)(-0.04,-0.006)(-0.05,0)
\closepath
}
}
\pscircle[linestyle=none,fillstyle=solid,fillcolor=Auge](0,0.002){0.024}
\pscircle[linewidth=0.2pt,fillstyle=solid,fillcolor=black](0.001,0.001){0.012}
\end{psclip}
\pspolygon[linewidth=0.06pt,fillstyle=solid,fillcolor=white](-0.009,0.003)(-0.01,0.014)(0.002,0.014)(0.002,0.003)
\pspolygon[linewidth=0.06pt,fillstyle=solid,fillcolor=white](0.004,0.003)(0.004,0.014)(0.012,0.014)(0.012,0.003)
\psbezier[linewidth=0.1pt](-0.05,0.01)(-0.044,0.03)(0.02,0.05)(0.05,0.005)
\psbezier[linewidth=0.6pt](-0.05,0.035)(-0.044,0.05)(0.02,0.055)(0.05,0.04)
}
\rput(-0.14,7.04){\psscalebox{1.55}{\AugeL}}
\rput(0.14,7.04){\psscalebox{1.55}{\AugeR}}
\rput(0,6.81){%
\psbezier[linewidth=0.6pt](-0.04,0)(0,-0.03)(0.02,-0.025)(0.04,0)
\psbezier[linewidth=0.6pt](0.035,0.28)(0.02,0.18)(0.02,0.1)(0.055,0.045)
}
\rput(0,6.72){%
\pscustom[fillstyle=solid,fillcolor=red!40,linestyle=none]{%
\psline(-0.085,0.01)(-0.04,0.03)(0,0.023)(0.04,0.03)(0.08,0.004)(0.08,0.005)(0.08,-0.005)
\psbezier(0.04,-0.04)(-0.04,-0.04)(-0.085,-0.005)
\closepath
}
\psline[linewidth=0.2pt](-0.085,0.01)(-0.04,0.03)(0,0.023)(0.04,0.03)(0.08,0.004)(0.08,0.005)
\psbezier[linewidth=0.2pt](0.08,-0.005)(0.04,-0.04)(-0.04,-0.04)(-0.085,-0.005)
\psbezier[linewidth=0.2pt](0.12,0.02)(0.05,-0.015)(-0.05,-0.017)(-0.12,0.02)
\psline[linewidth=0.2pt](0.128,0.012)(0.112,0.028)
\psline[linewidth=0.2pt](-0.128,0.012)(-0.112,0.028)
}
\psbezier[linewidth=0.4pt](-0.17,6.65)(-0.1,6.6)(-0.1,6.58)(-0.05,6.57)
\psbezier[linewidth=0.4pt](0.17,6.65)(0.1,6.6)(0.1,6.58)(0.05,6.57)
\rput(0,6.66){%
\psbezier[linewidth=0.6pt](-0.06,0)(-0.01,0.005)(0.02,0.005)(0.06,-0.01)}
\pscustom[fillstyle=solid,fillcolor=Haut,linewidth=0.5pt]{%
\psbezier(-0.32,7)(-0.32,7.1)(-0.37,7.1)(-0.36,7)
\psbezier(-0.35,6.95)(-0.36,6.9)(-0.345,6.85)
\psbezier(-0.325,6.82)(-0.316,6.85)(-0.32,7)
\closepath
}
\pscustom[fillstyle=solid,fillcolor=Haut,linewidth=0.5pt]{%
\psbezier(0.32,7)(0.32,7.1)(0.37,7.1)(0.36,7)
\psbezier(0.35,6.95)(0.36,6.9)(0.345,6.85)
\psbezier(0.325,6.82)(0.316,6.85)(0.32,7)
\closepath
}
\pspolygon[fillstyle=solid,fillcolor=blue!40](-0.56,4)(-0.59,3.45)(-0.02,3.43)(0,3.52)(0.02,3.43)(0.59,3.45)(0.56,4)
}


\pagestyle{empty}

\begin{document}

\begin{center}
\psframebox[fillstyle=solid,fillcolor=cyan!20,linestyle=none]{
\begin{pspicture}(-2,-1)(2,9)
\psset{curvature={1 0.5 3}}\psgrid(-2,-1)(2,9)\sapiens
\end{pspicture}}
\pscisaillement[cisX=20,cisY=20]{\psframebox[fillstyle=solid,fillcolor=cyan!20,linestyle=none]{
\begin{pspicture}(-2,-1)(2,9)
\psgrid(-2,-1)(2,9)%
\psset{curvature={1 0.5 3}}\sapiens
\pnode(-1,0){A}\pnode(1,0){B}
\SymPlan(A)(B){\sapiens\psgrid(-2,-1)(2,9)}
\end{pspicture}}}
\end{center}

\begin{center}
\psframebox[fillstyle=solid,fillcolor=cyan!20,linestyle=none]{
\begin{pspicture}(-3,-1)(3,9)
\psset{curvature={1 0.5 3}}
\psscalebox{2.5 0.5}{\sapiens}
\end{pspicture}}
\psframebox[fillstyle=solid,fillcolor=cyan!20,linestyle=none]{
\begin{pspicture}(-1,-1)(1,9)
\psset{curvature={1 0.5 3}}
\psscalebox{0.25 1}{\sapiens}
\end{pspicture}}

\psframebox[fillstyle=solid,fillcolor=cyan!20,linestyle=none]{
\begin{pspicture}[showgrid](-2,-1)(3,9)
\psset{curvature={1 0.5 3}}
\sapiens
\psHomothetie(3,0){0.5}{\sapiens}
\psHomothetie(3,0){0.5}{\psHomothetie(3,0){0.5}{\sapiens}}
\end{pspicture}}
\end{center}
\end{document}



Aucun commentaire:

Enregistrer un commentaire