<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY id=role_body style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Arial"
bottomMargin=7 leftMargin=7 topMargin=7 rightMargin=7><FONT id=role_document
face=Arial color=#000000 size=2>
<DIV>>Is it possible to make a cut on a paraboloid<BR>>parallel, for
example, to the z axis? </DIV>
<DIV> </DIV>
<DIV>In this example the plan contains axis OZ Its position is defined by the
Start angle :</DIV>
<DIV> </DIV>
<DIV>\documentclass{article}<BR>\usepackage{pst-3d,pst-node}%<BR>\usepackage{pst-xkey}%<BR>\SpecialCoor<BR>\makeatletter<BR>\pst@addfams{pst-paraboloid}<BR>\newif\ifPstParaboloid@Base<BR>\define@key[psset]{pst-paraboloid}{Base}[true]{\@nameuse{PstParaboloid@Base#1}}<BR>\define@key[psset]{pst-paraboloid}{Start}{\edef\PstParaboloid@Start{#1}}<BR>\psset{Base=false,Start=0}<BR>%<BR>\def\ParaboloidIIID{\pst@object{ParaboloidIIID}}<BR>\def\ParaboloidIIID@i{\@ifnextchar[{\ParaboloidIIID@do}{\ParaboloidIIID@do[]}}<BR>\def\ParaboloidIIID@do[#1]#2#3{{%<BR>\pst@Verb{%<BR>
\psk@embedangle<BR>
\psk@viewpoint<BR>
\psk@viewangle<BR>
\tx@SetMatrixThreeD}<BR>\pst@killglue<BR>\psset{#1}%<BR>\def\parameters{%<BR>
\psk@embedangle<BR>
\psk@viewpoint<BR>
\psk@viewangle<BR>
\tx@SetMatrixThreeD<BR>% Vecteur
ViewPoint<BR>
\psk@viewpoint<BR> /vZ
ED<BR> /vY
ED<BR> /vX
ED}<BR>\begin@SpecialObj<BR>\addto@pscode{%<BR>/Start \PstParaboloid@Start\space
def<BR>/End Start 170 add def<BR>1 setlinejoin<BR>\parameters<BR>% Les
couleurs<BR>/Cyan 0.5 def<BR>/Magenta 0.5 def<BR>/Yellow 1 def<BR>% /K 0.5
def<BR>% les rayons de lumière<BR>/xLight 1 def<BR>/yLight 0.5 def<BR>/zLight 1
def<BR>% précision du tracé<BR>/pas 0.5 def<BR>/pas10 {pas 10 div} bind
def<BR>%<BR>/NormeLight {xLight dup mul yLight dup mul zLight dup mul add
add<BR> sqrt}
bind def<BR>% l'ellipse du plan de coupe : le contour<BR>/PlanCoupe
{<BR> /Z Hauteur store<BR> /V {Z sqrt} bind
def<BR> /TableauxPoints [<BR>Start 1 End {% on décrit le
cercle<BR> /U exch def [<BR> /Xpoint U cos V
mul AR mul \pst@number\psunit mul def<BR> /Ypoint U sin V mul
AR mul \pst@number\psunit mul def<BR> /Zpoint Z
\pst@number\psunit mul def<BR> Xpoint Ypoint
Zpoint<BR> \tx@ProjThreeD ]<BR> }
for<BR> ] def<BR>newpath<BR> TableauxPoints 0 get aload
pop moveto<BR>0 1 TableauxPoints length 1 sub {<BR> /compteur
exch def<BR> TableauxPoints compteur get aload
pop<BR> lineto } for<BR>closepath<BR> }
def<BR>%<BR>/facette {<BR>newpath<BR> /Xpoint U cos V mul AR
mul \pst@number\psunit mul def<BR> /Ypoint U sin V mul AR mul
\pst@number\psunit mul def<BR> /Zpoint Z \pst@number\psunit
mul def<BR> Xpoint Ypoint Zpoint
\tx@ProjThreeD<BR> moveto<BR>U 1 U increment add
{%<BR> /U1 exch def<BR> /Xpoint U1 cos V mul
AR mul \pst@number\psunit mul def<BR> /Ypoint U1 sin V mul AR
mul \pst@number\psunit mul def<BR>% /Zpoint Z
\pst@number\psunit mul def<BR> Xpoint Ypoint Zpoint
\tx@ProjThreeD<BR> lineto<BR> } for<BR>Z
pas10 Z pas add {<BR> /Z1 exch def<BR> /V
{Z1 sqrt} bind def<BR> /Xpoint U1 cos V mul AR mul
\pst@number\psunit mul def<BR> /Ypoint U1 sin V mul AR mul
\pst@number\psunit mul def<BR> /Zpoint Z1 \pst@number\psunit
mul def<BR> Xpoint Ypoint Zpoint
\tx@ProjThreeD<BR> lineto<BR> } for<BR>U
increment add -1 U {%<BR> /U2 exch def<BR>
/Xpoint U2 cos V mul AR mul \pst@number\psunit mul def<BR>
/Ypoint U2 sin V mul AR mul \pst@number\psunit mul def<BR>
/Zpoint Z pas add \pst@number\psunit mul def<BR> Xpoint Ypoint
Zpoint \tx@ProjThreeD<BR> lineto<BR> }
for<BR>Z pas add pas10 neg Z pas10 sub{<BR> /Z2 exch
def<BR> /V {Z2 abs sqrt} bind def<BR>
/Xpoint U cos V mul AR mul \pst@number\psunit mul def<BR>
/Ypoint U sin V mul AR mul \pst@number\psunit mul def<BR>
/Zpoint Z2 \pst@number\psunit mul def<BR> Xpoint Ypoint Zpoint
\tx@ProjThreeD<BR>
lineto<BR> } for<BR>closepath}
def<BR>%<BR>/MaillageParaboloid {<BR>0 pas Hauteur pas
sub{%<BR> /Z ED<BR> /V {Z sqrt} bind
def<BR>Start increment End {%<BR> /U exch def<BR>% Centre de
la facette<BR> /Ucentre {U increment 2 div add} bind
def<BR> /Vcentre {Z pas 2 div add sqrt} bind def<BR>% normale
à la facette<BR> /nXfacette {2 Vcentre dup mul mul Ucentre cos
mul} bind def<BR> /nYfacette {2 Vcentre dup mul mul Ucentre
sin mul} bind def<BR> /nZfacette Vcentre
def<BR> /NormeN {nXfacette dup
mul<BR>
nYfacette dup
mul<BR>
nZfacette dup
mul<BR> add
add sqrt} bind def<BR>NormeN 0 eq {/NormeN 1e-10 def} if<BR>% test de
visibilité<BR> /PSfacette vX nXfacette
mul<BR> vY nYfacette
mul add<BR> vZ
nZfacette mul add<BR> def<BR>condition {<BR>facette<BR>/cosV
{1 xLight nXfacette mul<BR> yLight nYfacette
mul<BR> zLight nZfacette
mul<BR> add
add<BR>
NormeLight<BR> NormeN mul div sub} bind
def<BR>% Cyan cosV dup mul mul Magenta cosV dup mul mul Yellow cosV mul K cosV
mul setcmykcolor<BR>Cyan cosV mul dup mul Magenta cosV mul Yellow cosV mul 0
setcmykcolor<BR>fill<BR>0 setgray<BR>facette<BR>stroke<BR>} if<BR>} for<BR>}
for<BR>} def<BR> /Hauteur #2 def<BR> /AR #3
def<BR> /increment 10 def<BR>/conditionGE {PSfacette 0 ge}
def<BR>/conditionLE {PSfacette 0 le}
def}%<BR>\ifPstParaboloid@Base{%<BR>\addto@pscode{%<BR>/condition {conditionGE}
def<BR>MaillageParaboloid<BR>vZ 0 ge {%<BR> PlanCoupe 1 0.5
0.5 setrgbcolor fill<BR> PlanCoupe 0 setgray stroke}
if<BR>}}%<BR>\else<BR>{%<BR>\addto@pscode{%<BR>/condition {conditionLE}
def<BR>MaillageParaboloid<BR>/condition {conditionGE}
def<BR>MaillageParaboloid}%<BR>}\fi%<BR>% fin du code
ps<BR>\showpointsfalse<BR>\end@SpecialObj}}<BR>\makeatother<BR>%<BR>\makeatletter<BR>\let\ProjThreeD\tx@ProjThreeD<BR>\def\pnodeThreeD(#1,#2,#3)#4{%<BR>
\pst@Verb{%<BR>
\psk@embedangle<BR>
\psk@viewpoint<BR>
\psk@viewangle<BR>
\tx@SetMatrixThreeD}<BR> \pnode(!#1 #2 #3
\ProjThreeD){#4}}<BR>\makeatother<BR>\begin{document}<BR>\begin{pspicture}(-5,-8)(5,10)<BR>\psset{viewpoint=1
1
1}<BR>\pnodeThreeD(0,0,0){O}<BR>\pnodeThreeD(0,0,12){Z}<BR>\pnodeThreeD(10,0,0){X}<BR>\pnodeThreeD(0,10,0){Y}<BR>\psline{->}(O)(X)<BR>\psline{->}(O)(Y)<BR>\psline{->}(O)(Z)<BR>\uput[180](Z){$z$}<BR>\uput[0](X){$x$}<BR>\uput[0](Y){$y$}<BR>%
Base=false<BR>\ParaboloidIIID[Start=60]{7}{1.5}% hauteur, coefficient x et
y<BR>\pnodeThreeD(0,0,7){U}<BR>\psdot[dotsize=1mm,linecolor=red](U)<BR>\psline{->}(U)(Z)<BR>\end{pspicture}</DIV>
<DIV> </DIV>
<DIV>\begin{pspicture}(-5,-8)(5,10)<BR>\psset{viewpoint=1 1
0.2}%<BR>\ParaboloidIIID[Base=true]{8}{2}% hauteur, coefficient x et
y<BR>\pnodeThreeD(0,0,0){O}<BR>\pnodeThreeD(0,0,12){Z}<BR>\pnodeThreeD(10,0,0){X}<BR>\pnodeThreeD(0,10,0){Y}<BR>\psline{->}(O)(X)<BR>\psline{->}(O)(Y)<BR>\uput[180](Z){$z$}<BR>\uput[0](X){$x$}<BR>\uput[0](Y){$y$}<BR>\pnodeThreeD(0,0,8){U}<BR>\psdot[dotsize=1mm,linecolor=red](U)<BR>\psline{->}(U)(Z)<BR>\end{pspicture}</DIV>
<DIV><BR>\end{document}<BR></DIV>
<DIV>Manuel</DIV></FONT></BODY></HTML>