Zhu3D Zhu3D Aide


Survol
Configuration
Notes importantes
OpenGL-bases
Animation et déformation
Tests
Support de souris
Sauvegarde de fichiers
Sauvegarde/impression d'images
Résolution des équations
Transparence
Effets spéciaux
Sources de lumières
Propriétés des surfaces
Notes à propos de l'échelle et de l'affichage
Options définis par l'utilisateur
Fonctions implicites et isosurfaces
Système paramétrique
Légendes éditeur
Raccourcis
Qui est Zhu ?



Survol

Avec Zhu3D vous pouvez voir, animer des fonctions et des isosurfaces interactivement, ainsi qu'avoir un système paramètrique indépendant. Le visualiseur OpenGL utilise le grossissement, les rotations et les translations, ainsi que les champs de lumières ou les propriétés de surface. Les effets spéciaux sont : La déformation, la transparence, les textures, le brouillard et le mouvement de flou. Les solutions numériques d'un système-d'équation sont résolus de façon précise et rapide avec l'algorithme de recherche au hasard, adapté. Table des matières

Configuration

Quand vous démarrez Zhu3D pour la première fois, la disposition est optimisée pour une résolution d'écran de 1024x768. La raison en est que beaucoup de gens utilisent des portables ou des écrans plats ayant cette résolution par défaut. La taille des fenêtres, leur position, les icônes dans la barre d'outils ou les polices, sont configurables selon vos besoins, de toute façon.

Toutes les configurations sont automatiquement par défaut, tant que vous ne changez pas quelque chose , encore une fois. Les polices et les icônes sont modifier dans "Configurations/Général". Si vous voulez personnaliser votre écran de démarrage ou un test, écraser les fichiers systèmes "startup.zhu" et "benchmark.zhu".

Le langage choisi pour les menus et les fichiers d'aide dépendent des "locales" trouvées par Zhu3D au démarrage. S'il trouve des versions localisés adaptées à votre système, il les utilisera automatiquement. Sinon il utilisera l'anglais tant que vous ne modifiez pas votre configuration de "locale" c'est-à-dire de la langue. L'anglais est court et précis, ce qui peut permettre l'utilisation d'écrans plus petits.

Si Zhu3D est installé à partir de paquets de distribution (RPM, APT, ..) plutôt que de l'avoir compilé, vous pouvez manquer de droits d'écriture en ce qui concerne le répertoire de travail et de textures. Copiez les dans un endroit adapté et ensuite remettez à zéro les deux répertoires par défaut par le menu "Configuration/Répertoires". On en a besoin aussi quand on met à jour une version plus récente de Zhu3D. Il est suggéré de contrôler les répertoires après chaque installation. Table des matières

Notes importantes

D'une importance primordiale, le bouton coloré, placé en bas à gauche. Avec lui vous pouvez basculer entre les fonctions, les isosurfaces et le système paramètrique. Mise à l'échelle et autres opérations se réferrent au mode courant. Des actions impossibles ou inadaptées sont voilées afin d'éviter des erreurs de fonctionnements.

En partie du à des limitations de l'écran quelques composants ou des boutons ont des noms abrégés ou ne sont pas apparement nommés.Les objets suivent les conventions suivantes : Les boutons de directions s'appellent XYZ de gauche à droite. Pour les lumières ou les surfaces, même chose, en RGBA. Ces lettres signifient Rouge Verte Bleue pour les lumières partagés avec le canal alpha. Il faut savoir que chaque composant à une aide de l'outil qui explique en détail! Table des matières

OpenGL-bases

Pour les nouveaux venus qui ne sont pas intimes avec le graphisme sur ordinateur : De loin la plus importante propriété de lumière et de surface, est la portion diffuse, suivie par le partage ambient. Avec ces deux configurations vous pouvez régler les tâches les plus communes. Table des matières

Animation et déformation

En interne Zhu3D ne distingue pas le mode statique et le mode animation. Toutes les configurations et les interactions peuvent être appliquées dans les deux modes sans aucune différences. Le contrôle de l'animation se fait à partir de "Editeurs/Animation". Sous Linux l'utilisation du CPU réagit aussi souplement que de la soie et ainsi est très précis. Dans l'éditeur le bar de progression reflecte principalement l'utilisation de GPU, mais l'éditeur de la déformation montre principalement l'utilisation de CPU.

Comme l'animation la déformation agit en transparence dans n'importe-quel mode. Que signifie déformer en termes mathématiques ? Une valeur de déformation est automatiquement changée dans des limites utilisateurs déterminées. Pour les surfaces iso cela signifie concrètement que la valeur iso est changée. Dans le cas d'une fonction explicite c'est la valeur z, qui dirige l'effet de pumping dans la direction z. Les systèmes paramétriques changent les valeurs z aussi, mais dans ce cas c'est un effet zoom qui est automatique. Table des matières

Tests

Les tests tourne pendant cinq secondes indépendament du système. Pour que les résultats soient comparables, tous les objets sont voilés et les propriétés des fenêtres sont fixées. A la fin du test, l'état original est restauré automatiquement. Table des matières

Support de la souris

Quand vous cliquez sur une vue, vous pouvez utiliser la souris de la façon suivante :

- Rotation de la vue avec le bouton gauche
- Déplacer la croix de mesure avec le bouton droit
- Le bouton central est un zoom de haut en bas
- Les deux boutons gauche et droite déplacent dans toutes les directions. Table des matières

Sauvegarde de fichiers

La sauvegarde enregistre complétement l'état actuel de Zhu3D. Quand l'animation est mise en marche, ses propriétés sont enregistrées aussi. Charger un tel fichier relancera l'animation avec la vitesse enregistrée, au moins quand l'ordinateur est suffisament rapide. Le format du fichier est transparent : Vous pouver le lire ou le modifier avec n'importe-quel éditeur de texte. Si vous n'entrez pas une extension de fichier spécifique (telle que .zhu, .jpg ou .png), le programme choisira automatiquement celle qui est correcte selon la situation présente. Table des matières

Sauvegarde/impression d'images

Les paramètres sont déterminés dans "Configurations/Image". A condition que votre système puisse le supporter, vous pouvez enregistrer les images aux formats PNG, JPG, PDF ou PostScript. De plus il y a la configuration de la dimension de l'image et de sa qualité. La sauvegarde est lancé avec "Fichier/Save picture". Le rendu peut demander un certain temps, spécialement dans le cas de grandes images et s'il n'y a pas assez de ressources de puissance. Pour l'impression seulement on peut utiliser la configuration de taille.

Pour PNG et JPG un facteur de 85 est un bon compromis, qui est ainsi la valeur par défaut. Des valeurs de 90 à 100 vont exploser la taille des fichiers ce qui n'amènera rien de bon. Après le rendu et le recalibrage des valeurs XY, Zhu3D RAZ le second aux dimensions de la fenêtre de visualisation automatiquement. De cette façon les proportions sont préservées entre la hauteur et la largeur. Table des matières

Résolution des équations

Pour résoudre numériquement un système d'équation, vous devez fournir à Zhu3D un point de départ plausible pour ses calculs internes. C'est fait en déplaçant la croix de mesure "proche de la relativité" vers une solution. Ensuite cliquez sur le bouton "solver" dans la barre d'outil. Peu de temps après vous obtiendrez un rapport du solutionneur, détaillé. Quand la solution est fiable, la croix de mesure sera déplacé en face de lui.

Dans les cas difficiles le point de départ peut être facilité, si vous :

- Utilisez des surfaces contrastées pour les fonctions
- Mettez à l'échelle les valeurs XY selon vos besoins et ensuite diminuez fortement l'échelle des Z

En faisant cela, vous obtiendrez une vue à plat de vos fonctions, où vous pourrez trouver des solutions possibles d'un seul coup d'oeil. A côté de "solver.zhu" vous trouverez de plus amples exemples dans le repértoire de travail, qui ont des solutions simples. Quand vous êtes en mode paramétrique ou iso, résoudre n'a aucun sens, c'est pourquoi on ne peut pas l'utiliser.

La précision de résolution est spécifiée dans "Configuration/Général" et peut être de 15 décimales. Si le solutionneur n'arrive pas à calculer continuellement, réduisez le nombre de décimales.Table des matières

Transparence

L'éditeur de matériau et de lumière fournissent un réglage pour le canal alpha. Normalement la valeur alpha n'affecte en rien l'afffichage et est ainsi réglée à 255 par défaut. L'exception étant l'affichage de graphiques transparents. Afin de contrôler c'est effet, ouvrir l'éditeur de surface et changer les valeurs alpha de la lumière diffuse.

Quand le mode recto verso est en marche globalement, vous devez savoir que vous devrez peut être changer les valeurs de la face avant , ainsi que de la face arrière, afin d'apercevoir l'effet. Afin de simplifier les choses, vous pouvez changer en mode recto (une face) dans l'éditeur de lumière global. Table des matières

Effects spéciaux

Les textures sont dans le répertoire ./work/textures par défaut et peuvent être d'un de ces formats suivants : PNG, JPG, TIF, BMP, XBM, XPM, PPM, PBM ou PGM. Les dimensions de largeur ou hauteur doivent être une puissance de 2 par rapport à chacune d'entre elles. Vous pouvez tourner les textures verticalement, ce qui peut être nécessaire quand on affiche des arrières plans ou des systèmes paramétriques, où la face avant et la face arrière peuvent être interchangées. Actuellement les textures ne sont pas sauvées dans des fichiers Zhu3D. Si un fichier est chargé avec une texture, le programme essaie de chercher dans le répertoire de texture par défaut.

Le brouillard peut être utilisé quand un graphique est trop brillant ou ressemble trop à un graphique fait par odrdinateur. Les modes "Exp" and "Exp2" sont utilisables directement, mais le mode linéaire montre des résultats beaucoup plus élaborés. Avec le réglage marche/arrêt vous pouvez définir la position, la densité et bien sûr le déplacement du brouillard très exactement. Le bouton "Sync" est un aide importante dans la section couleur. Il synchronise la couleur du brouillard avec la couleur de l'arrière plan, ce qui normalement affiche les meilleurs résulats.

Dans le mouvement du flou les réglages s'influencent partiellement les uns les autres. Plus le nombre d'itérations est important, plus importante est la magnitude de l'effet de flou, avant que le graphisme ne devienne trop sombre. Le décalage par itération réagie indépendement des deux précédents réglages. Table des matières

Sources de lumière

Zhu3D posséde jusqu'à huit sources de lumière independentes. Les positions initiales des sources sont les bords du "cube normal". Vous pouvez imaginer les lumières 0-3 comme celles d'avant plan, 4-7 comme celles d'arrière plan. Les configurations devraient être, pour la plupart, évidentes. Elles se font via "Editeurs/Lumières".

Les projecteurs peuvent sembler un peu bizarre, car ils dépendent de plusieurs facteurs. Pour attraper cette sorte de lumière facilement : Au début régler l'angle et l'intensité du projecteur à leur maximum. Ensuite réduire l'angle lentement et essayer de trouver la position de base avec le potentiomètre de la direction. Après cela ajuster finement l'angle du projecteur, son intensité et sa position. Le réglage du projecteur est dépendent du potentiomètre de distance aussi, qui détermine la distance à l'origine. Regardez l'exemple "spotlight.zhu", qui permet de se rendre compte du contexte complexe rapidement.

On peut aussi mentionner le réglage "infini" dans lumière globale, qui déplace les sources de lumière à l'infini. Dans ce mode on ne peut pas utiliser les projecteurs, le potentiomètre de distance ni l'atténuation. C'est pourquoi ils sont positionnés en arrêt automatiquement. Ce mode peut être très utile pour afficher des graphiques à plat. Si un graphique est trop sombre, la lumière ambiante globale est un moyen rapide de l'illuminer. Table des matières

Propriétés de surface

La plupart des choses devraient être évidente. Le seul tracas peut être la section de lumière spéculaire, qui est responsable de la propriété de brillance des surfaces-fonction. Pour voir son effet, il faut bien sûr, qu' au moins une source de lumière émette une certaine lumière spéculaire!

Normalement Zhu3D enregistre tous les réglages de l'éditeur de surface. Quand vous changez vos réglages globaux du double-face au simple-face, l'éditeur change aussi rigoureusement les propriétés d'avant plan de toute façon. Table des matières

Note à propos de l'échelle et l'affichage

Mettre à l'échelle X ou Y règle chaque axe individuellement. Si on utilise le bouton A(ll)-button, tous les axes seront mis à l'échelle à la même longueur automatiquement pour éviter les contraintes. Quand votre graphique dépasse le domaine de saisie, diminuez les valeurs Z fortement. La même chose est vraie si la tessellation ne marche pas en bordure de surface. Rappelez vous : Comme votre écran est en 2 dimensions, une rotation autour de l'axe des Z, ne peut être effectuée seulement qu'avec le potentiomètre des Z de toute façon.

Les réglages du Triangle/Quads-tessellation et la résolution de la grille influencerons l'affichage aussi. L'échelle précision/vitesse est déterminée avec le menu "Configuration/Echelle".

Conseil : Pour mettre à l'échelle rapidement, appuyer sur le bouton plutôt que de cliquer sur le bouton continuellement. Table des matières

Editor de fonctions et compilateur

Terminer l'édition d'une nouvelle fonction par "entrée". Si le compilateur trouve des erreurs de syntaxe, il va vous avertir. La saisie tolère les blancs et accepte les majuscules comme les minuscules. Le compilateur reconnait les fonctions suivantes, opérateurs et constantes :

+, -, *, /, %, ^, sin(), cos(), tan(), asin(), acos(), atan(), sinh(), cosh(), tanh(), asinh(), acosh(), atanh(), cot(), csc(), sec(), int(), frac(), floor(), ceil(), mod(a,b), exp(), pow(a,b), log(), log2(), log10(), sqrt(), abs(), sig(), rnd(interval), gamma(), min(a,b), max(a,b), $pi (=3,14..), $e (=2,71..), $c (=299792458 m/s). Un commentaire commence par un dièze #.

Les opérateurs spéciaux sont : if(a,b,c), &, |, ! <, >, <=, >= et la fonction récursive eval(...). La condition if(a,b,c) peut être comprise en tant que "si condition a remplie, alors expression b sinon expression c". Les opérateurs booléens et, ou, non (&, |, !) peuvent être combinés pour formuler des conditions "if" plus complexes. Exemples de conditions, opérateurs spéciaux, seront trouvés dans le répertoire de travail.

Dans certains domaines Zhu3D renvoie les messages d'erreurs de fonctionnement discrètement. Vous pouvez voir s'afficher des fonctions telles que sqrt(x) ou 1/x sans être averti par un message comme "racine négative" ou "division par zéro". En cas de doute, utiliser des expressions avec une syntaxe correcte telle que sqrt(abs(x)) par exemple.

L'éditeur supporte les fonctions de copie, couper et coller ainsi que annuler/refaire. Table des matières

Options définies Par l'utilisateur

Afin de créer ses propres fonctions et constantes (personaliser), ouvrir le menu "Editeur/Personaliser". De cette façon vous obtenez un tableau, dans lequel vous pouvez entrer vos propres définitions. Les opérations doivent avoir un signe égal et un nom unique. Les fonctions d'un même nom, mais d'une quantité différentes de paramètres, ne sont pas permises ! Soyez prudent quand vous faites vos définitions. Car elles peuvent s'imbriquer ou même être récursives, il est fortement recommandé de les entrer d'une façon claire et linéaire à partir de la ligne 1 jusqu'à la fin. Un clic de la souris permet de supprimer rapidement « blancs et commentaires » insérer dans les lignes vides.

CONSEIL: Regardez l'exemple "usrdef", dans lequel vous pouvez trouver un tas d'exemples, dans une gamme de définitons, du plus simple au plus compliqué. Table des matières

Function implicite et isosurfaces

Celles-ci sont de la forme générale 0=f(x,y,z) tandis que les fonctions "normale" z=f(x,y) sont valables. Les fonctions implicites possèdent certains avantages par rapport aux fonctions normales et aux systèmes paramétriques. Les fonctions complexes peuvent être représentées directement par exemple. Les fonctions implicites décrivent un champ scalaire tridimensionel et crée ainsi une ci-nommée isosurface. Pour afficher ces isosurfaces Zhu3D utilises différents algorithmes de base de volumes. Vous pouvez les choisir dans le menu "Configurations/Général".

CONSEIL: Les grilles plus denses nécessiterons un temps de calcul très long. Table des matières

Système paramètrique

Le changement de signification est particulièrement évident. A la place de trois fonction indépendantes dans x et y, vous travaillez dans un seul système avec les paramètres s et t, dont les valeurs sont déterminées par la fonction X(s,t), Y(s,t) et Z(s,t). L'échelle change de signification aussi. A la place de remettre à l'échelle les valeurs de x par exemple, vous pouvez le faire avec la fonction X(s,t) maintenant.

L'interval stantard pour s et t est [-1, 1], que vous changez en mettant à l'échelle X et Y. Dans un système paramétrique vous pouvez avoir une quantité infinie de valeurs Z(s,t), que vous pouvez imaginez liées aux valeurs Z. Ainsi l'arrière plan et l'avant plan peuvent s'intégrer l'un à l'autre ou ils peuvent même se chevaucher avec ambiguité. Afin d'éviter des tessellations erronées, il faut réduire l'échelle des X et/ou Y au minimum nécessaire. Le bouton d'échelle A(ll) s'applique à toute la taille du graphisme.

L'exemple tel que Moebius "moebis.zhu" démontre ce contexte. Si vous voulez analyser des courbes, vous devez changer en mode point. Un exemple de cette sorte est le fichier "curve.zhu".Table des matières

Légendes éditeur

Les trois premières entrées sont réservées aux étiquettes xyz des axes, toutes les autres sont utilisables pour les libellés. La différence vient du fait que les étiquettes xyz sont affichées en perspectives, les autres sont planes. Pour des raisons de simplicité, si on change la couleur d'une seule étiquette xyz cela change la couleur des autres ainsi que des axes.

Les saisies dans la colonne « taille » peuvent etre changées en double cliquant ce qui évite toute intervention du clavier. Un clic sur le bouton cadenassé permet de déplacer une saisie rapidement avec la souris. Cette action, ainsi que les autres, se réferrent à la ligne présente sélectionnée. Pour des raisons de simplicité on peut débloquer la souris avec le bouton droit cliqué dans le visualiseur aussi.. Table des matières

Raccourcis

Le programme implemente d'autres raccourcis en plus de la forme <Ctrl-Letter>. Independant de la localisation U,D,L,R,+,- sont disponibles. Ces lettres correspondent à haut, bas, gauche, droite, grossissement et réduction. Table des matières

Qui est Zhu?

Le nom de Zhu3D vient du mathématicien chinois Zhu Shijie. Environ 1300 après la naissance du christ, il fut vraiment le premier à résoudre un système d'équation complexe non-linéaire d'une façon moderne. Bien sûr vous trouverez sa pièce maitresse historique dans le répertoire de travail. Elle s'appelle évidement "zhu.zhu".

Une remarque : Shijie a oublié de spécifier la seconde solution non-triviale à cause des ses signes négatifs. La raison en est une limitation par l'imagination des numéros de pièces, qui fut finalement dépassé plusieurs centaines d'années après. Avec Zhu3D vous pouvez trouver cette seconde solution d'un seul coup :-)

Pas vraiment spectaculaire, du moins d'un point de vue optique, est "ninebooks.zhu". L'exemple historique vient du grand livre "neuvième livre", un receuil mathématique publié en Chine environ 200 ans avant J.C. Les anciens résolurent ce système linéaire avec un algorithme similaire, que le fameux mathématicien Carl Friedrich Gauss réinventa quelques 2000 ans plus tard.

En comparaison vous pouvez étudier "diophant.zhu", un système qui fut publié dans le livre grecque "Arithmétique" pas avant 450 ans après le "neuvième livre". La solution de ce système simple sans coefficient fut trouvé par le célébre mathématicien Diophant. Table des matières


Valid HTML 4.01 Strict

Document made with Nvu