Afficher le sujet - [MEL] Le mel de a à z Aujourd'hui, nous allons voir comment travailler avec les attributs avec du MEL. Tout d'abord, nous allons voir comment changer les attributs d'un objet. Ensuite nous verrons comment connecter des attributs ensemble. Et enfin nous verrons comment ajouter un attribut. Ce tutorial est inspiré grandement de Maya API quick start de Hiroyuki Haga. Définition d'un noeud selon Maya : construction qui contient des informations spécifiques mais aussi les actions qui sont possibles sur ces informations. Un exemple d'attribut de noeud de transformation est le RotateX qui représente l'angle de rotation sur l'axe X. Et voici l'éditeur d'attributs: Vous pouvez donc changer les attributs d'un objet dans cet éditeur. Changer un attribut Faisons un polyCube en utilisant par exemple la fonction MEL polyCube. Nous avons maintenant un joli cube. Il est possible de modifer ces attributs pour changer la position du cube par exemple. Code: Tout sélectionner string $list_attributs[] = `listAttr pCube1`; polyCube
Python (langage) Un article de Wikipédia, l'encyclopédie libre. Pour les articles homonymes, voir Python. Il est également apprécié par les pédagogues qui y trouvent un langage où la syntaxe, clairement séparée des mécanismes de bas niveau, permet une initiation aisée aux concepts de base de la programmation[3]. Python est un langage qui peut s'utiliser dans de nombreux contextes et s'adapter à tout type d'utilisation grâce à des bibliothèques spécialisées. Depuis 2013, il est enseigné à tous les étudiants de classes préparatoires scientifiques dans le cadre du tronc commun (informatique pour tous). Guido van Rossum, créateur de Python, à la OSCON 2006. En 1989, profitant d’une semaine de vacances durant les fêtes de Noël, il utilise son ordinateur personnel[5] pour écrire la première version du langage. Durant l’année suivante, le langage commence à être adopté par l’équipe du projet Amoeba, Guido poursuivant son développement principalement pendant son temps libre. Andrew M. la liste des nombres pairs :
Script Swell - Technical Artist Journal In this mel scripting tutorial we'll look at how to write data out to a file so you can make your own data exporting tools. By the end of it you'll have a firm understanding of and know how to take data from your Maya scene and write it out to a file. This is a follow up to the previous tutorial: How To Read A Text File. This article assumes you've read the previous tutorial and is a continuation of the concepts discussed in it. If you've not read the tutorial on how to read a text file, please browse Script Swell's Technical Artist Tutorials or click here. Skill Level: Beginner to Intermediate There are two things you'll need in order to proceed: some data to write out, and a text a file to write it to. string $myStrArray[] = {"This is line one of my data from Maya // Create A String Array With Test Datastring $myStrArray[] = {"This is line one of my data from Maya Next, create a file in an easy location, e.g. Now let's get into some code and see how this works. Nicely done!
Bonnes pratiques et astuces Python Ça faisait un moment que je n'avais pas parlé des bonnes pratiques Python mais l'approche de Pycon fr (où je présenterai Django : le pourquoi et le comment le 18 mai), l'événement Python incontournable avec un programme des plus alléchants, m'a bien motivé pour effectuer la traduction de l'une des meilleures présentation par David Goodger que je connaisse qui remet les bonnes pratiques Python à plat, ce qui est toujours bon avant d'aller plus loin. La lisibilité est importante Les programmes doivent être écrits pour être lus par des gens et accidentellement exécutés par les machines.-- Abelson & Sussman, Structure and Interpretation of Computer Programs Essayez de rendre vos programmes faciles à lire et évidents. PEP 8 : Style Guide pour le code Python Une lecture immanquable : (PEP = Python Enhancement Proposal) La communauté Python a ses propres standards sur ce à quoi doit ressembler le code, codifiés dans le PEP8. Whitespace 1 Whitespace 2 Nommage #!
Dorian Fevrier's blog Mental ray for Maya: Decrease Final Gather flicking Par Narann le samedi, juillet 20 2013, 17:30 - Infographie 3D - Boulot In this ticket, I present a simple way hack (keep in mind we are talking about mental ray for Maya ) to drastically decrease Final Gather flicking. You will see this method is a little tricky but it simply aims to reproduce the Interp. samples Vray's option behavior. Lire la suite... Mental ray for Maya: Diminuer le flicking du Final Gather Par Narann le samedi, juillet 20 2013, 17:11 - Infographie 3D - Boulot Dans ce billet je vous propose d'utiliser une méthode simple un bricolage (on parle de mental ray for Maya là ) visant à diminuer le flicking du Final Gather. Vous allez voir que l'approche est un peu particulière mais elle vise tout bêtement à reproduire le comportement de l'option Interp. samples de Vray. Lire la suite... Présentation d'une publication: Sorted Deferred Shading for Production Path Tracing Lire la suite... Lire la suite... Houdini sous le capot Let's go!
Python et Django, retour d'expérience après deux ans Il y a un poil moins de deux ans, j'écrivais ici-même un billet dans lequel j'expliquais pourquoi j'avais décidé de laisser tomber Symfony premier du nom pour voguer vers de plus vertes terres pythonesques. La bataille qui fit rage dans les commentaires ferait passer la plus épique scène du Seigneur des Anneaux pour une querelle dans un jardin d'enfants, et ce billet reste à ce jour l'un des plus vus sur Miximum. Le temps a passé, et j'ai pensé qu'il pourrait être intéressant de proposer un petit retour d'expérience sur cette migration. Alors, Python, Django, c'est bien, ou c'est très bien ? Avertissement : j'en vois déjà parmi vous qui salivent à l'odeur d'une bonne grillade de troll. Point de ces bacchanales aujourd'hui. Je partirai du principe que les lecteurs du billet sont novices en Django et / ou Python. Python, un langage qui a du mordant Lorsque j'ai décidé de donner sa chance à Django, je n'avais que superficiellement testé Python. À première vue, Python ressemble à un jouet.
Votre Python aime les pip A partir des versions 2.7.9 et et 3.4, pip est fournit automatiquement avec Python. Si c’est votre cas, vous pouvez sauter la partie installation et aller directement à la partie usage de cet article. Pip install par-ci, pip install par là. “Pour installer cette lib, il vous suffit de faire pip install”. Mais merde, c’est quoi pip ? Python et les libs externes La beauté avec Python, c’est qu’on peut prendre une lib, la balancer dans le répertoire courant, et l’importer. Mais. Car oui, il y a toujours un mais (souvent après le mois de mars). Quand il faut mettre à jour ses libs, c’est chiant. Mais surtout, quand on a une lib qui a des parties en C à compiler comme les libs de crypto, d’accès à la base de données, de traitement XML, de parsing ou de sérialisation, de calculs scientifiques, etc. ça ne marche tout simplement pas. Là, il y a deux écoles. Et les mecs qui utilisent setuptools (et qui se retrouvent avec encore d’autres problèmes, mais c’est mieux parce que je le dis).
Débuter avec Python au lycée Construire une interface graphique pas à pas en Python avec Tkinter et wxPython Ce texte est la traduction française de Dans cette page, vous allez apprendre à constuire une interface graphique pas à pas en Python. Le but est: De maîtriser les techniques de base des interfaces graphiques (mise en place des widgets, contraintes, gestion des évènements...)De comprendre la moindre méthode et paramètre utilisé ici.De voir deux toolkits majeurs et de comprendre leurs différences.De servir de base pour construire vos propres applications graphiques. Vous apprendrez:à créer une classe "application graphique",à créer des widgets (éléments d'interface graphiques),à les placer dans des conteneurs,à attacher des méthodes à certains évènements,à manipuler les valeurs des widgets,etc. Ces deux tookits graphiques sont portables: Cela signifie que - si bien conçues - vos interfaces fonctionneront sur tous les systèmes (Windows, Linux, MacOS X...). Table des matières Notre projet Le code Tkinter est dans cette couleur, à gauche. #! Hé ! Ainsi:
L’opérateur splat (l’étoile: *) en Python L’utilisation du signe étoile (*, dit opérateur « splat ») en Python est très simple, mais certains cas sont peu intuitifs. Les nouveaux venus ont souvent besoin d’un peu plus d’explications que ce que donne la doc. Les utilisateurs d’autres langages sont généralement déroutés, car ils sont habitués à certaines fonctionnalités qu’on ne retrouve pas en Python. Ce que * ne permet pas de faire Il n’y a pas de pointeur en Python, et les passages par référence sont automatiques. N’existe pas en Python. Les usages basiques de * La multiplication et la puissance fonctionnent comme on l’attend : Mais déjà, Python se démarque du lot, car l’opérateur * est surchargé par défaut, et peut s’appliquer aux chaines de caractères et aux listes. Pour les listes, c’est plus subtil. En revanche, multiplier une liste d’objets modifiables ne fait que répéter la référence vers cet objet : On a l’impression que le comportement est le même que précédemment, en fait pas du tout. Unpacking Quel rapport avec * ?
Résoudre le cube-serpent en Python Je me suis amusé à écrire un petit programme en Python qui résout le cube-serpent (ainsi nous pouvons dire qu’un serpent en résout un autre). Mon but était surtout d’apprendre le langage Python, avec un problème intéressant, pas trop compliqué (c’est de la force brute). Il m’a permis de découvrir différents aspects de Python.Je l’ai également implémenté en C. L’algorithme proposé résout un cube-serpent généralisé. Je vais d’abord présenter le problème et décrire l’algorithme de résolution et survoler l’implémentation, puis je vais m’attarder sur certaines fonctionnalités de Python qui m’ont semblé très intéressantes. Résolution Problème Le but est de replier la structure du serpent pour qu’elle forme un volume, par exemple un cube. La structure peut être vue comme une liste de vecteurs orthogonaux consécutifs, ayant chacun une norme (une longueur). Principe Limites Cet algorithme ne détecte pas les symétries ni les rotations, il donne alors plusieurs solutions « identiques ». Implémentation
Écrire une ext OOO avec Python C'est possible mais ce n'est pas du tout évident de trouver de la documentation utile, souvent parce qu'elle concernera Basic ou Java, ou qu'elle présentera une série de classes, interfaces et cie sans expliquer comment tout devrait s'imbriquer. Pour référence quand même, et parce que ces documents s'améliorent avec le temps, il y a entre autres la page Extensions development in Python et le Developer's Guide. Du coup ces quelques pages d'explications qui, en gardant un même thème, une extension "Hello World" bidon, espèrent mettre sur la voie les personnes débarquant dans cet univers impitoyable... À propos de voie, il y a deux directions possibles, partir sur les fonctionnalités, et étendre l'extension, genre écrire en gras plutôt qu'avec le style courant ou regarder la langue du paragraphe en cours pour insérer le texte dans une langue ou l'autre; ou alors partir sur ce qui touche plutôt à l'interface, ajouter une barre d'outil, une boite de dialogue, des trucs comme ça.
PYTHON 3 Elle est utilisée pour définir une plage permettant l'insertion et la manipulation d'un texte, il y a beaucoup plus de fonctionnalités que pour la classe Label qui correspond à un affichage "simple" de texte. Options de la classe : : précise la couleur de fond du texte. : précise la taille de la bordure du texte. : précise la police du texte. : précise la couleur du texte. : Hauteur du texte (en Y) : Largeur du texte (en X) : détermine l'espace à laisser à l'extérieur des bords est et ouest du texte. : détermine l'espace à laisser à l'extérieur des bords nord et sud du texte. : Style de la bordure du texte (flat par défaut, raised, sunken, groove, ridge). Méthodes de la classe : : permet de comparer deux caractères à deux endroits (index1 et index2) du texte avec les opérateurs usuels de comparaison. : permet d'effacer les caractères du texte entre index1 et index2 (Si index2 n'est pas indiqué, le caractère situé à l'index1 sera effacé).
[Python] détecter les touches pressées sur le clavier En fait, j'utilise déjà Tkinter, mais je débute Tant mieux, ça sera rapide à expliquer alors. La pression d'une touche du clavier est un évènement (tout comme un clique de souris d'ailleurs), et un évènement doit être lié à une fonction. On applique (généralement) la méthode "bind" à l'objet-fenêtre principale ("to bind" veut dire lier). On peut aussi l'appliquer autre part, mais c'est plus rare : par exemple un clic de souris dans un jeu va être lié uniquement au Canvas() et non à l'ensemble de la fenêtre. from Tkinter import *# création d'une instance de la classe TK, que l'on affecte à l'objet "root" root = Tk()# Quelques exemples de touches root.bind("<Up>", maFonction) # Flèche haut root.bind("<Down>", maFonction2) # Bas root.bind("<Left>", maFonction3) # Gauche root.bind("<Right>", maFonction4) # Droite root.bind("<space>", maFonction5) # barre d'espace root.bind("<a>", maFonction6) # lettre A def maFonction(event): # [... instructions... ]