PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : pst-solides3d => definition=vecteur3d



rfischer
23-06-2009, 14:23
Hallo,

möchte einen Vektor zwischen zwei vordefinierte Punkte zeichnen. Allerdings wird der Vektor immer vom Ursprung des Koordinatensystems und nicht zwischen den Punkten gezeichnet.

Dokumentation:


We can also define a vector with 2 given points A and B of R3.
One then uses the arguments [definition=vecteur3d] and [args=xA yA zA xB yB zB] where
(xA, yA, zA) and (xB, yB, zB) are the appropriate coordinates of the points A et B
If the points A and B were already defined, one can easily use the named variables: [args=A B].


Minimalbeispiel:


\documentclass[10pt,a4paper,twoside]{book}
\usepackage[latin1]{inputenc}
\usepackage{pst-solides3d}
%
\begin{document}
\begin{figure}[htbp]
\begin{minipage}{0.70\textwidth}
\centering
\psset[pst-solides3d]{lightsrc=100 20 40,
lightintensity=2,Decran=17}
\begin{pspicture}(-2,-1.2)(2,3)
\psset{solidmemory}
%Point 1
\psSolid[object=point,args=-0.9 0.8 3,%action=none,
name=MyP1e]
\psSolid[object=point,definition=scaleOpoint3d,args={MyP1e 0.7 0.7 0.7},
name=MyP1s]
\psSolid[object=vecteur,definition=vecteur3d,args={MyP1s MyP1e}]%
\composeSolid
%Axes
\axesIIID[showOrigin=false,axisnames={e_{\xi},e_{\eta},e_{\z eta}},
arrowinset=0,arrowscale=1.5](0,0,0)(2,2,3)
\end{pspicture}
\end{minipage}
\begin{minipage}{0.25\textwidth}

\end{minipage}
\end{figure}

\end{document}


Ausgabe: siehe Anhang. Hätte nun einen Vektor zwischen den Punkten erwartet...

Beste Grüße,
Robert.

voss
23-06-2009, 16:17
möchte einen Vektor zwischen zwei vordefinierte Punkte zeichnen. Allerdings wird der Vektor immer vom Ursprung des Koordinatensystems und nicht zwischen den Punkten gezeichnet.


\psSolid[object=vecteur,definition=vecteur3d,args=MyP1s MyP1e,action=draw*](-0.63,0.56,2.1)

Du musst den Startpunkt angeben.


Die PSTricks Mailingliste ist für sowas sinnvoller ...

Herbert

rfischer
23-06-2009, 19:03
Hallo Herbert,

Danke für den Hinweis bezüglich der PSTricks Mailingliste. Werde dorthin wechseln.

Eigentlich bin ich intiutiv davon ausgegangen, daß ein Vektor zwischen den definierten Punkten gezeichnet wird ohne daß dieser noch verschoben werden muß. pst-solides3d hat eben eine andere Basis als die restlichen pst-Pakete von Dir (mit denen ich mehr Anwendungserfahrung habe).

Herzlichen Dank,
Robert.



\psSolid[object=vecteur,definition=vecteur3d,args=MyP1s MyP1e,transform={MyP1s translatepoint3d},action=draw*]

voss
23-06-2009, 19:19
Eigentlich bin ich intiutiv davon ausgegangen, daß ein Vektor zwischen den definierten Punkten gezeichnet wird ohne daß dieser noch verschoben werden muß. pst-solides3d hat eben eine andere Basis als die restlichen pst-Pakete von Dir (mit denen ich mehr Anwendungserfahrung habe).


\psSolid[object=vecteur,definition=vecteur3d,args=MyP1s MyP1e,transform={MyP1s translatepoint3d},action=draw*]


ich habe den Code des Makros geändert, man kann jetzt auch einen
Namen statt der Koordinaten angeben, also (MyP1s). Die enstprechende tex-Datei ist hier:

http://voss.homedns.org/packages/pst-solides3d/

Herbert

mechanicus
23-06-2009, 19:34
Hallo

Herbert dein Link funktioniert nicht

Gruß
Marco

voss
23-06-2009, 19:38
dein Link funktioniert nicht


danke, da war ein Punkt zuviel

Herbert