C'est encore la suite de différents modèles d’œufs, celui-ci est un œuf à pois rouges et bleus.
Il nécessite le package pst-egg décrit dans les précédents articles :
http://pstricks.blogspot.fr/2015/01/dessiner-un-oeuf-avec-pstricks.html
http://pstricks.blogspot.fr/2015/01/dessiner-un-uf-avec-pstricks-avec-le.html
http://pstricks.blogspot.fr/2015/03/faire-luf-avec-pstricks-suite.html
\documentclass{article}
\usepackage{pst-egg}
\definecolor{coquille}{rgb}{0.984 0.95 0.718}
\begin{document}
\begin{center}
\begin{pspicture}(-3,-4)(3,4)
\psframe[fillstyle=hlines,hatchangle=0](-3,-4)(3,4)
\psset{viewpoint=100 30 10 rtp2xyz,Decran=150,lightsrc=viewpoint,solidmemory,RotX=-30}
\pstegg[fillcolor=coquille,grid,ngrid=24 36]
\pstegg[fillcolor=coquille,grid,ngrid=18 20,name=oeuf,action=none]
\codejps{
% projection sur la face n°i
% coordonnées du centre et rayon du cercle
0 1 oeuf solidnombrefaces 1 sub {/i exch def % numero de la face
oeuf i solidgetsommetsface /TAB exch def
TAB 0 3 getinterval aload pop % sommet n°0 x0 y0 z0
TAB 3 3 getinterval aload pop % sommet n°1 x1 y1 z1
distance3d /Rayon exch 2.65 div def % distance entre les 2 sommets /2.65
0 360 0 0 Rayon Cercle_ oeuf i projpath
i 2 modulo 0 eq {(red) cvx exec}{(blue) cvx exec}ifelse
fill
} for
}%
\end{pspicture}
\end{center}
\end{document}
Avec les couleurs inversées :
\begin{pspicture}(-3,-4)(3,4)
\psframe*(-3,-4)(3,4)
\psframe[fillstyle=hlines,hatchangle=0,hatchcolor=white](-3,-4)(3,4)
\psset{viewpoint=100 30 10 rtp2xyz,Decran=150,lightsrc=viewpoint,solidmemory,RotY=30}
\pstegg[fillcolor=inversecoquille,grid,ngrid=24 36]
\pstegg[ngrid=18 20,name=oeuf,action=none]
\codejps{
% projection sur la face n°i
% coordonnées du centre et rayon du cercle
0 1 oeuf solidnombrefaces 1 sub {/i exch def % numero de la face
oeuf i solidgetsommetsface /TAB exch def
TAB 0 3 getinterval aload pop % sommet n°0 x0 y0 z0
TAB 3 3 getinterval aload pop % sommet n°1 x1 y1 z1
distance3d /Rayon exch 2.65 div def % distance entre les 2 sommets /2.65
0 360 0 0 Rayon Cercle_ oeuf i projpath
i 2 modulo 0 eq {(cyan) cvx exec}{(yellow) cvx exec}ifelse
fill
} for
}%
\end{pspicture}
Voici une version avec des pois en forme d'ellipse pour s'adapter un peu mieux au maillage du solide :
\begin{center}
\begin{pspicture}(-3,-4)(3,4)
\psframe(-3,-4)(3,4)
%\psframe[fillstyle=hlines,hatchangle=0,hatchcolor=white](-3,-4)(3,4)
\psset{viewpoint=100 30 10 rtp2xyz,Decran=150,lightsrc=viewpoint,solidmemory}
\pstegg[fillcolor=inversecoquille,grid,ngrid=24 36]
\pstegg[ngrid=18 20,name=oeuf,action=none]
\codejps{
%% syntaxe : x0 y0 a b Ellipse_ : demi-petit axe et demi-grand axe cente de l'ellipse
/Ellipse_ {
4 dict begin
/b exch def
/a exch def
/y0 exch def
/x0 exch def
0 360 {cos a mul x0 add} {sin b mul y0 add} Courbeparam_
end
} def
0 1 oeuf solidnombrefaces 1 sub {/i exch def % numero de la face
oeuf i solidgetsommetsface /TAB exch def
oeuf i solidcentreface /G defpoint3d
% premier côté
TAB 0 3 getinterval aload pop /A0 defpoint3d % sommet n°0 x0 y0 z0
TAB 3 3 getinterval aload pop /A1 defpoint3d % sommet n°1 x1 y1 z1
A0 G vecteur3d /V1 defpoint3d % A0G
A0 A1 vecteur3d unitaire3d /U1 defpoint3d % vecteur unitaire A1A2
V1 U1 vectprod3d norme3d /d1 exch 1 mul def
% deuxième côté
%TAB 3 3 getinterval aload pop defpoint3d /A1 % sommet n°0 x0 y0 z0
TAB 6 3 getinterval aload pop /A2 defpoint3d % sommet n°2 x2 y2 z2
A2 G vecteur3d /V2 defpoint3d % A2G
A1 A2 vecteur3d unitaire3d /U2 defpoint3d % vecteur unitaire A1A2
V2 U2 vectprod3d norme3d /d2 exch 1 mul def
0 0 d2 d1 Ellipse_ oeuf i projpath
i 2 modulo 0 eq {(cyan) cvx exec}{(yellow) cvx exec}ifelse
fill
} for
}%
\end{pspicture}
\end{center}
lundi 6 avril 2015
dimanche 5 avril 2015
Sphère à points
Marquer les facettes d'une sphère ou d'un solide quelconque par un point-disque de surface proportionnelle à celle de la facette.
\documentclass{article}
\usepackage{pst-solides3d}
\begin{document}
\begin{center}
\begin{pspicture}(-3,-3)(3,3)
\psframe*[linecolor=cyan!20](-3,-3)(3,3)
\psframe[fillstyle=hlines,hatchangle=0](-3,-3)(3,3)
\psset{viewpoint=10 30 30 rtp2xyz,solidmemory, Decran=10,lightsrc=viewpoint}
\psSolid[object=sphere,r=2.5,ngrid=18 36,fillcolor=white,name=sph1,linewidth=0.02]
\codejps{
% projection sur la face n°i
% coordonnées du centre et rayon du cercle
0 1 sph1 solidnombrefaces 1 sub {/i exch def % numero de la face
sph1 i solidgetsommetsface /TAB exch def
TAB 0 get TAB 1 get TAB 2 get % sommet n°0 x0 y0 z0
TAB 3 get TAB 4 get TAB 5 get % sommet n°1 x1 y1 z1
distance3d /Rayon exch 3 div def % distance entre les 2 sommets /3
0 360 0 0 Rayon Cercle_ sph1 i projpath
1 0 0 setrgbcolor
fill
} for
}%
\end{pspicture}
\end{center}
\end{document}
\documentclass{article}
\usepackage{pst-solides3d}
\begin{document}
\begin{center}
\begin{pspicture}(-3,-3)(3,3)
\psframe*[linecolor=cyan!20](-3,-3)(3,3)
\psframe[fillstyle=hlines,hatchangle=0](-3,-3)(3,3)
\psset{viewpoint=10 30 30 rtp2xyz,solidmemory, Decran=10,lightsrc=viewpoint}
\psSolid[object=sphere,r=2.5,ngrid=18 36,fillcolor=white,name=sph1,linewidth=0.02]
\codejps{
% projection sur la face n°i
% coordonnées du centre et rayon du cercle
0 1 sph1 solidnombrefaces 1 sub {/i exch def % numero de la face
sph1 i solidgetsommetsface /TAB exch def
TAB 0 get TAB 1 get TAB 2 get % sommet n°0 x0 y0 z0
TAB 3 get TAB 4 get TAB 5 get % sommet n°1 x1 y1 z1
distance3d /Rayon exch 3 div def % distance entre les 2 sommets /3
0 360 0 0 Rayon Cercle_ sph1 i projpath
1 0 0 setrgbcolor
fill
} for
}%
\end{pspicture}
\end{center}
\end{document}
Configurations géométriques d’un bracelet
Voici un curieux bracelet ramené par mon épouse d’un voyage en Inde, pensant qu’il m’intéresserait. De conception très simple, puisqu’il est formé de 2 grands cercles et de 32 demi-cercles pouvant tourner autour d’un de leur diamètre respectif lié à l’un des grands cercles, ce qui permet de nombreuses configurations et des figures géométriques plaisantes. Les demi-cercles situés au-dessus ou au-dessous d’un grand cercle sont entrelacés de telle sorte que si on en tourne un, tous tournent en même temps. Les demi-cercles situés entre les 2 grands cercles sont solidaires par leurs sommets.
Il s'agit d'une tentative de représentation de ce bracelet avec PSTricks.
Je me limite dans un premier temps à la partie supérieure du bracelet : un cercle et 8 petits cercles. Les voici dépliés dans le plan du grand cercle.
On replie les demi-cercles vers l’intérieur.
Ces deux configurations représentées en perspective :
Une vue avec les demi-cercles verticaux :
Dans la deuxième étape, on représente les demi-cercles situés sous le grand cercle. Nous lions, arbitrairement afin de n’utiliser qu’une variable, les demi-cercles du dessus et dessous de telle façon qu’ils soient symétriques par rapport au plan du grand cercle. En voici deux vues, leurs plans étant inclinés à 45 degrés.
Ensuite, comme pour le bracelet réel, on duplique cette configuration et on la place sous la première de façon que les demi-cercles correspondants soient tangents :
Et pour faire plus joli, on rajoute quelques perles sur le pourtour des grands cercles.
Une animation en Gif :
Les fichiers :
Il s'agit d'une tentative de représentation de ce bracelet avec PSTricks.
Je me limite dans un premier temps à la partie supérieure du bracelet : un cercle et 8 petits cercles. Les voici dépliés dans le plan du grand cercle.
On replie les demi-cercles vers l’intérieur.
Ces deux configurations représentées en perspective :
Une vue avec les demi-cercles verticaux :
Dans la deuxième étape, on représente les demi-cercles situés sous le grand cercle. Nous lions, arbitrairement afin de n’utiliser qu’une variable, les demi-cercles du dessus et dessous de telle façon qu’ils soient symétriques par rapport au plan du grand cercle. En voici deux vues, leurs plans étant inclinés à 45 degrés.
Ensuite, comme pour le bracelet réel, on duplique cette configuration et on la place sous la première de façon que les demi-cercles correspondants soient tangents :
Et pour faire plus joli, on rajoute quelques perles sur le pourtour des grands cercles.
Une animation en Gif :
Les fichiers :
mardi 31 mars 2015
Faire l'œuf avec PSTricks (suite)
C'est la continuation de 2 articles :
http://pstricks.blogspot.fr/2015/01/dessiner-un-oeuf-avec-pstricks.html
http://pstricks.blogspot.fr/2015/01/dessiner-un-uf-avec-pstricks-avec-le.html
Ce dernier lien contient le package dédié au dessin des œufs avec pst-solides3d.
Le lundi de Pâques approchant, voici les derniers œufs sortis de l'atleier de PSTricks :
Tous les fichiers sont dans ce répertoire :
Ce modèle suivant est extrait de l'article :
http://pstricks.blogspot.fr/2015/03/maillage-dun-solide-comme-un-mur-de.html
et celui-ci qui simule la cuisson d'un œuf à la poêle, est extrait de :
http://tex.stackexchange.com/questions/74168/how-can-i-draw-an-egg-using-tikz/74177#74177
http://pstricks.blogspot.fr/2015/01/dessiner-un-oeuf-avec-pstricks.html
http://pstricks.blogspot.fr/2015/01/dessiner-un-uf-avec-pstricks-avec-le.html
Ce dernier lien contient le package dédié au dessin des œufs avec pst-solides3d.
Le lundi de Pâques approchant, voici les derniers œufs sortis de l'atleier de PSTricks :

Tous les fichiers sont dans ce répertoire :
Ce modèle suivant est extrait de l'article :
http://pstricks.blogspot.fr/2015/03/maillage-dun-solide-comme-un-mur-de.html
et celui-ci qui simule la cuisson d'un œuf à la poêle, est extrait de :
http://tex.stackexchange.com/questions/74168/how-can-i-draw-an-egg-using-tikz/74177#74177
mercredi 25 mars 2015
Représenter une surface par des lignes version 0.3
Par rapport à la première version :
http://pstricks.blogspot.fr/2015/03/representer-une-surface-par-des-lignes.html
2 options ont été rajoutées, ce sont les valeurs par défaut qui sont indiquées. :
Les fichiers :
http://pstricks.blogspot.fr/2015/03/representer-une-surface-par-des-lignes.html
2 options ont été rajoutées, ce sont les valeurs par défaut qui sont indiquées. :
- ColorsLines={(red) (red)} : permet d’obtenir une version bicolore des lignes, par exemple on obtiendra une alternance de lignes magenta et jaune en écrivant ColorsLines={(magenta) (yellow)}.
- Le booléen bicolor=false permet d’activer la version bicolore des lignes, il suffit d'écrire bicolor dans les options.
- Un booléen contour=false permet de dessiner la contour de la surface, il suffit décrire [contour] dans les options.
- La couleur et l’épaisseur du contour peuvent être choisis avec les options :
contourcolor=blue et contourwidth=.8pt.
Les fichiers :
dimanche 22 mars 2015
Représenter une surface par des lignes
Pour représenter une surface z = f (x, y), on utilise l’algorithme deWright.
Dans son livre : Graphisme Scientifique paru aux éditions Masson en 1985, l’auteur R.Dony décrit cette méthode de façon très détaillée et propose des exemples programmés en Basic. Il est dommage que ce livre ne soit plus édité, car il est remarquablement documenté, on peut toutefois en trouver des exemplaires d’occasion chez les bouquinistes. C’est une adaptation en Postscript de son programme, que j’utilise pour la commande dédiée à ce type de tracé. Tous les exemples sont tirés du livre de R.Dony.
La commande s’écrit : \psSurfaceHiddenLine[options℄(x1,x2)(y1,y2) et comprend les options de pst-solides3d, pour éventuellement essayer de superposer les 2 types de représentations qui est du bel effet, comme on peut le voir dans l’un des exemples suivants.
[viewpoint et Decran] sont les options de pst-solides3d.
Le package porte de nom de pst-shl et comporte les fichiers .sty, .tex et la documentation :
Le livre de R.Dony étant difficilement trouvable, les 6 pages conscrées à ce thème ont incluses dans le dossier précédemment cié.
le code :
\begin{pspicture}(-7.5,-7)(7.5,7)
\psframe(-7.5,-7)(7.5,7)
\psset{nP=150,nL=51,viewpoint=100 60 25 rtp2xyz,Decran=100,lightsrc=viewpoint}%
\psSurface[inouthue=0 1 0.5 1,ngrid=0.1 0.1,
incolor=yellow,linewidth=0.05\pslinewidth,
grid,unit=1.75,algebraic](-3,-3)(3,3){3*sin(x)^3*sin(y)^3}%
\rput(0.1,0.6){%
\psSurfaceHiddenLines[unit=1.75,algebraic](-3,3)(-3,3){3*sin(x)^3*sin(y)^3}}%
\rput(0,-6){\huge$z=3\sin^3x\sin^3y$}
\end{pspicture}
Dans son livre : Graphisme Scientifique paru aux éditions Masson en 1985, l’auteur R.Dony décrit cette méthode de façon très détaillée et propose des exemples programmés en Basic. Il est dommage que ce livre ne soit plus édité, car il est remarquablement documenté, on peut toutefois en trouver des exemplaires d’occasion chez les bouquinistes. C’est une adaptation en Postscript de son programme, que j’utilise pour la commande dédiée à ce type de tracé. Tous les exemples sont tirés du livre de R.Dony.
La commande s’écrit : \psSurfaceHiddenLine[options℄(x1,x2)(y1,y2) et comprend les options de pst-solides3d, pour éventuellement essayer de superposer les 2 types de représentations qui est du bel effet, comme on peut le voir dans l’un des exemples suivants.
- [nL=41] : nombre de lignes ;
- [nP=99] : nombre de points pour chaque ligne.
[viewpoint et Decran] sont les options de pst-solides3d.
Le package porte de nom de pst-shl et comporte les fichiers .sty, .tex et la documentation :
Le livre de R.Dony étant difficilement trouvable, les 6 pages conscrées à ce thème ont incluses dans le dossier précédemment cié.
le code :
\begin{pspicture}(-7.5,-7)(7.5,7)
\psframe(-7.5,-7)(7.5,7)
\psset{nP=150,nL=51,viewpoint=100 60 25 rtp2xyz,Decran=100,lightsrc=viewpoint}%
\psSurface[inouthue=0 1 0.5 1,ngrid=0.1 0.1,
incolor=yellow,linewidth=0.05\pslinewidth,
grid,unit=1.75,algebraic](-3,-3)(3,3){3*sin(x)^3*sin(y)^3}%
\rput(0.1,0.6){%
\psSurfaceHiddenLines[unit=1.75,algebraic](-3,3)(-3,3){3*sin(x)^3*sin(y)^3}}%
\rput(0,-6){\huge$z=3\sin^3x\sin^3y$}
\end{pspicture}
lundi 9 mars 2015
Maillage d’un solide comme un mur de maçonnerie
C’est une alternative au maillage classique adopté par pst-solides3d. Ce n’est pas d’un grand intérêt,mais cela m’a paru amusant. En voici quelques exemples. La commande dédiée à ce type de maillage est : \psmasonrywall[option](x,y,z).
Il faut définir la surface paramétrée comme dans pst-solides3d avec :
\psSolid[object=surfaceparametree,function=...]
La commande en reprend toutes les options.
Une sphère
Un igloo
Un œuf
Une surface
Une surface du site melusine.org :
http://melusine.eu.org/lab/bmp/a_mp-solid/s_psurfaces/ex22.mpf?fig=1
Les 2 versions d’un bi-cône avec chaque type de maillage
Un paraboloïde
Fusion de 2 tores
Les fichiers :
Il faut définir la surface paramétrée comme dans pst-solides3d avec :
\psSolid[object=surfaceparametree,function=...]
La commande en reprend toutes les options.
Une sphère
Un œuf
http://melusine.eu.org/lab/bmp/a_mp-solid/s_psurfaces/ex22.mpf?fig=1
Les 2 versions d’un bi-cône avec chaque type de maillage
Un paraboloïde
Fusion de 2 tores
Les fichiers :
Inscription à :
Articles (Atom)










































