Ceci est la libre adaptation de l'original
Viz 1.2.0: Extension pour la modélisation paramétrique dans SketchUp
A quoi sert VIZ?
Viz vous permet de créer des algorithmes qui transforment des données. Les données peuvent être de plusieurs types différents, tels que la géométrie, des nombres, des images, etc. Les données peuvent provenir de différents endroits (appelées sources), tels qu'un modeleur 3D (par exemple, SketchUp), de fichiers images et des fichiers textes. Les données transformées peuvent ensuite être envoyées à différentes sorties, comme le retour à un modeleur 3D, ou des images et des fichiers textes.
Dans Viz, la transformation des données est réalisée par un ensemble de "Nœuds", chacun effectuant une opération donnée sur les données. Le flux de données entre les Noeuds est représenté par des liens reliant les Nœuds. Le flux de données va de gauche à droite.
Dans Viz, la transformation des données est réalisée par un ensemble de "Nœuds", chacun effectuant une opération donnée sur les données. Le flux de données entre les Noeuds est représenté par des liens reliant les Nœuds. Le flux de données va de gauche à droite.
Cela est appelé la modélisation paramétrique parce que, une fois que l'algorithme a été créé, vous pouvez modifier les données d'entrée et de voir les données de sortie résultantes à la volée, sans avoir à effectuer les opérations une fois de plus.
Exemple: Création d'une Sphère Paramétrique
Dans cet exemple, nous avons créé une sphère en faisant tourner un demi-cercle autour de l'axe X. Pour créer de nouveaux nœuds, appuyez sur la barre d'Espace et sélectionnez le Nœud souhaité. Pour créer de nouvelles connections, Clic Gauche et faites glisser sur les Prises. Pour modifier les attributs, Double-Clic Gauche sur les Prises ou leurs noms.
- 1. Créer un nœud "MakeCircle" et changer l'angle de fin à 180:
- 2. Créer un Noeud "Revolve" et un Nœud "X-Axis", et les connecter comme dans l'image:
- 3. Vous pouvez modifier les paramètres de la source de l'algorithme, comme les subdivisions numériques du cercle, et de voir la mise à jour de la sphère à la volée:
Sorties de Données du Modeleur
C'est un type spécial de Noeud, appelé "Géométrie Sink" que vous pouvez utiliser à la sortie de la géométrie vers le modeleur.
Entrée de Données du Modeleur
Un autre type particulier de Nœud, appelé "GeometrySource" vous permet d'obtenir la géométrie directement à partir du modeleur. Voici les étapes:
- 1. Créer un Nœud "GeometrySource".
- 2. Dans le modeleur, sélectionnez la géométrie que vous souhaitez utiliser comme source et cliquez sur l'icône "Set Source".
- Dans la boîte de dialogue qui apparaît, sélectionnez le Nœud "GeometrySource". Maintenant, la géométrie doit apparaître à l'intérieur de Viz.
Si vous modifiez la géométrie à l'intérieur du modeleur, elle sera automatiquement mise à jour à l'intérieur de Viz à la volée.
Remarque: Si vous pouvez sélectionner plusieurs géométries dans le modeleur, elles seront toutes importées dans le même Noeud "source de géométrie", sous la forme d'un tableau de géométrie (voir tableaux).
Remarque: Si vous pouvez sélectionner plusieurs géométries dans le modeleur, elles seront toutes importées dans le même Noeud "source de géométrie", sous la forme d'un tableau de géométrie (voir tableaux).
Types de Données
Viz travaille avec de nombreux types de données, les plus courants sont: Numériques (chiffres), Texte, Géométrie, Images et Tableaux.
Numériques
Les données numériques représente des nombres, tels que le nombre de subdivisions ou le rayon d'une sphère. De nombreux Noeuds sont consacrés juste à la transformation des nombres. Par exemple, voici un Noeud, appelé "Mul", qui multiplie deux nombres ensembles:
Le Nœud Mul prend les deux valeurs à multiplier ensembles sur les attributs X et Y (Prises) respectivement, et transmet les résultats à l'attribut Z.
Il y a beaucoup de fonctions mathématiques disponibles, comme Mul, Ajouter, Sub, Fx, Fxy, etc.
Il y a beaucoup de fonctions mathématiques disponibles, comme Mul, Ajouter, Sub, Fx, Fxy, etc.
Matrices
Tous les nombres sont représentés en interne dans Viz comme des Matrices. Une seule valeur numérique peut être comme une Matrice spéciale avec le nombre de lignes et le nombre de colonnes égal à un. Les Matrices sont utilisés dans de nombreux contexte, le plus courant est une Matrice de 4 × 4 (quatre rangées et quatre colonnes) pour représenter les transformations 3D.
Voici un exemple de la façon d'une Matrice 4 × 2 est représentée dans Viz, la première colonne en premier lieu, la deuxième colonne deuxième, et ainsi de suite:
Voici un exemple de la façon d'une Matrice 4 × 2 est représentée dans Viz, la première colonne en premier lieu, la deuxième colonne deuxième, et ainsi de suite:
Vecteur
Un Vecteur est un cas particulier d'une Matrice avec une seule ligne ou une seule colonne. Les Vecteurs les plus couramment utilisés sont une Matrice de 3 × 1 (appelés Vecteurs de colonnes) avec trois lignes et une colonne. Ils sont utilisés pour représenter, par exemple, des traductions ou des emplacements de points dans l'espace 3D.
Voici un exemple d'un vecteur de colonne représentant une translation 3d:
Voici un exemple d'un vecteur de colonne représentant une translation 3d:
Note: pour des raisons qui apparaîtront plus clairement quand on parlera de Réseaux, même les Vecteurs colonnes sont disposées horizontalement plutôt que verticalement comme vous auriez dû normalement vous y attendre.
Texte
Texte, également appelé Chaîne, est une liste de caractères, utilisée par exemple pour représenter les noms ou les chemins de fichiers. Voici un exemple:
Géométrie
Les Données de Géométrie peuvent représenter quelque chose d'aussi simple qu'une ligne ou qu'un maillage triangulaire et quelque chose d'aussi complexe que toute une scène, avec des groupes, des instances, etc.
Voici un exemple qui utilise le Noeud "MakeGrid" pour générer en sortie une seule Donnée de Géométrie, ce qui représente un Plan avec plusieurs Quads:
Voici un exemple qui utilise le Noeud "MakeGrid" pour générer en sortie une seule Donnée de Géométrie, ce qui représente un Plan avec plusieurs Quads:
Notez que l'attribut "Geometry Out" dit "Tableau de 1 élément", ce qui signifie qu'il génère une liste contenant une Donnée de Géométrie.
Images
Viz peut également élaborer des Données d'Image. Voici un exemple d'un Noeud de chargement d'une Image à partir d'un fichier:
Tableaux
Les Tableaux sont des listes de plusieurs éléments. Ils peuvent être des Tableaux de Nombres, des Tableaux d'Images, des Tableaux de Géométries, etc. Ils sont une partie essentielle de Viz, car ils permettent le traitement de Données Multiples en même temps.
Il y a plusieurs Nœuds qui sont consacrés à la génération de Tableau de Nombres. Par exemple, voici un Noeud qui génère nombre aléatoire entre un minimum et une valeur maximale:
Il y a plusieurs Nœuds qui sont consacrés à la génération de Tableau de Nombres. Par exemple, voici un Noeud qui génère nombre aléatoire entre un minimum et une valeur maximale:
Notez comment le Nœud dispose également de deux attributs, appelés "Lignes Num" et "Num Col.". En effet, avec ce Nœud, vous pouvez également générer des Vecteurs et des Matrices. Dans ce cas, les deux rangées Num et Col. Num sont fixés à un.
De nombreux Noeuds de génération de Géométrie acceptent des Tableaux comme entrée. Dans l'exemple suivant, nous avons utilisé un Nœud appelé "AryGradient" pour générer un Tableau de Nombres compris entre 1 et 10, puis alimenter ce tableau dans le Noeud "MakeCircle", pour générer un Réseau de dix cercles, ayant un rayon compris entre 1 et 10:
De nombreux Noeuds de génération de Géométrie acceptent des Tableaux comme entrée. Dans l'exemple suivant, nous avons utilisé un Nœud appelé "AryGradient" pour générer un Tableau de Nombres compris entre 1 et 10, puis alimenter ce tableau dans le Noeud "MakeCircle", pour générer un Réseau de dix cercles, ayant un rayon compris entre 1 et 10:
Notez comment l'attribut "Geometry Out" est un Tableau de dix éléments:
Obtenir des Données Numériques d'un Fichier
Vous pouvez utiliser un nœud appelé AryFileSource pour obtenir des données de tableau numérique à partir du fichier. Disons que vous avez un fichier texte appelé input.txt, contenant quatre nombres, un pour chaque ligne:
1.0
2.0
3.0
4.0
Une fois que vous avez défini le "chemin" attribuè à input.txt, le nœud AryFileSource va charger les données du fichier comme un tableau de nombres:
1.0
2.0
3.0
4.0
Une fois que vous avez défini le "chemin" attribuè à input.txt, le nœud AryFileSource va charger les données du fichier comme un tableau de nombres:
Si vous apportez une modification à input.text, vous pouvez utiliser le bouton "Recharger toutes les sources de fichiers" dans l'interface utilisateur Viz pour recharger le fichier à partir du disque:
Vous pouvez également charger des vecteurs et des matrices. Disons que le fichier Input2.txt contient les nombres suivants:
1.0 2.0 3.0
4.0 5.0 6.0
7.0 8.0 9.0
10.0 11.0 12.0
Si vous définissez les N° de Lignes et de Colonnes "Num Rows" et "Num Cols" attribués dans le fichier AryFileSource à 3 et 1 respectivement, les données du fichier seront interprétés comme quatre vecteurs de 3 × 1 colonnes, un pour chaque ligne:
1.0 2.0 3.0
4.0 5.0 6.0
7.0 8.0 9.0
10.0 11.0 12.0
Si vous définissez les N° de Lignes et de Colonnes "Num Rows" et "Num Cols" attribués dans le fichier AryFileSource à 3 et 1 respectivement, les données du fichier seront interprétés comme quatre vecteurs de 3 × 1 colonnes, un pour chaque ligne:
Si vous définissez les N° de Lignes et Colonnes attribués à "Num Cols" dans le AryFileSource à 2 et 3 respectivement, les données du fichier seront interprétées comme deux matrices 3 x 2, la première prenant les deux premières lignes et la seconde la deuxième des deux lignes du fichier:
Sauvegarde des Données Numériques pour le Fichier
Vous pouvez utiliser le noeud "ReadFileSync" pour la sortie des données numériques sur le disque.
L'écriture sur le disque se produit lorsque vous cliquez sur le bouton "Flush All File Sink" de l'interface utilisateur Viz.
L'écriture sur le disque se produit lorsque vous cliquez sur le bouton "Flush All File Sink" de l'interface utilisateur Viz.
Sujets Avancés
Représentation Interne de la Géométrie
Chaque nœud de la géométrie est représenté en interne comme un ensemble d'attributs nommés, tels que la position d'un point, du point normal, les coordonnées de texture d'une face, etc. Le nœud appelé "GetAttr" vous permet d'extraire les attributs sous forme de tableaux numériques. Le noeud "SetAttr" permet de définir un attribut à une nouvelle valeur. Il existe quatre types d'entités à laquelle les attributs nommés peuvent être associés: Point, Vertex, Primitive, Element.
Les Attributs Point
Les attributs de point sont partagés entre les sommets de multiples faces. La Position du Vertex ("pos") et le sommet normal ("norm") sont normalement définis comme attributs de point.
Les Attributs Vertex
Les attributs Vertex sont uniques pour chaque sommet d'une face. Les coordonnées de texture ("Texc") sont normalement associées au sommet des attributs, car les faces partageant la même arête peuvent encore avoir des coordonnées de texture. Toutes les géométries ont un attribut de vertex appelé Point Num ("pnum") qui est un index dans les attributs de point. Cela rend possible de partager le même attribut de points avec plusieurs sommets.
Les Attributs Primitive
Les attributs de primitive sont des valeurs associées à chaque face. Par exemple, vous pouvez ajouter un attribut primitive appelé "aera" qui représente la zone de chaque face, puis l'utiliser dans les calculs ultérieurs.
Les Attributs Element
Les attributs d'élément sont des valeurs associées à la géométrie dans son ensemble, par exemple, la surface totale de la géométrie. Toutes les géométries ont un attribut d'élément appelé "prims" qui est une liste d'index dans les attributs de vertex qui représentent chaque primitive (face).
A titre d'exemple, le maillage simple indiqué dans l'image ci-dessous, possède les attributs suivants (notez comment l'attribut Pos a la taille 6, parce que les deux points sont partagés par l'arête commune.
A noter également que les indices sont basés à zéro.
Attributs Points:
“pos” (point position): [-0.5 -0.5 0],[0.5 -0.5 0],[-0.5 0 0],[0.5 0 0],[-0.5 0.5 0],[0.5 0.5 0]
Attributs Vextex:
“pnum” (point number): 0, 1, 2, 3, 4, 5, 3, 2
“texc” (texture coordinate): [0.0, 0.0], [0.5, 0.0], [0.5, 1.0], [0.0, 1.0], [1.0, 0.0], [1.0, 1.0], [0.5, 1.0], [0.5, 0.0]
Attributs Element:
“prims” (vertex index): 0, 1, 2, 3, 4, 5, 6, 7
A titre d'exemple, le maillage simple indiqué dans l'image ci-dessous, possède les attributs suivants (notez comment l'attribut Pos a la taille 6, parce que les deux points sont partagés par l'arête commune.
A noter également que les indices sont basés à zéro.
Attributs Points:
“pos” (point position): [-0.5 -0.5 0],[0.5 -0.5 0],[-0.5 0 0],[0.5 0 0],[-0.5 0.5 0],[0.5 0.5 0]
Attributs Vextex:
“pnum” (point number): 0, 1, 2, 3, 4, 5, 3, 2
“texc” (texture coordinate): [0.0, 0.0], [0.5, 0.0], [0.5, 1.0], [0.0, 1.0], [1.0, 0.0], [1.0, 1.0], [0.5, 1.0], [0.5, 0.0]
Attributs Element:
“prims” (vertex index): 0, 1, 2, 3, 4, 5, 6, 7
Dans l'exemple ci-dessous, nous extrayons les attributs "pos" de l'entité du point de la géométrie, faisons quelques calculs avec elle et obtenons la valeur mise à jour dans la géométrie:
En Apprendre Encore Plus
Voici quelques ressources supplémentaires si vous voulez en savoir plus:
Tutoriels vidéo Viz
Tutoriels vidéo Viz
Modélisation
|
Noeud Personnalisés
|
Le Noeud Extrusion
|
Opérations Booléennes et Extrusions
|
|
|
Le Noeud Multiplication des Entités
|
Se servir des instances pour remplir l'espace!
|
Se servir d'Instances pour couvrir des surfaces