<!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>&gt;Is it possible to make a cut on a paraboloid<BR>&gt;parallel, for 
example, to the z axis? </DIV>
<DIV>&nbsp;</DIV>
<DIV>In this example the plan contains axis OZ Its position is defined by the 
Start angle :</DIV>
<DIV>&nbsp;</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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
\psk@embedangle<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
\psk@viewpoint<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
\psk@viewangle<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
\tx@SetMatrixThreeD}<BR>\pst@killglue<BR>\psset{#1}%<BR>\def\parameters{%<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
\psk@embedangle<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
\psk@viewpoint<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
\psk@viewangle<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
\tx@SetMatrixThreeD<BR>% Vecteur 
ViewPoint<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
\psk@viewpoint<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /vZ 
ED<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /vY 
ED<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqrt} 
bind def<BR>% l'ellipse du plan de coupe : le contour<BR>/PlanCoupe 
{<BR>&nbsp;&nbsp;&nbsp; /Z Hauteur store<BR>&nbsp;&nbsp;&nbsp; /V {Z sqrt} bind 
def<BR>&nbsp;&nbsp;&nbsp; /TableauxPoints [<BR>Start 1 End {% on décrit le 
cercle<BR>&nbsp;&nbsp;&nbsp; /U exch def [<BR>&nbsp;&nbsp;&nbsp; /Xpoint U cos V 
mul AR mul \pst@number\psunit mul def<BR>&nbsp;&nbsp;&nbsp; /Ypoint U sin V mul 
AR mul \pst@number\psunit mul def<BR>&nbsp;&nbsp;&nbsp; /Zpoint Z 
\pst@number\psunit mul def<BR>&nbsp;&nbsp;&nbsp; Xpoint Ypoint 
Zpoint<BR>&nbsp;&nbsp;&nbsp; \tx@ProjThreeD ]<BR>&nbsp;&nbsp;&nbsp; } 
for<BR>&nbsp;&nbsp;&nbsp; ] def<BR>newpath<BR>&nbsp;TableauxPoints 0 get aload 
pop moveto<BR>0 1 TableauxPoints length 1 sub {<BR>&nbsp;&nbsp;&nbsp; /compteur 
exch def<BR>&nbsp;&nbsp;&nbsp; TableauxPoints compteur get aload 
pop<BR>&nbsp;&nbsp;&nbsp; lineto } for<BR>closepath<BR>&nbsp;} 
def<BR>%<BR>/facette {<BR>newpath<BR>&nbsp;&nbsp;&nbsp; /Xpoint U cos V mul AR 
mul \pst@number\psunit mul def<BR>&nbsp;&nbsp;&nbsp; /Ypoint U sin V mul AR mul 
\pst@number\psunit mul def<BR>&nbsp;&nbsp;&nbsp; /Zpoint Z \pst@number\psunit 
mul def<BR>&nbsp;&nbsp;&nbsp; Xpoint Ypoint Zpoint 
\tx@ProjThreeD<BR>&nbsp;&nbsp;&nbsp;&nbsp; moveto<BR>U 1 U increment add&nbsp; 
{%<BR>&nbsp;&nbsp;&nbsp; /U1 exch def<BR>&nbsp;&nbsp;&nbsp; /Xpoint U1 cos V mul 
AR mul \pst@number\psunit mul def<BR>&nbsp;&nbsp;&nbsp; /Ypoint U1 sin V mul AR 
mul \pst@number\psunit mul def<BR>%&nbsp;&nbsp;&nbsp; /Zpoint Z 
\pst@number\psunit mul def<BR>&nbsp;&nbsp;&nbsp; Xpoint Ypoint Zpoint 
\tx@ProjThreeD<BR>&nbsp;&nbsp;&nbsp; lineto<BR>&nbsp;&nbsp;&nbsp; } for<BR>Z 
pas10 Z pas add {<BR>&nbsp;&nbsp;&nbsp; /Z1 exch def<BR>&nbsp;&nbsp;&nbsp; /V 
{Z1 sqrt} bind def<BR>&nbsp;&nbsp;&nbsp; /Xpoint U1 cos V mul AR mul 
\pst@number\psunit mul def<BR>&nbsp;&nbsp;&nbsp; /Ypoint U1 sin V mul AR mul 
\pst@number\psunit mul def<BR>&nbsp;&nbsp;&nbsp; /Zpoint Z1 \pst@number\psunit 
mul def<BR>&nbsp;&nbsp;&nbsp; Xpoint Ypoint Zpoint 
\tx@ProjThreeD<BR>&nbsp;&nbsp;&nbsp; lineto<BR>&nbsp;&nbsp;&nbsp; } for<BR>U 
increment add -1 U {%<BR>&nbsp;&nbsp;&nbsp; /U2 exch def<BR>&nbsp;&nbsp;&nbsp; 
/Xpoint U2 cos V mul AR mul \pst@number\psunit mul def<BR>&nbsp;&nbsp;&nbsp; 
/Ypoint U2 sin V mul AR mul \pst@number\psunit mul def<BR>&nbsp;&nbsp;&nbsp; 
/Zpoint Z pas add \pst@number\psunit mul def<BR>&nbsp;&nbsp;&nbsp; Xpoint Ypoint 
Zpoint \tx@ProjThreeD<BR>&nbsp;&nbsp;&nbsp; lineto<BR>&nbsp;&nbsp;&nbsp; } 
for<BR>Z pas add pas10 neg Z pas10 sub{<BR>&nbsp;&nbsp;&nbsp; /Z2 exch 
def<BR>&nbsp;&nbsp;&nbsp; /V {Z2 abs sqrt} bind def<BR>&nbsp;&nbsp;&nbsp; 
/Xpoint U cos V mul AR mul \pst@number\psunit mul def<BR>&nbsp;&nbsp;&nbsp; 
/Ypoint U sin V mul AR mul \pst@number\psunit mul def<BR>&nbsp;&nbsp;&nbsp; 
/Zpoint Z2 \pst@number\psunit mul def<BR>&nbsp;&nbsp;&nbsp; Xpoint Ypoint Zpoint 
\tx@ProjThreeD<BR>&nbsp;&nbsp;&nbsp; 
lineto<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } for<BR>closepath} 
def<BR>%<BR>/MaillageParaboloid {<BR>0 pas Hauteur pas 
sub{%<BR>&nbsp;&nbsp;&nbsp; /Z ED<BR>&nbsp;&nbsp;&nbsp; /V {Z sqrt} bind 
def<BR>Start increment End {%<BR>&nbsp;&nbsp;&nbsp; /U exch def<BR>% Centre de 
la facette<BR>&nbsp;&nbsp;&nbsp; /Ucentre {U increment 2 div add} bind 
def<BR>&nbsp;&nbsp;&nbsp; /Vcentre {Z pas 2 div add sqrt} bind def<BR>% normale 
à la facette<BR>&nbsp;&nbsp;&nbsp; /nXfacette {2 Vcentre dup mul mul Ucentre cos 
mul} bind def<BR>&nbsp;&nbsp;&nbsp; /nYfacette {2 Vcentre dup mul mul Ucentre 
sin mul} bind def<BR>&nbsp;&nbsp;&nbsp; /nZfacette Vcentre 
def<BR>&nbsp;&nbsp;&nbsp; /NormeN {nXfacette dup 
mul<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
nYfacette dup 
mul<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
nZfacette dup 
mul<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add 
add sqrt} bind def<BR>NormeN 0 eq {/NormeN 1e-10 def} if<BR>% test de 
visibilité<BR>&nbsp;&nbsp;&nbsp; /PSfacette vX nXfacette 
mul<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vY nYfacette 
mul add<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vZ 
nZfacette mul add<BR>&nbsp;&nbsp;&nbsp; def<BR>condition {<BR>facette<BR>/cosV 
{1 xLight nXfacette mul<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yLight nYfacette 
mul<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zLight nZfacette 
mul<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add 
add<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
NormeLight<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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>&nbsp;&nbsp;&nbsp; /Hauteur #2 def<BR>&nbsp;&nbsp;&nbsp; /AR #3 
def<BR>&nbsp;&nbsp;&nbsp; /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>&nbsp;&nbsp;&nbsp; PlanCoupe 1 0.5 
0.5 setrgbcolor fill<BR>&nbsp;&nbsp;&nbsp; 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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
\pst@Verb{%<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
\psk@embedangle<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
\psk@viewpoint<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
\psk@viewangle<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
\tx@SetMatrixThreeD}<BR>&nbsp; \pnode(!#1 #2 #3 
\ProjThreeD){#4}}<BR>\makeatother<BR>\begin{document}<BR>\begin{pspicture}(-5,-8)(5,10)<BR>\psset{viewpoint=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{-&gt;}(O)(X)<BR>\psline{-&gt;}(O)(Y)<BR>\psline{-&gt;}(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{-&gt;}(U)(Z)<BR>\end{pspicture}</DIV>
<DIV>&nbsp;</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{-&gt;}(O)(X)<BR>\psline{-&gt;}(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{-&gt;}(U)(Z)<BR>\end{pspicture}</DIV>
<DIV><BR>\end{document}<BR></DIV>
<DIV>Manuel</DIV></FONT></BODY></HTML>