Modeste essai 3D

Tout ce qui concerne la V6 (fonctionnement, problèmes, etc)
Répondre
Michel_92
Messages : 198
Enregistré le : ven. 28 déc. 2007, 13:35
Localisation : Hauts de seine
Contact :

Modeste essai 3D

Message par Michel_92 »

Bonsoir,

Rien à voir avec les démos des ténors JPD et Jean Cyprien.
N'ayant pas tout compris entre « Position Z », Zoom » et « Pan », je vous soumets un petit montage pour me dire si ma procédure est correcte.

Merci.
Avatar du membre
JPD
Messages : 2009
Enregistré le : jeu. 17 mars 2005, 22:58
Localisation : Champs-sur-Marne
Contact :

Message par JPD »

Pour les pages qui tournent, rien à redire apparemment.
Pour le reste ne sachant ce que tu as voulu faire, je ne peux avoir d'opinion.

Le Zoom modifie la taille d'un objet mais ne le déplace pas, il reste sur le plan de départ.

La Zposition est la distance entre le plan parallèle à l'écran ou se situe le centre de l'objet et l'écran. Ce paramètre n'est influencé ni par la rotation des parents ni par les valeurs de zoom de ceux-ci. Je n'ai jusqu'à ce jour trouvé aucun intérêt à cette fonction, elle me semble totalement inutile voire nuisible. En s'éloignant, l'objet diminue de taille du fait du calcul de perspective

On peut utiliser de façon logique et efficace le pan pour déplacer un objet en profondeur, pour ce faire, mettre d'abord un parent orienté de 90° sur l'axe des X, mettre l'objet utile comme enfant et le décaler de -90° sur l'axe des X, ainsi l'objet utile est bien parallèle au plan de départ.

Pour déplacer l'objet utile suivant l'axe Z, c'est à dire en profondeur, il suffit de faire varier la valeur du pan vertical de l'objet utile. Des valeurs négatives l'éloigneront du plan d'origine à l'opposé de la position de l'observateur, des valeurs positives le rapprocheront de l'observateur (s'il n'y a pas rotation des parents, en cas de rotations cumulées des parents de 180°, ce sera l'inverse, ce qui est logique). Là aussi, l'objet en s'éloignant, diminue de taille du fait du calcul de perspective

Cette façon de procéder est bien plus cohérente et plus puissante que l'utilisation de la Zposition, car les effets des rotations et zooms des parents sont pris en compte. Je recommande à tous d'éviter cette fonction Zposition,
elle peut tout au plus être utilisée comme zoom avec correction de perspective, mais en moins pratique (avec quand même un bogue en moins dans le cas peu probable ou vous êtes en accéléré ou décéléré)

Nota à ce propos : les paramètres de rotation (linéaire, accéléré etc) jouent pour toutes les rotations, ceux des pans jouent sur la Zposition
:Dia:Jean-Pierre - Champs-sur-Marne
Béta-tests sur V5 - Diaporamas numériques
Charlie
Messages : 7558
Enregistré le : ven. 14 avr. 2006, 06:59
Localisation : Montauban 82
Contact :

Message par Charlie »

JP pour la zposition par rapport au zoom, j'ai noté une différence dans la vitesse d'éloignement. (test avec deux figures identiques mises côte à côte)

Elle est plus réaliste avec zposition (plus rapide au début et moins à la fin comme dans le cas d'un objet qui s'éloigne) qu'avec le zoom (ou c'est l'inverse), dans le cas d'un paramétrage linéaire bien entendu...
Avatar du membre
JPD
Messages : 2009
Enregistré le : jeu. 17 mars 2005, 22:58
Localisation : Champs-sur-Marne
Contact :

Message par JPD »

Exact Charlie, c'est la même fonction qu'avec le zoom en correction de perspective, cela correspond à un éloignement (ou rapprochement) à vitesse constante alors que le zoom normal n'a pas de signification physique.
:Dia:Jean-Pierre - Champs-sur-Marne
Béta-tests sur V5 - Diaporamas numériques
Avatar du membre
Jean-Cyprien
Messages : 5319
Enregistré le : mer. 04 févr. 2009, 13:49
Localisation : Champagne sur Seine
Contact :

Message par Jean-Cyprien »

Je crois que tu as bien compris.

Pour les premières vues, tu fais effectuer les mêmes mouvements à plusieurs objets. Pourquoi ne pas mettre ceux là dans un cadre, ou utiliser la possibilité parent/enfant pour n'avoir qu'un objet à s'occuper (le cadre ou le parent) et être sûr du bon synchronisme si tu veux changer quelque chose. Ca limite le nombre de points de contrôle à s'occuper, surtout s'il y a beaucoup d'objets. Y compris pour les valeurs du Zoom, Pan ...

Pour la dernière vue, je pense que c'est bien ce que tu désirais. Il y a plusieurs façon d'y arriver, et ce n'est pas celle adoptée par Jean-Pierre (et moi). Mais du moment que ça marche !
Pour simplifier les choses, et de façon à se que l'on se comprenne plus facilement avec Jean-Pierre, j'ai adopté ses conventions (il a généralement de bonnes raisons pour justifier ses choix), c'est à dire que je bascule mon écran de 90° avec l'angle X. Je place les objets comme si je les voyais au plafond, puis je redresse avec un cadre parent de -90 pour l'angle X. Cela permet de construire des objets importants.
Au lieu de l'angle X, tu as utilisé l'angle Y. Ce n'est pas plus compliqué. On arrive aux mêmes résultats. C'est juste plus difficile s'il doit y avoir échange d'avis entres nous, puisque l'un va penser X quand l'autre aura à penser Y.

N.B. Jean-Pierre t'as dit (presque) tout ce qu'il y avait à savoir à propos de Zpos, Zoom et Pan.

PS Je lis d'avis de Charlie. Je n'ai pas encore réussi à me faire une opinion bien nette de Zpos. Elle ne répond pas à ce que j'en attendais : je pensais qu'en se rapprochant de l'objet on pourrait en modifier suffisamment la perspective, mais sauf peut-être aux limites de ce qui est possible, et alors ça devient délicat, (en gros quand on se rapproche de -173) je n'ai pas trouvé une grande différence avec le zoom.
Avatar du membre
Henri Lion
Messages : 234
Enregistré le : jeu. 05 oct. 2006, 09:01
Localisation : Ile-aux-Moines (56)
Contact :

Message par Henri Lion »

Bonjour,

C'est très bien de se lancer et d'essayer de faire avancer le scmilblick !
La prochaine étape serait de faire une rotation de 360°, à toi de jouer.

C'était l'objet de l'exercice SYDNEY 3D proposé et superbement réalisé par Jean-Cyprien.

Les travaux et les conseils de JPD (un petit pas pour lui ) ont fait faire un grand pas à l'humanipte

Henri
Avatar du membre
JPD
Messages : 2009
Enregistré le : jeu. 17 mars 2005, 22:58
Localisation : Champs-sur-Marne
Contact :

Message par JPD »

Henri Lion a écrit :Les travaux et les conseils de JPD (un petit pas pour lui ) ont fait faire un grand pas à l'humanipte


Vite dit Henri, pour être honnête, lors de certains contrôles concernant la 3D, j'ai du réviser mes notions de mathématiques vieilles de plus de quarante ans et jamais ou presque, utilisées, mon métier nécessitant des domaines différents de connaissances.
J'ai même appris quelque chose concernant la rotation des cubes, c'est dire.
:Dia:Jean-Pierre - Champs-sur-Marne
Béta-tests sur V5 - Diaporamas numériques
Michel_92
Messages : 198
Enregistré le : ven. 28 déc. 2007, 13:35
Localisation : Hauts de seine
Contact :

Message par Michel_92 »

Bonjour,

C'est positionZ qui me tracassait obtenant apparemment la même chose avec Zoom. J’ai noté que par convention, il faut utiliser X plutôt qu’Y.
Merci pour vos explications.
Avatar du membre
JPD
Messages : 2009
Enregistré le : jeu. 17 mars 2005, 22:58
Localisation : Champs-sur-Marne
Contact :

Message par JPD »

Michel_92 a écrit :Bonjour,

C'est positionZ qui me tracassait obtenant apparemment la même chose avec Zoom. J’ai noté que par convention, il faut utiliser X plutôt qu’Y.
Merci pour vos explications.


En fait, il y a une raison que je n'ai pas encore expliquée (c'est long à faire) c'est que PTE fait des rotations par rapport à l'espace objet sur X et Y dans l'ordre X puis Y (ce qui n'est pas la même chose que dans l'ordre Y puis X).
La rotation sur Z quand à elle se fait par rapport à l'espace observateur, choix apparemment anachronique mais finalement très pratique.
En choisissant X plutôt que Y, on a la certitude de ne pas être perturbé par une rotation accidentelle de l'autre axe, l'inverse ne serait pas vrai.

La seule différence entre Zposition et le zoom c'est le plan du centre de l'objet, mais comme j'ai essayé de faire comprendre, vaut mieux oublier le Zposition sans réel intérêt.
:Dia:Jean-Pierre - Champs-sur-Marne
Béta-tests sur V5 - Diaporamas numériques
Michel_92
Messages : 198
Enregistré le : ven. 28 déc. 2007, 13:35
Localisation : Hauts de seine
Contact :

Message par Michel_92 »

Bonsoir,

J'ai bricolé mon montage précédent, et j'ai encore besoin d'explications.
Je veux faire pivoter mes pages rouge et bleu de 360°.

Dans la vue 2, le rouge est devant le bleu pendant les premiers 129°..... il reste devant alors qu'il devrait être derrière, cela jusqu’à 230° de l’angle Y, ensuite il reprend la position normale. Pourquoi le rouge ne reste pas au plus près de l’axe de rotation et le bleu au plus loin ?

La vue 4 est identique à la 2, sauf que j'ai décoché « Afficher le verso » pour le rouge. Mais là, ce n'est plus réaliste le rouge disparaît trop tôt.
Avatar du membre
JPD
Messages : 2009
Enregistré le : jeu. 17 mars 2005, 22:58
Localisation : Champs-sur-Marne
Contact :

Message par JPD »

La réponse est .
Question : à quoi servent les 2 valeurs Zposition ?


Je me cite :
"La seule différence entre Zposition et le zoom c'est le plan du centre de l'objet, mais comme j'ai essayé de faire comprendre, vaut mieux oublier le Zposition sans réel intérêt."
:Dia:Jean-Pierre - Champs-sur-Marne
Béta-tests sur V5 - Diaporamas numériques
Michel_92
Messages : 198
Enregistré le : ven. 28 déc. 2007, 13:35
Localisation : Hauts de seine
Contact :

Message par Michel_92 »

Merci JPD,
J'avais bien lu mais pas retenu. Penses tu que ça sera corrigé dans une version prochaine ?
Avatar du membre
Jean-Cyprien
Messages : 5319
Enregistré le : mer. 04 févr. 2009, 13:49
Localisation : Champagne sur Seine
Contact :

Message par Jean-Cyprien »

j'allais répéter ... je vais trop vite

Je ne pense pas qu'il soit très facile pour un programme de suivre un objet pour s'assurer si sa trajectoire passe devant ou derrière un autre. Pas impossible, mais sûrement compliqué. Donc il y a peu d'espoir à mon avis.

Et peu d'utilité aussi pour un diaporama assez simple. Quand on sait faire des choses un poil plus compliquées, on apprend très vite ce genre d'astuce.
Certes, ça alourdit le nombre d'objet, mais PTE s'en sort à merveille.

Cordialement - Bonne journée
Avatar du membre
JPD
Messages : 2009
Enregistré le : jeu. 17 mars 2005, 22:58
Localisation : Champs-sur-Marne
Contact :

Message par JPD »

Michel_92 a écrit :Merci JPD,
J'avais bien lu mais pas retenu. Penses tu que ça sera corrigé dans une version prochaine ?

Après avoir obtenu la fonction "Recto-verso", j'ai passé 8 jours à temps plein pour essayer de voir si ce problème était soluble (d'ou mon essai avec la figure se trouvant en début de PTE danse).
La réponse est, comme l'a dit Jean-Cyprien, non en l'état actuel car les calculs devraient se faire quasiment pixel par pixel pour 2 raisons au moins
1 On peut très bien avoir une image dont une partie est sous une autre et dont l'autre partie est au-dessus, ça pourrait se résoudre avec des calculs très complexes, mais pas simplement par le calcul de la Zposition du centre de l'image (ma première idée).
2 La seconde raison, rédhibitoire celle-là est le cas des objets PNG, PTE ne dispose pas de l'information de la taille ni de la forme de l'image utile, sauf à analyser pixels par pixel ce fichier (c'est quasi impossible), et donc mêmes les calculs complexes évoqués ci-dessus n'y ferait rien.

Seuls de véritables objets 3D le permettraient, mais il semble qu'aujourd'hui, du fait de DirectX il y ait trop d'imperfection (et exclu les objets semi-transparents).
Igor a évoqué le sujet sur Wnsoft, je vous le livre "brut de fonderie" :

Sorry, it's impossible due to restrictions of DirectX and even modern video cards. They don't support Z-buffer for images with alpha channel (32-bit textures) - all Text objects, Images with edge-antialising, Buttons.
All we can do in next versions - pseudo Z-buffer which will automatically sort order of objects taking in attention Z position of an each object in 3D space. However natural occlusions still impossible.
3D games use Z-buffer for 24-bit images (without semi-transparent areas) or use sorted tree of objects and a lot of mathematical calculations. It also produce visual defects in many cases.
As I heard DirectX 11 and future video cards will support Z-buffer for 32-bit images.


A retenir :
All we can do in next versions - pseudo Z-buffer which will automatically sort order of objects taking in attention Z position of an each object in 3D space
Tout ce que nous pouvons faire dans les prochaines versions : Un pseudo Z-buffer qui trierait automatiquement les objets en fonction de leur position dans l'espace, ce à quoi j'avais pensé, mais ne résoudra pas les cas cités ci-dessus. Je n'avais donc pas, de ce fait, demandé un tri automatique des objets (modifiable en cours de lecture d'une même vue) car ne permettant qu'une résolution très partielle pour un coût en puissance de calcul incompatible avec une bonne fluidité.
De surcroit le problème est très complexe du fait que les objets peuvent se trouver à plusieurs niveaux d'une même arborescence (tri en cours de calcul après avoir défini le centre de chaque objet en tenant compte de la valeur éventuelle du paramètres "Centre").

PS le test que j'ai fait sur le sujet comporte 60 faces mais dans la réalisation avec rotation, c'est 107 faces qui ont été utilisées (avec plein de keypoints), autant te dire que si j'avais imaginé une solution viable pour éviter ce travail de romain, j'en aurai immédiatement fait la suggestion à l'ami Igor.
:Dia:Jean-Pierre - Champs-sur-Marne
Béta-tests sur V5 - Diaporamas numériques
Avatar du membre
Henri Lion
Messages : 234
Enregistré le : jeu. 05 oct. 2006, 09:01
Localisation : Ile-aux-Moines (56)
Contact :

Message par Henri Lion »

Michel_92 a écrit :Bonsoir,

J'ai bricolé mon montage précédent, et j'ai encore besoin d'explications.
Je veux faire pivoter mes pages rouge et bleu de 360°.

Dans la vue 2, le rouge est devant le bleu pendant les premiers 129°..... il reste devant alors qu'il devrait être derrière, cela jusqu’à 230° de l’angle Y, ensuite il reprend la position normale. Pourquoi le rouge ne reste pas au plus près de l’axe de rotation et le bleu au plus loin ?

La vue 4 est identique à la 2, sauf que j'ai décoché « Afficher le verso » pour le rouge. Mais là, ce n'est plus réaliste le rouge disparaît trop tôt.


Bonjour Michel, bonjour à tous,

J'ai apporté une solution à ton problème en suivant les instructions de JPD (merci à lui !) et qui m'ont permis de terminer le petit exercice Sydney 3D.

Henri
Avatar du membre
JPD
Messages : 2009
Enregistré le : jeu. 17 mars 2005, 22:58
Localisation : Champs-sur-Marne
Contact :

Message par JPD »

Henri, je n'ai pu voir ton album, il n'y a pas les images nécessaires, mais au vu de tes explications, je pense que c'est la bonne solution.
Je réfléchis à une éventuelle proposition qui simplifierait la vie sur le sujet, mais il y aurait tout de même des valeurs à rentrer, comme je l'ai dit, il n'y a pas de solution miracle.
:Dia:Jean-Pierre - Champs-sur-Marne
Béta-tests sur V5 - Diaporamas numériques
Michel_92
Messages : 198
Enregistré le : ven. 28 déc. 2007, 13:35
Localisation : Hauts de seine
Contact :

Message par Michel_92 »

Bonsoir,

Jean Pierre, voilà le montage d'Henri avec les images. C'est bien ce que je cherchais à faire.
Michel_92
Messages : 198
Enregistré le : ven. 28 déc. 2007, 13:35
Localisation : Hauts de seine
Contact :

Message par Michel_92 »

J'ai oublié, merci Henri.

Michel
Répondre

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invités