Page 1 sur 2

[Résolu] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 12:08
par projetmbc
Bonjour,
je voudrais savoir s'il était possible d'avoir un rendu en perspective cavalière, et de plus s'il était possible de jouer sur le coefficient de "profondeur" ?

Toute info. est la bienvenue.

Re: Asymptote-Perspective Cavalière

MessagePosté: Mardi 26 Janvier 2010, 12:35
par GMaths
Une partie de la réponse avec un exemple :

2010-01-26_123354.png
2010-01-26_123354.png (3.2 Kio) Vu 1452 fois


Code: Tout sélectionner
import graph3;
size(8cm);
currentprojection=obliqueX;
limits(O,1.5*(X+Y+Z));
xaxis3();
yaxis3();
zaxis3();
draw(unitcube,paleblue);

Re: [Asymptote] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 13:34
par plop08
hum ça m'intéresse d'un coup (merci le nouveau programme de bac pro 3 ans avec de la 3d dedans !)

est-il possible de faire apparaître les traits à l'intérieur du cube en pointillés ?

Re: Asymptote-Perspective Cavalière

MessagePosté: Mardi 26 Janvier 2010, 15:12
par projetmbc
Merci GMaths. Il reste juste à voir s'il on peut jouer sur le coefficient utilisé appliquée sur les longueurs suivant l'axe des abscisses.

Re: [Asymptote] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 16:48
par rebouxo
Si je me souviens bien le coef est le cosinus (ou le sinus, je sais plus) de l'angle de fuite, donc si tu modifie l'angle de fuite tu changes ton coef.

Olivier

Re: [Asymptote] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 16:55
par projetmbc
rebouxo a écrit:Si je me souviens bien le coef est le cosinus (ou le sinus, je sais plus) de l'angle de fuite.


Merci. Là tu m'as appris un truc. Vivement que je fasse un doc. sur la perspective car je suis vraiment pas au point sur ces choses là...
Du coup, on peut faire ceci par exemple :

Code: Tout sélectionner
import graph3;
size(8cm);

currentprojection=obliqueX(30);

// The box of the scene...
limits(O,1.5*X +2*Y+3*Z);

xaxis3();
yaxis3();
zaxis3();
draw(unitcube,paleblue);

Re: [RESOLU] [Asymptote] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 17:12
par plop08
je confirme les dire de rebouxo :)

http://www.mathsgeo.net/rep/persp.html

Re: [Résolu][Asymptote] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 17:30
par GMaths
J'ai donné cela vite fait... mais il faudrait vérifier qu'elle est bien cavalière au pixel près : pas sûr.

Re: [Résolu][Asymptote] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 17:52
par projetmbc
GMaths a écrit:J'ai donné cela vite fait... mais il faudrait vérifier qu'elle est bien cavalière au pixel près : pas sûr.

J'm'en vais acheter une règle à pixel de suite...

Re: [Asymptote] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 17:59
par GMaths
plop08 a écrit:est-il possible de faire apparaître les traits à l'intérieur du cube en pointillés ?

J'ai une question préalable : tiens-tu à avoir des faces colorées... et à faire tourner l'objet ?
ou ne cherches-tu qu'à faire des figures de cours avec des traits continus et des traits pointillés ?

Avec Asymptote, en l'état actuel des choses, il faut choisir : on ne peut pas avoir un objet que l'on tourne... avec une cohérence préservée des pointillés quand tu tournes l'objet sous opengl.

Re: [Résolu][Asymptote] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 18:01
par plop08
disons que je dois toujours faire apparaître les traits "cachés" pour respecter aussi ce qu'ils voient à l'atelier.

Re: [Résolu][Asymptote] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 18:09
par GMaths
plop08 a écrit:disons que je dois toujours faire apparaître les traits "cachés" pour respecter aussi ce qu'ils voient à l'atelier.


J'ai bien compris : tu veux des traits en pointillés !
Mais est-ce pour faire des figures sur papier ou espères-tu aussi pourvoir animer la figure en la faisant tourner ?
On ne peut pas tout avoir actuellement.
Tu as un ou deux exemple de figures que tu souhaites obtenir ?

Re: [Résolu][Asymptote] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 18:11
par plop08
désolé j'ai du zapper une partie de tes dire... c'est tout à fait dans mon style... papier donc !

je ne désire pas tourner :)

sauf ... si je fais une présentation sur mon Mac via un vidéo proj... mais bon papier d'abord :)

Re: [Résolu][Asymptote] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 18:21
par GMaths
As-tu un exemple à donner (de difficulté moyenne) représentatif du type de figures que tu auras le plus à faire ? (pour voir quelle façon est la plus appropriée pour ce que tu as à faire... car on peut faire de la 3d de plusieurs façons avec des avantages et des inconvénients pour chacune).

Re: [Résolu][Asymptote] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 18:36
par plop08
ouais :) j'ai !

j'ai fait (honteusement du copier coller... dans un livre)
je te donne ça sous peu :)
faut que je le transferts.

hop !
transféré :

Image

Re: [Résolu][Asymptote] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 18:36
par GMaths
GMaths a écrit:car on peut faire de la 3d de plusieurs façons avec des avantages et des inconvénients pour chacune


Une de ces façons (que je n'utilise pas personnellement) est d'utiliser l'extension geoespace de Didier Comin, qui voulait retrouver les syntaxes qu'il avait avec les macros metapost de Christophe Poulain : voir bas de page ici : http://melusine.eu.org/syracuse/asymptote/comin/
Mais ce n'est pas la façon par défaut d'Asymptote de faire de la 3D : ses auteurs ne cherchent pas spécialement à faire des figures 3D avec pointillés comme nous avons besoin nous les matheux dans nos cours.
Des extensions qui rendraient cela très pratiques (nous sommes quelques uns à avoir rêvé que Philippe I. nous ponde un geometry3D) restent à écrire.

Re: [Résolu][Asymptote] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 18:49
par GMaths
Ton exemple mixe 2D et 3D donc une façon de faire qui facilite l'un, va un peu compliquer l'autre... mais c'est un exemple intéressant.

Une question : le rapporteur est là pour expliquer comment on réalise la figure 3D.
Faut-il en déduire que les côtes indiquées sont les longueurs des traits pour réaliser le dessin ou des côtes réelles de la pièce ?

Re: [Résolu][Asymptote] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 18:53
par plop08
le rapporteur est là pour palier à un manque flagrant de matériel de la part des élèves.... ce qui n'est pas très glorieux !

les côtés ne sont pas aux vraies grandeurs (en tout cas pour la face avant : c'est les longueurs à l'échelle 1/10)

la profondeur elle, a subie un coeff de fuite et la mise à l'échelle, dans le but par exemple de leur faire retrouver ce coeff.

Re: [Résolu][Asymptote] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 19:15
par projetmbc
GMaths a écrit:Une de ces façons (que je n'utilise pas personnellement) est d'utiliser l'extension geoespace de Didier Comin, qui voulait retrouver les syntaxes qu'il avait avec les macros metapost de Christophe Poulain : voir bas de page ici : http://melusine.eu.org/syracuse/asymptote/comin/
Mais ce n'est pas la façon par défaut d'Asymptote de faire de la 3D...

Est-ce l'extension geoespace qui gère les pointillés ?

GMaths a écrit:... ses auteurs ne cherchent pas spécialement à faire des figures 3D avec pointillés comme nous avons besoin nous les matheux dans nos cours.

OpenGL sait faire des pointillés : voir cet applet. De mémoire, il faut utiliser des shaders. Du coup, Asymptote pourrait le faire. Mais resterait à motiver les développeurs...

GMaths a écrit:Des extensions qui rendraient cela très pratiques (nous sommes quelques uns à avoir rêvé que Philippe I. nous ponde un geometry3D) restent à écrire.

Serait-ce le boulot de l'extension de gérer les pointillés, ou a-t-on un moyen de faire faire une partie du boulot à Asymptote ?

Re: [Résolu][Asymptote] Perspective cavalière

MessagePosté: Mardi 26 Janvier 2010, 20:38
par OG
Bonsoir

Question développement d'Asymptote, toutes les contributions sont les bienvenues !
Sur cette question John me semble très ouvert. Les quelques trucs que j'ai proposés ont été pris en compte.
Bien sûr qu'Asymptote et son moteur de rendu OpenGL savent faire les pointillés mais pas la gestion face cachée/visible interactive que tu voudrais.

O.G.