www.norskesites.org/fic3/tutor2s.txt www.moscowsites.org/fic3.tutor2s.txt Aristo Tacoma Tutorial number 2 for scientists -- anyone wanting to do science -- with Lisa GJ2 Fic3 Written February 7, 2011. Copyright author, Aristo Tacoma. License for further distribution of this text and associated files: www.yoga4d.org/cfdl.txt }* THE FOLLOWING FORMALISM IS TUT2SPRO BY ARISTO TACOMA, AND }* }* WHEN ADDED TO THE LIGHT3D.TXT MODULE AND SAVED AS A SINGLE }* }* DOCUMENT CALLED TUT2SPRO.TXT IT CAN BE STARTED IN }* }* LISA GJ2 FIC3 BY COMMAND :TUT2SPRO IN }* }* -- WHEN YOU HAVE DATA FILES TUT2SDT1.TXT .. TUT2SDT5.TXT }* }* WHICH WE HAVE EARLIER SKETCHED IN LIGHT3D.TXT IS IN MAIN }* }* FOLDER, THE NORMAL C:\BOEHM\BOEHMIAN }* }* DATAFILES AT WWW.NORSKESITES.ORG/fic3/tut2sdt1.txt .. dt5 }* }* DATE MADE: 2011:2:7. EXPLAINED IN TUTOR2S.TXT AS FOUND AT }* }* NORSKESITES.ORG/fic3. TUT2SPRO IS COPYRIGHT ARISTO TACOMA }* }* WITH DISTRIBUTION AS ACCORDING TO YOGA4D.ORG/cfdl.txt }* }* BUT YOU CAN EXTRACT ANY OF THE FOLLOWING FUNCTIONS AND USE }* }* IN YOUR OWN SCIENTIFIC MODELS OR GAMES BY INSERTING A }* }* COMMENTARY IN YOUR OPEN SOURCE ACKNOWLEDGING SOURCE. }* (LET START-NEW-MODEL BE (( )) (( (( LIGHT3D-FILENAME => VARSTR> ; }.TXT} => CONCAT ; UNIVERSE-GAMETIME >>> => FILENUM2PM ; RM )) (( 1 ; TOP-NUMBER >>> ; UNIVERSE-GAMETIME >>> => GM HIGHEST-RECORD <>> ; UNIVERSE-GAMETIME >>> => GM HIGHEST-USED-IN-WARPS <>> ; UNIVERSE-GAMETIME >>> => GM HIGHEST-USED-IN-MATRIX <>> ; UNIVERSE-GAMETIME >>> => GM VIEW-X <>> ; UNIVERSE-GAMETIME >>> => GM VIEW-Y <>> ; UNIVERSE-GAMETIME >>> => GM VIEW-Z <>> ; UNIVERSE-GAMETIME >>> => GM VIEW-XZ <>> ; UNIVERSE-GAMETIME >>> => GM VIEW-YZ <>> ; UNIVERSE-GAMETIME >>> => GM RD-BG-TONE <>> ; UNIVERSE-GAMETIME >>> => GM MODE-BANDS <>> ; UNIVERSE-GAMETIME >>> => GM SPEED-MODE <>> ; UNIVERSE-GAMETIME >>> => GM APPLY-DISTANCE-FUNCTION <>> ; UNIVERSE-GAMETIME >>> => PM )) COUNTUP) )) (( GET-GAME-WARPS-FROM-MAIN-MATRIX )) (( TABL-MODE => SETDANCE )) )) OK) ((DATA MODEL-TICKING MODEL-TICKING => SETBASIS )) ((DATA MOUSEX-PREV )) ((DATA MOUSEY-PREV )) (LET WARP-TO-HANDLE-MENU BE (( )) (( (( MOUSEXY => >N8 => >N5 )) (( MODEL-TICKING => VISBASIS => NOT (MATCHED (( N5 ; MOUSEX-PREV >>> => SUB => ABS ; 5 => INTGREATER ; N8 ; MOUSEY-PREV >>> => SUB => ABS ; 5 => INTGREATER => ORR (MATCHED (( NATURAL-CLS )) (( RESET-VARIABLES )) (( CLEAR-MATRICES )) (( CLEAR-WARPS )) (( }FORMALISM WITH 5 ILLUSTRATIONS: } ; }FORMAL MODEL'S CLOCK-TICK: } => CONCAT ; MODEL-TICKING >>> => CONCAT ; 10 ; 100 => B9-POP )) (( }1 -- INITIAL STATE.} ; 10 ; 125 => B9-POP )) (( }2 -- START OF CHANGE.} ; 10 ; 150 => B9-POP )) (( }3 -- IN PROCESS.} ; 10 ; 175 => B9-POP )) (( }4 -- TOWARD COMPLETION.} ; 10 ; 200 => B9-POP )) (( }5 -- COMPLETED.} ; 10 ; 225 => B9-POP )) (( }TYPE A NUMBER, AND PRESS ENTER TO VIEW FORMAL ILLUSTRATION:} 10 ; 250 => B9-POP )) (( }(NOTE THAT YOU CAN EXIT MODEL WHEN IT SHOWS BY TYPING Q Y)} ; 10 ; 275 => B9-POP )) (( 2 ; 800 ; 250 => B9-READLN => HEAL => >N1 )) (( N1 ; 1 ; 5 => SET-RANGE => >N1 )) (( }TUT2SDT} ; N1 => CONCAT ; LIGHT3D-FILENAME => >VARSTR )) (( }SCIENCE} ; MAIN-MODE-NAME => >VARSTR )) (( START-NEW-MODEL )) (( NATURAL-CLS )) MATCHED) )) MATCHED) )) (( MOUSEXY => >N8 => >N5 )) (( N5 MOUSEX-PREV < INCVAR )) )) OK) (( }WARP-TO-HANDLE-MENU} => ? ; 350 ; W-TABLE >>> => %PUT )) (LET TUT2SPRO BE (( )) (( (( GJ-ON )) (( SM-IS-GOOD-WELCOME-GREETING )) (( SM-IS-GOOD-WELCOME-GREETING-YES )) (( NEW-UNIVERSE-GAMETIME )) (( CLS )) (( }***THIS FORMALISM IS PART OF norskesites.org/fic3/tutor2s.txt} 10 ; 200 => B9-POP )) (( }THIS FORMALISM BY A.TACOMA HAS LIGHT3D.TXT IN LISA GJ2 FIC3 AS CORE.} 10 ; 225 => B9-POP )) (( }FORMAL ILLUSTRATIONS HAVE DATAFILES TUT2SDT1.TXT .. TUT2SDT5.TXT.} 10 ; 250 => B9-POP )) (( }GET MENU TO CHANGE THIS MODEL BY MOVING MOUSE WITHOUT CLICKING IT.} 10 ; 300 => B9-POP )) (( }BUT NOW, PRESS A KEY TO GET INTO THE MODELLING WINDOW. GOOD LUCK!!!} 10 ; 325 => B9-POP )) (( A-KEY )) (( }SCIENCE} ; MAIN-MODE-NAME => >VARSTR )) (( }TUT2SDT1} ; LIGHT3D-FILENAME => >VARSTR )) (( START-NEW-MODEL )) (( PLAY-THE-UNIVERSE-GAMETIME )) (( RELEASE-UNIVERSE-GAMETIME )) (( SM-IS-GOOD-COMPLETION-GREETING )) (( GJ-DONE )) (( RICHSTK )) )) OK) (( LOOKSTK )) (LET AUTOSTART BE TUT2SPRO OK) : Will you kindly explain the above? / It is the fantastic fabulous LIGHT3D.TXT program this time called on to provide some 3d stuff for a theory or the like. : The above is a program on its own? / It is a program that you can add to the LIGHT3D.TXT document, to provide a larger document, which you save under a new name: TUT2SPRO.TXT, and this is already at: www.norskesites.org/fic3/tut2spro.txt. When you then also have its five data files, you have the full formalism. These five are: www.norskesites.org/fic3/tut2sdt1.txt .. www.norskesites.org/fic3/tut2sdt5.txt : So how do you start this wonderful 3d stuff? / That's the right spirit. You start it by typing :TUT2SPRO IN just after you have typed F3 to start up Lisa GJ2 Fic3 as usual. In the normal situation, with Dosbox or such, uppercase and lowercase don't matter (but in some implementations you may have to convert from lowercase to uppercase after getting the files). In Dosbox, you either get the files and then start Dosbox, or you type RESCAN if Dosbox is already running, before you type F3. RESCAN refreshes the internal file list for Dosbox. : And this is a formalism? / I think the appropriate way to say it is that when you have a theory, and you would like a formalism that provides an illustration of some features of the theory -- the theory itself being by nature informal, an item of meaning, and formalisms are called on to engage the mind even more, not so as to overtake the role of carrying the theory! -- then the program plus the datafile or datafiles together constitute a formalism. : How have the datafiles been made? / By some minutes of work with LIGHT3D. You will notice that, if you look at the program part of the formalism, as quoted inside this tutorial above, there is some talk of a warp. In particular, if you have some knowledge of Lisa GJ2 Fic3 programming, you will notice that there is an array for warps, and that the slot number 350 is being filled with connection to a function, indeed a menu function. When you look around in the program, you see that it says that by moving the mouse without clicking it, the menu will appear. Now the menu appears because there is a warp that checks on whether the mouse has been moved significantly since last time it checked. : And a warp, again, what is that? / A warp is, in a fashion of talking, a function which is accessed by means of connecting it to an array or variable rather than by actually putting the name of the function inside another function. So you see, LIGHT3D is made so that it can call on functions it doesn't know the names of, functions which indeed are made after LIGHT3D.TXT was made. And so the warp array contains all the new stuff that you want to have done at run-time. : Suppose I understand that. How do I connect the menu warp to the sketches I make in LIGHT3D? / That's easy. You sketch something in LIGHT3D, which abstractly illustrates a feature of your theory. What is here included is an example meant to instigate your own thinking, your own theorizing, your own formalism-making, and so it is not any theory in particular -- just something abstract, vaguely indicating something double-slit experiment like. Once you have something you like, you open the sketch in your extended program -- in this case, that extended program, which contains LIGHT3D.TXT verbatim first, then the menu warp and so on, is called, obviously, TUT2SPRO.TXT. So you open your data model using TUT2SPRO.TXT instead of LIGHT3D. You view it. It looks fine, and you press L for Link, you type the number, 1..400, which is the number you have choosed to use as slot for your function, and then you specify (in the normal case) 1 for group, and just press ENTER when it asks for record, so it concerns all records. You will see an asterix * arise rather than a zero when you type your 350 or whatever number you have chosen to store a warp function, -- this is the way the program tells you that all is well. You then save the datafile. If you have several datafiles, make sure that every one of them has a link. : But this is fantastic! How is it that when I start this wonderful formalism, it is already blinking and alive? For when opening the example file VIEW with LIGHT3D, nothing begins to blink before the tabulator key is pressed. / Correct. This TUT2SPRO.TXT presses the tabulator key for you. Can you see where? As you know, in Lisa GJ2 Fic3, to set something to one -- which often means, to activate it -- the word SETDANCE is used, while to set it to a more passive state (zero), the word SETBASIS is used. So it is likely to be a line with SETDANCE. : A line with SETDANCE? / Yes. Can you see it? : Is it this one: (( TABL-MODE => SETDANCE )) / That's the one.