nor how to write python programming code, but I did get the gift of learning to read a bit of programming language and references on unix man pages on my mac (python is interactive object oriented graphics interpreted scripting language) . While some might consider a gift to be the gifter to give the structured walk through, I, knowing little of python, might consider a gift to be the invitation to puzzle out reading what the code could mean . Readers beware : 1. anyone familiar with the python scripting language my writing might seem the ravings of a blind man 2. merely presenting the results of my explorations to those unfamiliar with python might not have the wonderful adventurous feeling of exploring I feel but rather of humiliating spoonfeeding. 3. as a baby learns language by listening and babbling so also am I reading code and babbling about it before I learn to have a conversation . I am experimenting and making mistakes with the questions : How does one share the experience of finding the meaningfulness of code? How does one inspire a collaborative learning laboratory? First, let's look at Avatars as they appear in the croquet SDK folder : ------------------------------------------------------------------------------------- (from spot observations, I suppose source files reference relative address of file, ie. I need not specify full file "pathname" as lingo on mac and ancient data general AOS had it) *.vfb and *.jbf files are binary. They are files exported by some application that you put Engish source code into. The *.mdl files have text in them that says LoadGeometry which has arguments which are the *.vfb files. I used mac os x spotlight to seek reference to *.jbf binary files in text source to no avail. *.bmp *.gif I suppose are painted as textures over grids encoded in these *.vfb files. *.mdl files use python as does gift files. Next, let's look at the gift files : -------------------------------------- These, at first, worry me because they come in three folders, not the flat directory structure of before . *.blend files were the only binary files (generated by what?) and I imagine these can't be used directly in croquet. I make the working hypothesis that I might call ExampleAvatars a project folder of some python application that will generate a croquet-distribution-like Avatars folder and its contents . I noticed *.py files my mac os x called Python modules that had text source inside with "GNU GPL blocks". GPL evidently stands for GNU general public license . I know that Python eases doing computer graphics with ready made tools . I am happy it is a gnu thing, evidently, because that makes it cross platform . The GPL also indicates the code might be modified by the creator and so part of it represents his work and not merely the "definition of GNU", one might say news rather than GNU's . The export_bvh has, in a field, allegedly his e mail address to ask what's new, but it is a strange format . I suspect the application that uses this file to have a button which feeds the strange format address into a mail program in normal format . The source indicates they are python scripts and, in particular, the one that export_bvh has print statements indicating the beginning and end of its action. It evidently wants user to name input binary *.blend files, but, oddly, only two are to choose amongst while there are a plethora of bvh file names exported . I might suppose that the entire project folder wasn't sent, just some files to illustrate . Blender seems to be a vast indexed bunch of tools with meanings and this suggests I might google "python script" and import to crack what the import lines are doing. I suspect staged import avoids having to write whole paths just as in Maple computer algebra package reads. Then I'd google blender for definition of tools used to build stuff in the *.py files. The export_obj_for_croquet script seems, from line 144 thru 168, to have written the *.mtl files . This is in addition to the alleged export of *.obj files alleged in filename and internal line 15 . The *.obj file production subscribes to or imports from the *.mtl file production . The export_obj_for_croquet script has a single line at the bottom that seems to indicate, not definition, but rather action . A bunch of questions hammered at me and were in an instant dispelled with man pages on python : 1. Would poser application be allowed to use gnu stuff and charge for the program ? The origin of *.blend binary files aren't clear . There's a web address, www.blender.org . This suggests poser is out of the picture . 2. Can I make unix command line use this gnus stuff . Yes, since python in my man pages . 3. Unix has pipes in command line and one application's output can be another application's input . Yes, since synopsis has option -u (unbuffered) which mentions stdin and stdout . 4. Do I confuse myself by assuming there is one application running these scripts ? No, it is the python interpreter acting through the unix command line . 5. What's a python script command line grammar ? This is present in the synopsis of my man pages on python . "python - an interpreted, interactive, object-oriented programming language ... For an introduction to programming in Python you are referred to the Python Tutorial. ... Finally, the Python Reference Manual describes the syntax and semantics of the core language in (per- haps too) much detail. (These documents may be located via the INTER- NET RESOURCES below; ... The interpreter interface resembles that of the UNIX shell ... " One of the things that excited me was the abbreviation "IK capture" in a *.py file in Blender folder that said export_bvh . IK, I imagine from studies in MayaPLE, stands for inverse kinematics, but these are capture files so they may have had digital input from a guy that would make a virtual gal or rabbit move . If I remember correctly, one speaks of such IK handles and these are controls for abstracting work done to make animations move, abstracting one capture into features controlling many different characters walk or stand or whatever. This moved me to explore the *.bvh files that were generated . At first, I saw the details within somewhat unimportant since, evidently, software exported them and knowing how to do the work was actual knowing how to do the design of the more abstract *.py files. Staring at these files daunted me, perhaps because I hadn't read about Blender parts which it built things with. So, perhaps, motivational studies wouldn't come from top down, but rather grunging at the bottom to only later see what motivated the top level creative stuff. So, I stared at the *.bvh productions : --------------------------------------- They seemed to specialize sometimes in character being animated, but sometimes not . What could be the use of stand.bvh or walk.bvh when there was also specializations of them to characters and also names, eg. new1, modifying the characters animated? I might suppose that they were the first to sort of sketch what was going on. That suggests that there was other input of the worker than the limited name set of input files . But, then, I "worried" (did shallow search on another branch) and thought I might consider the details within as important. I saw the hierarchy of a skeleton with channels (on which are animation signals) describing joint rotations that would be compounded by affine matrix representation I had read of in Angel's "Interactive Computer Graphics". In other words, I could also get an abstract bird's eye view looking within detail as prettyprint without getting bogged down with it. I examined *.mtl files : They seem to be defining so called "materials" for a so called "blender" that builds some features of a character . There are consistantly named parameters to each new material, three vectors and four scalars. Somewhat daunted, I look into a *.obj file, MadHatter.obj : -------------------------------------------------------------------------- This file has v headed vector lines going up to line 4389 . Maybe that is a mesh. Then vt headed vector lines happen . vn headed vector lines, I'd bet, are normals to get shading from a lighting formula . Evidence against that hypothesis comes from the fact that there are enormously more of them than v lines. line 12971 "usemtl Hair.001" uses a material, Hair.001 defined (obscurely by my writing) in MadHatter.mtl file. Hair (flowing/falling) costs big bucks in Maya but this hair is open source. Hmmm. Maybe the hair is just stuck there with no wind or gravity dynamics . But, I'm wonder at the meanings of the lines after that line . All material headed stuff has these line structures with f starting a line . Maybe the small integer triples specify vertices of triangular and rectangular faces . My steam may be running out which makes an unhappy ending casting doubt on this whole enterprise . Perhaps, then, I need a rest and can get this rest by "passing the ball" rather than struggling to carry it all the way to the goal line . |
Free forum by Nabble | Edit this page |