home *** CD-ROM | disk | FTP | other *** search
/ UnrealScript Game Programming All in One / UnrealScriptGameProgrammingAllInOne.iso / UGPAIOListings / UGPAIOListingsCh16 / CH16LIST / Classes / CH16_07LIST.uc < prev   
Encoding:
Text File  |  2006-02-18  |  2.7 KB  |  96 lines

  1. // %PARAMETERS = "CH16LIST C:\UT2004"
  2. //Identifies the package
  3. //CH16_07LIST.uc
  4.  
  5. class CH16_07LIST extends Commandlet;
  6. function int Main(string Args){
  7.   //#1
  8.   local vector vFirst, vSecond, vRandom, vReturn;
  9.   local float rValue;
  10.  
  11.    vFirst.x = 3;    vFirst.y = 2;    vFirst.z = 4;
  12.    vSecond.x = 4;   vSecond.y = 5;  vSecond.z = 7;
  13.  
  14.    Log(Chr(10) $"  Selected Object Vector Functions:"
  15.                $ Chr(10));
  16.  
  17.    Log("  vFirst  [  " @ vFirst.x @ vFirst.y
  18.                        @ vFirst.z @ " ] ");
  19.    Log("  vSecond [  " @ vSecond.x @ vSecond.y
  20.                        @ vSecond.z @ " ] ");
  21.  
  22.    //#2
  23.    //Magnitude of vector
  24.    Log(Chr(10) $ "  The magnitude of (VSize()  of [ "
  25.                         @ vFirst.x  @ vFirst.y @ vFirst.z
  26.                         @ " ] is " @ VSize(vFirst));
  27.    Log(           "  The magnitude of (VSize()  of [ "
  28.                         @ vSecond.x  @ vSecond.y @ vSecond.z
  29.                         @ " ] is " @ VSize(vSecond));
  30.  
  31.    //#3
  32.    //Unit vector -- normalization
  33.    vReturn = Normal(vFirst);
  34.    Log(Chr(10) $"  Normalized, [ "
  35.                         @ vFirst.x  @ vFirst.y
  36.                         @ vFirst.z  @ " ] is [ "
  37.                         @ vReturn @ " ]" );
  38.  
  39.    vReturn = Normal(vSecond);
  40.    Log("  Normalized, [ "
  41.                         @ vSecond.x  @ vSecond.y
  42.                         @ vSecond.z  @ " ] is [ "
  43.                         @ vReturn  @ " ]" );
  44.  
  45.    Log("  Normalized vSecond.x = " $ vReturn.x);
  46.  
  47.     //#4
  48.     //Add two vectors
  49.     vReturn = vFirst + vSecond;
  50.     Log(Chr(10) $"  vFirst + vSecond: " $ vReturn);
  51.     //Subtract one vector from another
  52.     vReturn = vFirst - vSecond;
  53.     Log(Chr(10) $"  vFirst - vSecond: " $ vReturn);
  54.  
  55.     //#5
  56.     //Multiply by a scalar
  57.     vReturn = 4 *  vSecond;
  58.     Log(Chr(10) $"  4 * vSecond: " $ vReturn);
  59.  
  60.     //Divide by a scalar
  61.     vReturn = vFirst/ 4;
  62.     Log(Chr(10) $"  vSecond/ 4 : " $ vReturn);
  63.  
  64.     //#6
  65.     //Dot product
  66.     rValue = vFirst dot vSecond;
  67.     Log(Chr(10) $"  Dot Product: " $ rValue);
  68.  
  69.     //#7
  70.     //Cross [product
  71.     vReturn = vFirst cross vSecond;
  72.     Log(Chr(10) $"  Cross Product: " $ vReturn);
  73.  
  74.     //#8
  75.     //Generate a random vector
  76.     vRandom = VRand();
  77.     Log(Chr(10) $ "  vRandom ( VRand() )  [  "
  78.                        @ vRandom.x @ vRandom.y
  79.                        @ vRandom.z @ " ] ");
  80.  
  81.     //Mirroring a vector using a normalize vector
  82.     Log(Chr(10) $ "  vSecond Mirrored with vRandom , [ "
  83.                         @ vSecond.x  @ vSecond.y
  84.                         @ vSecond.z  @ " ] is "
  85.                         $  Chr(10)   $ "  [ "
  86.                         @ MirrorVectorByNormal (vSecond, vRandom)
  87.                         @ " ]" );
  88.  
  89.     return 0;
  90. }
  91.  
  92.  
  93.  
  94.  
  95.  
  96.