Tracé de surface en 3d : meilleure méthode ?

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Tracé de surface en 3d : meilleure méthode ?

Messagepar fralie » Mardi 06 Mai 2008, 14:49

bonjour à tous ,
j'ai réalisé sur le meme principe que ci-dessous un tracé de surface d'équation z = xy (avec pstricks) ; je livre mon code ci-dessous ;
existet-il une méthode plus facile (avec texgraph ou asymptote) par exemple pour le réaliser ? je trouve cela fastidieux (surtout le coloriage entre chaque ligne niveau qu'on est obligé de faire un par un )

http://www.apmep.asso.fr/IMG/pdf/Polyne ... in2007.pdf

Code: Tout sélectionner
\documentclass[10pt]{article}
\usepackage[latin1]{inputenc} %pas n\'ecessaire avec mllatex ou frlatex
% Fourier for math | Utopia (scaled) for rm | Helvetica for ss | Latin Modern for tt
\usepackage{fltpoint} %pour les calculs de z, à charger avant le reste,sinon erreur
\usepackage{fourier} % math & rm
\usepackage[scaled=0.875]{helvet} % ss
\renewcommand{\ttdefault}{lmtt} %tt
\usepackage{amsmath,amssymb,makeidx}
\usepackage[normalem]{ulem}
\usepackage{fancybox}
\usepackage{tabularx}
\usepackage{ulem}
\usepackage{textcomp}
\newcommand{\euro}{\texteuro{}}
\usepackage{pstricks,pst-plot,pst-math,pst-tree,pst-3dplot,pst-eucl}
\setlength\paperheight{297mm}%10
\setlength\paperwidth{210mm}
\setlength{\textheight}{25cm}
\newcommand{\R}{\mathbb{R}}
\newcommand{\N}{\mathbb{N}}
\newcommand{\D}{\mathbb{D}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\C}{\mathbb{C}}
\newcommand{\vect}[1]{\mathchoice%
{\overrightarrow{\displaystyle\mathstrut#1\,\,}}%
{\overrightarrow{\textstyle\mathstrut#1\,\,}}%
{\overrightarrow{\scriptstyle\mathstrut#1\,\,}}%
{\overrightarrow{\scriptscriptstyle\mathstrut#1\,\,}}}
\renewcommand{\theenumi}{\textbf{\arabic{enumi}}}
\renewcommand{\labelenumi}{\textbf{\theenumi.}}
\renewcommand{\theenumii}{\textbf{\alph{enumii}}}
\renewcommand{\labelenumii}{\textbf{\theenumii.}}
\def\Oij{$\left(\text{O},~\vect{\imath},~\vect{\jmath}\right)$}
\def\Oijk{$\left(\text{O},~\vect{\imath},~ \vect{\jmath},~ \vect{k}\right)$}
\def\Ouv{$\left(\text{O},~\vect{u},~\vect{v}\right)$}
\setlength{\voffset}{-2,5cm}
\usepackage{fancyhdr}
 %\pagestyle{fancy}
\usepackage[frenchb]{babel}
\usepackage{geometry}
\geometry{a4paper,left=0.7cm,right=0.5cm,top=4.5cm,bottom=1.5cm,noheadfoot}
\begin{document}

\renewcommand \footrulewidth{.2pt}%
\pagestyle{fancy}
\pagestyle{empty}

\begin{pspicture}(-6,-4)(6,5)

\psset{xunit=2cm,yunit=2cm,Beta=20,Alpha=160,linecolor=gray,subticks=4}
\pstThreeDCoor[xMin=0,xMax=2,yMin=0,yMax=2,zMin=0,zMax=2,drawing=false]

\pstThreeDPlaneGrid[planeGrid=xy](0,0)(2,2)
\pstThreeDPlaneGrid[planeGrid=yz](0,0)(2,2)
\pstThreeDPlaneGrid[planeGrid=xz,planeGridOffset=4](0,0)(2,2)

\pstThreeDPut(0,-1,1.3){$z$}
\multido{\n=0+1}{3}{\fpMul{\z}{\n}{2}\pstThreeDPut(0,-0.4,\n){\z}}
\multido{\n=0+1}{3}{\pstThreeDLine(0,0,\n)(0,-0.2,\n)}


\pstThreeDPut(2.5,1,0){$x$}
\multido{\n=0+1}{3}{\pstThreeDPut(2.2,\n,0){\n}}
\multido{\n=0+1}{3}{\pstThreeDLine(2,\n,0)(2.1,\n,0)}

\pstThreeDPut(1,-1,0){$y$}
\multido{\n=0+1}{3}{\pstThreeDPut(\n,-0.5,0){\n}}
\multido{\n=0+1}{3}{\pstThreeDLine(\n,0,0)(\n,-0.2,0)}

%0<= z <= 1
\newgray{gris}{0.65}\parametricplotThreeD[plotstyle=curve](0.5,2){t 1 t div 0.5}
\pscustom[fillstyle=solid,fillcolor=gris]{
\parametricplotThreeD[plotstyle=curve](0.5,2){t 1 t div 0.5}
\pstThreeDLine(2,0.5,0.5)(2,0,0)(0,0,0)(0,2,0)(0.5,2,0.5)
}


%z >=1
\newgray{gris}{0.75}
\pscustom[fillstyle=solid,fillcolor=gris]{
\pstThreeDLine(2,0.5,0.5)(2,2,2)(0.5,2,0.5)
\parametricplotThreeD[plotstyle=curve,liftpen=1](0.5,2){t 1 t div 0.5}
}

%z >=2
\newgray{gris}{0.85}
\pscustom[fillstyle=solid,fillcolor=gris]{
\pstThreeDLine(2,1,1)(2,2,2)(1,2,1)
\parametricplotThreeD[plotstyle=curve,liftpen=1](1,2){t 2 t div 1}
}

%z >=3
\newgray{gris}{0.90}
\pscustom[fillstyle=solid,fillcolor=gris]{
\pstThreeDLine(2,1.5,1.5)(2,2,2)(1.5,2,1.5)
\parametricplotThreeD[plotstyle=curve,liftpen=1](1.5,2){t 3 t div 1.5}
}

\psplotThreeD[linecolor=blue,algebraic=true,plotstyle=line,drawStyle=xyLines,yPlotpoints=4,xPlotpoints=4,linewidth=0.5pt](0,2)(0,2){x*y/2}
\end{pspicture}

\newpage

\end{document}
fralie
Déca-utilisateur
 
Messages: 38
Inscription: Mardi 11 Mars 2008, 09:47
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: tracé de surface en 3d : meilleure méthode ?

Messagepar guiguiche » Mardi 06 Mai 2008, 15:14

Avec maxima : tu traces la surface, tu choisis l'angle de vue, tu exportes l'image que tu insères dans ton document.
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8067
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Re: tracé de surface en 3d : meilleure méthode ?

Messagepar P.Fradin » Mardi 06 Mai 2008, 16:00

Je ne sais pas si c'est la meilleure méthode, mais pour le faire avec TeXgraph regarde le sujet
Courbes de niveau du forum TeXgraph.

Par exemple:
courbeniv.png
P.Fradin
 

Re: tracé de surface en 3d : meilleure méthode ?

Messagepar projetmbc » Mardi 06 Mai 2008, 16:58

Salut,
très sympa ton exemple. Pourrais-tu fournir le code TexGraph que tu as utilisé ?

Cordialement.
C.
projetmbc
Péta-utilisateur
 
Messages: 1897
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: tracé de surface en 3d : meilleure méthode ?

Messagepar P.Fradin » Mardi 06 Mai 2008, 17:35

Salut,

C'est un exemple qu'avait proposé Ph.Ivaldi il y a quelques temps dans ce forum et que j'ai repris.
Quant au code (celui-ci ne tient pas en 3 lignes) j'ai mis le lien dans mon précédent message.
P.Fradin
 

Re: Tracé de surface en 3d : meilleure méthode ?

Messagepar Ph. Ivaldi » Mardi 06 Mai 2008, 17:44

Bonsoir,

fralie a écrit:existet-il une méthode plus facile (avec texgraph ou asymptote) par exemple pour le réaliser ?


Deux liens pour Asymptote:

http://www.marris.org/asymptote/Surfaces_3D/index.html
http://piprim.tuxfamily.org/asymptote/graph3/index.html

Je pense que les routines de graph3 vont être améliorées pour faciliter encore plus la coloration mais je ne sais pas quand.
Au pire je créerai une extension spécialisée mais ce n'est pas pour tout de suite.
Ph. Ivaldi
Méga-utilisateur
 
Messages: 267
Inscription: Vendredi 12 Janvier 2007, 23:27
Statut actuel: Actif et salarié

Re: Tracé de surface en 3d : meilleure méthode ?

Messagepar fralie » Mercredi 07 Mai 2008, 20:41

à tous , merci pour vos réponses ! texgraph me convient très bien !
le seul petit souci que j'ai eu c'est pour créer des points sur la surface (le temps de comprendre comment les coordonnées marchaient ).
fralie
Déca-utilisateur
 
Messages: 38
Inscription: Mardi 11 Mars 2008, 09:47
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Ahrefs [Bot], Fabrice Couvreur, Google Adsense [Bot] et 25 invités