Affichage 3d

Bugs

Modérateur : xcasadmin

Répondre
slejoly
Messages : 194
Inscription : sam. oct. 14, 2006 10:17 am
Localisation : Lorient

Affichage 3d

Message par slejoly » ven. juin 05, 2009 9:16 am

Bonjour, je me doute que ce n'est pas la priorité mais j'ai des soucis avec l'affichage 3d.

- Sous Mac quand je tape (c'est pour la spé en TS) :

Code : Tout sélectionner

C:=cone([0,0,0],[0,0,1],pi/4,xstep=0.02,couleur=bleu)
equation(C)
t:=element((-10) .. 10,0.8)
P:=affichage(plan(x=t),cyan+rempli)
H:=inter(C,P,couleur=rouge+epaisseur_ligne_3)
je me retrouve avec les deux branches d'hyperboles qui se rejoignent en forme de X ? (Voir fig1-exempleCoursBIS.pdf envoyé par mél.)


- Et sous Ubuntu j'ai un bug d'affichage de la fenêtre 3d : le fond blanc ne correspond pas à la fenêtre et si je bouge l'objet à la souris cela « se traîne » en laissant des traces ! (Voir Xcas3d.png envoyé par mél.)
Je n'ai pas ce problème sur le même ordinateur (Acer Aspire One 9') avec Debian Lenny sur une clé usb. Auriez vous une indication à me donner pour régler ce problème graphique Ubuntuesque (et hop un petit cours linux gratuit en passant !) ?

- Sous Mac et Ubuntu si je remplace t:=element((-10) .. 10,0.8)
par assume(t=[1.0,-10,10,1/5]) le plan P n'est pas affiché.

Stéphane Lejoly

parisse
Messages : 5739
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: Affichage 3d

Message par parisse » ven. juin 05, 2009 9:33 am

slejoly a écrit : - Sous Mac quand je tape (c'est pour la spé en TS) :

Code : Tout sélectionner

C:=cone([0,0,0],[0,0,1],pi/4,xstep=0.02,couleur=bleu)
equation(C)
t:=element((-10) .. 10,0.8)
P:=affichage(plan(x=t),cyan+rempli)
H:=inter(C,P,couleur=rouge+epaisseur_ligne_3)
je me retrouve avec les deux branches d'hyperboles qui se rejoignent en forme de X ?
C'est a cause de la facon dont l'intersection est calculee, sous forme d'une courbe parametree avec une equation contenant des racines carrees. Ensuite le calcul des points de la discretisation permettant le trace ne detecte pas la singularite et relie les 2 points extremes calcules sur chaque branche.
- Et sous Ubuntu j'ai un bug d'affichage de la fenêtre 3d : le fond blanc ne correspond pas à la fenêtre et si je bouge l'objet à la souris cela « se traîne » en laissant des traces ! (Voir Xcas3d.png envoyé par mél.)
ca c'est tres probablement du a une acceleration graphique 3-d pas reconnue. Mais je ne sais pas trop comment y remedier. Testez avec des applis 3-d et si vous avez le meme type de probleme, demandez sur un forum ubuntu.
- Sous Mac et Ubuntu si je remplace t:=element((-10) .. 10,0.8)
par assume(t=[1.0,-10,10,1/5]) le plan P n'est pas affiché.
je vais regarder, ca doit etre un evalf qui manque quelque part.

slejoly
Messages : 194
Inscription : sam. oct. 14, 2006 10:17 am
Localisation : Lorient

Message par slejoly » ven. juin 05, 2009 10:21 am

Continuons avec mes « petits malheurs » :

1-
Testez avec des applis 3-d et si vous avez le meme type de probleme
J'ai lancé l'exemple plot3d : z=sin(x)*cos(y) dans scilab et je peux la faire tourner sans problème (savez vous où bidouille-t-on pour l'acceleration graphique 3-d, j'avoue ne m'être jamais occupé de ça sous Mac).

2- En passant, le rendu graphique de scilab (que je n'utilise jamais, je ne le trouve pas naturel (habitude ?)) est meilleur, à quoi est-ce dû ?

3- D'ailleurs on ne peut pas remplir une surface avec les couleurs de l'arc en ciel avec une commande comme :

Code : Tout sélectionner

plot3d(i*(1-1/2*(x^2+y^2)),x=-2..2,y=-2..2,nstep=500,affichage=rempli)
et le nstep ne joue en rien.

4- j'ai tapé

Code : Tout sélectionner

plotfunc(((x+i*y)^2),[x,y],affichage=rempli,nstep=3000)
suite au message de F. Han et sous Mac (pas sous Ubuntu)
Xcas plante , j'ai diminué le nstep en me disant que 3000 c'était beaucoup et bien non !
Avec la dernière mise à jour (sous Mac toujours)
Xcas me renvoie un

"Plotfunc, unable to discretize: xmin, xmax, step=4.64816959607e-320,4.58492919341e-320,-0 Error: Bad Argument Value"

??

parisse
Messages : 5739
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » ven. juin 05, 2009 10:55 am

slejoly a écrit : 1-
Testez avec des applis 3-d et si vous avez le meme type de probleme
J'ai lancé l'exemple plot3d : z=sin(x)*cos(y) dans scilab et je peux la faire tourner sans problème (savez vous où bidouille-t-on pour l'acceleration graphique 3-d, j'avoue ne m'être jamais occupé de ça sous Mac).
je ne sais pas si scilab utilise opengl et de l'acceleration graphique pour les rendus, il faudrait tester une appli qui indique explicitement utiliser opengl.
2- En passant, le rendu graphique de scilab (que je n'utilise jamais, je ne le trouve pas naturel (habitude ?)) est meilleur, à quoi est-ce dû ?
je ne sais pas, il faut d'abord que j'essaie, et comme je ne connais pas scilab du tout, vous avez fait quoi comme commande une fois scilab lance?
3- D'ailleurs on ne peut pas remplir une surface avec les couleurs de l'arc en ciel avec une commande comme :

Code : Tout sélectionner

plot3d(i*(1-1/2*(x^2+y^2)),x=-2..2,y=-2..2,nstep=500,affichage=rempli)
et le nstep ne joue en rien.
non, plot3d est une commande de compatibilite maple, et l'affichage "4-d" ne fonctionne qu'avec plotfunc (pour le moment en tout cas).
4- j'ai tapé

Code : Tout sélectionner

plotfunc(((x+i*y)^2),[x,y],affichage=rempli,nstep=3000)
suite au message de F. Han et sous Mac (pas sous Ubuntu)
Xcas plante , j'ai diminué le nstep en me disant que 3000 c'était beaucoup et bien non !

Avec la dernière mise à jour (sous Mac toujours)
Xcas me renvoie un

"Plotfunc, unable to discretize: xmin, xmax, step=4.64816959607e-320,4.58492919341e-320,-0 Error: Bad Argument Value"

??
C'est probablement du a la configuration graphique avec des valeurs de xmin, xmax, ymin, ymax par defaut identiques. Que se passe-t-il si vous recopiez l'exemple de l'aide de plotfunc

Code : Tout sélectionner

plotfunc((x+i*y)^2,[x=-1..1,y=-2..2],nstep=900,affichage=rempli)
Si ca marche, modifiez votre config graphique (Menu Cfg->configuration graphique). Sinon, il faudra que je teste sur mac.

slejoly
Messages : 194
Inscription : sam. oct. 14, 2006 10:17 am
Localisation : Lorient

Message par slejoly » ven. juin 05, 2009 2:26 pm

quoi comme commande une fois scilab lance
je vais dans les démonstrations :
?->Démonstrations->Graphiques->2D et 3D plots->plot3d
c'est tout ce que je sais faire avec Scilab !
une appli qui indique explicitement utiliser opengl

Je n'y connais rien auriez vous un nom à me donner ?
l'affichage "4-d" ne fonctionne qu'avec plotfunc
Génial
plotfunc (i*(1-1/2*(x^2+y^2)),x=-2..2,y=-2..2,nstep=500,affichage=rempli)
marche à merveille.
Que se passe-t-il si vous recopiez l'exemple de l'aide de plotfunc
Code:
plotfunc((x+i*y)^2,[x=-1..1,y=-..2],nstep=900,affichage=rempli)
Nickel, ma configuration graphique était encore mal réglée (désolé).

Il reste donc ce problème graphique sous Ubuntu (que je n'avais pas avec feu Debian qui ne marche plus sur ma clé) donc c'est un problème spécifique à Ubuntu mais comment tripatouille-t-on là dedans ? Je vais aller sur Ubuntu-fr.

Merci.

Stéphane Lejoly

parisse
Messages : 5739
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » sam. juin 06, 2009 8:37 am

Je n'y connais pas grand chose en appli 3-d non plus, il y a blender je crois, mais je ne sais pas s'il y a des exemples faciles à mettre en oeuvre.
Sinon, pour la config graphique, en principe ca se passe dans /etc/X11/xorg.conf
Malheureusement, avec les ubuntu récentes le fichier ne contient rien qu'on puisse facilement modifier. Donc, il faut aller faire un tour sur les forums ubuntu pour voir comment arriver à activer l'acceleration. Ou si vous avez sur la meme machine une autre distribution linux (par ex. un CD-live ou une clef USB-live) qui reconnait l'acceleration, il suffirait de copier le fichier /etc/X11/xorg.conf.

parisse
Messages : 5739
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » sam. juin 06, 2009 8:46 am

slejoly a écrit :
quoi comme commande une fois scilab lance
je vais dans les démonstrations :
?->Démonstrations->Graphiques->2D et 3D plots->plot3d
c'est tout ce que je sais faire avec Scilab !
Je viens d'essayer. Le rendu est différent parce que par défaut il est en plein et utilise la couleur pour montrer la hauteur. Mais on peut aussi varier les rendus dans Xcas, par exemple

Code : Tout sélectionner

plotfunc(sin(x)*cos(y),[x=-4..4,y=-4..4],xstep=0.1,ystep=0.1,affichage=cyan+rempli)
puis on clique sur cfg et on coche la case Lights, pour visualiser la hauteur par effet de luminosité. On doit d'ailleurs pouvoir faire des choses plus marrantes avec plusieurs lumières directionnelles et un affichage en blanc rempli.

slejoly
Messages : 194
Inscription : sam. oct. 14, 2006 10:17 am
Localisation : Lorient

Message par slejoly » sam. juin 06, 2009 10:27 am

Là effectivement ! Chapeau bas et c'est encore plus joli avec

Code : Tout sélectionner

plotfunc(i*(sin(x)*cos(y)),[x=4..4,y=4..4],xstep=0.1,ystep=0.1,affichage=rempli) 
En fait je ne connaissais pas le truc de la lumière, y a-t-il des détails dans la doc pour la configuration des sources de lumière.

Juste qq petites remarques :
- La touche Menu, à droite des fenêtres graphiques, est devenue M (oubli ?), j'aime mieux menu !
- Autoscale n'aurait-il pas mieux sa place entre les flèches de déplacement ? (comme avant).
- Je ne vois pas bien ce que fait la touche « cache ou montre en dessous du plan de la souris » (on dirait que c'est elle qui orthonormalise).

parisse
Messages : 5739
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » sam. juin 06, 2009 12:37 pm

slejoly a écrit :Là effectivement ! Chapeau bas et c'est encore plus joli avec

Code : Tout sélectionner

plotfunc(i*(sin(x)*cos(y)),[x=4..4,y=4..4],xstep=0.1,ystep=0.1,affichage=rempli) 
En fait je ne connaissais pas le truc de la lumière, y a-t-il des détails dans la doc pour la configuration des sources de lumière.
Attention c'est x=-4..4, y=-4..4, sinon on ne voit rien:-)
Pour les lumières, il y a une description dans Manuel->Interface, les lumières des graphes 3-d.
Juste qq petites remarques :
- La touche Menu, à droite des fenêtres graphiques, est devenue M (oubli ?), j'aime mieux menu !
Il n'y a pas assez de place pour mettre Menu en entier (depuis que j'ai rajouté le bouton auto qui est assez souvent utile). D'où le M (qu'on retrouve aussi dans les éditeurs d'expression).
- Autoscale n'aurait-il pas mieux sa place entre les flèches de déplacement ? (comme avant).
Avant, il n'était accessible que depuis le menu. C'est l'orthonomalisation qui est entre les flèches de déplacement.
- Je ne vois pas bien ce que fait la touche « cache ou montre en dessous du plan de la souris » (on dirait que c'est elle qui orthonormalise).
Oups, c'est une erreur de tooltip (ou peut-etre de traduction), il faudra que je pense à corriger.

parisse
Messages : 5739
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » mar. juin 09, 2009 5:56 pm

Bon, ce n'est pas une erreur de tooltip, mais une possibilité que j'avais mise en commentaire. L'idée est qu'en 2-d on peut orthonormaliser, mais en 3-d ca n'a guère de sens. Donc le bouton pourra servir (au prix d'une mise a jour dans la semaine) pour masquer ou non tout ce qui se trouve derrière le plan de la souris (mouse plan), plan qu'on peut faire bouger avec la molette de la souris.

Répondre