home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Graphics / Graphics.zip / DKBOS2.ZOO / dkb212dt.zoo / pencil.dat < prev    next >
Text File  |  1991-04-25  |  7KB  |  280 lines

  1. {
  2.   This data file makes a pencil along Y axis with the label "DKBtrace 2.11"
  3.  
  4.   By:  Jorge Arreguin
  5.  
  6.   Translation to English and DKB version 2.10 by Aaron A. Collins with a bit
  7.   of help from David on the imagemap registration.
  8.  
  9.   NOTE - unless this is rendered at a minimum of 640 x whatever, the DKB logo
  10.          is quite unreadable.
  11.  
  12.   The Pencil - major export of Faber, Pennsylvania, due to the plentiful
  13.   presence of pencilwood trees and eraser-root plants, and the nearby
  14.   graphite mines.
  15.                                                 (John Landis - Animal House)
  16. }
  17.  
  18. INCLUDE "shapes.dat"
  19. INCLUDE "colors.dat"
  20. INCLUDE "textures.dat"
  21.  
  22. DECLARE PencilPaint =
  23. TEXTURE
  24.    COLOR RED 1.0 GREEN 0.6666 BLUE 0.33333
  25. END_TEXTURE
  26.  
  27. VIEW_POINT
  28.   LOCATION <0.0 -70.0 0.0>
  29.   DIRECTION <0.0 2.5 0.0>
  30.   UP <0.0 0.0 1.0>
  31.   RIGHT <1.333333 0.0 0.0>
  32.   ROTATE < -20.0 0.0 -140.0 >
  33.   TRANSLATE < 0.0 0.0 2.0 >
  34. END_VIEW_POINT
  35.  
  36. OBJECT
  37.   SPHERE <0.0 0.0 0.0> 2.0 END_SPHERE
  38.   TRANSLATE <30.0 30.0 55.0>
  39.   TEXTURE
  40.     COLOUR White
  41.     AMBIENT 1.0
  42.     DIFFUSE 0.0
  43.   END_TEXTURE
  44.   LIGHT_SOURCE
  45.   COLOUR White
  46. END_OBJECT
  47.  
  48. OBJECT
  49.   SPHERE <0.0 0.0 0.0> 3.0 END_SPHERE
  50.   TRANSLATE <-40.0 -40.0 35.0>
  51.   TEXTURE
  52.     COLOUR Grey
  53.     AMBIENT 1.0
  54.     DIFFUSE 0.0
  55.   END_TEXTURE
  56.   LIGHT_SOURCE
  57.   COLOUR Grey
  58. END_OBJECT
  59.  
  60.  
  61. COMPOSITE
  62.  
  63. {----------------------------- PARTE METALICA ----------------------}
  64. {                             (that metal part)                     }
  65. COMPOSITE
  66. OBJECT
  67.   UNION
  68.     QUADRIC Sphere SCALE < 4.0 4.0 1.5 > TRANSLATE <0.0 0.0 2.0 > END_QUADRIC
  69.     QUADRIC Sphere SCALE < 4.0 4.0 1.5 > TRANSLATE <0.0 0.0 1.0 > END_QUADRIC
  70.     QUADRIC Sphere SCALE < 4.0 4.0 1.5 > END_QUADRIC
  71.     QUADRIC Sphere SCALE < 4.0 4.0 1.5 > TRANSLATE <0.0 0.0 -1.0 > END_QUADRIC
  72.     QUADRIC Sphere SCALE < 4.0 4.0 1.5 > TRANSLATE <0.0 0.0 -2.0 > END_QUADRIC
  73.   END_UNION
  74.   TRANSLATE < 0.0 0.0 38.5 >
  75.   TEXTURE
  76.     COLOR Gold
  77.     REFLECTION 0.3
  78.   END_TEXTURE
  79. END_OBJECT
  80.  
  81. OBJECT
  82.   UNION
  83.     QUADRIC Sphere SCALE < 4.0 4.0 1.5 > TRANSLATE <0.0 0.0 2.0 > END_QUADRIC
  84.     QUADRIC Sphere SCALE < 4.0 4.0 1.5 > TRANSLATE <0.0 0.0 1.0 > END_QUADRIC
  85.     QUADRIC Sphere SCALE < 4.0 4.0 1.5 > END_QUADRIC
  86.     QUADRIC Sphere SCALE < 4.0 4.0 1.5 > TRANSLATE <0.0 0.0 -1.0 > END_QUADRIC
  87.     QUADRIC Sphere SCALE < 4.0 4.0 1.5 > TRANSLATE <0.0 0.0 -2.0 > END_QUADRIC
  88.   END_UNION
  89.   TRANSLATE < 0.0 0.0 30.5 >
  90.   TEXTURE
  91.     COLOR Gold
  92.     REFLECTION 0.3
  93.   END_TEXTURE
  94. END_OBJECT
  95.  
  96. OBJECT
  97.   INTERSECTION Z_Disk END_INTERSECTION
  98.   SCALE < 3.5 3.5 3.0 >
  99.   TRANSLATE < 0.0 0.0 34.0 >
  100.   TEXTURE
  101.     COLOR Brown
  102.     REFLECTION 0.25
  103.   END_TEXTURE
  104. END_OBJECT
  105.  
  106. BOUNDED_BY
  107.   SPHERE <0.0 0.0 34.0> 9.0 END_SPHERE
  108. END_BOUND
  109. END_COMPOSITE
  110.  
  111. {---------------------------------- BORRADOR ----------------------------}
  112. {                (the rubber eraser, from eraser-root plants)            }
  113.  
  114. COMPOSITE
  115.  OBJECT
  116.    INTERSECTION Z_Disk END_INTERSECTION
  117.    SCALE < 3.5 3.5 3.0 >
  118.    TRANSLATE < 0.0 0.0 41.0 >
  119.    TEXTURE
  120.     COLOR Pink
  121.    END_TEXTURE
  122.  END_OBJECT
  123.  OBJECT SPHERE < 0.0 0.0 44.0 > 3.5 END_SPHERE
  124.    TEXTURE
  125.     COLOR Pink
  126.    END_TEXTURE
  127.  END_OBJECT
  128. END_COMPOSITE
  129.  
  130. {---------------------------------- CUERPO DE MADERA ---------------------}
  131. {                                 (body of pencilwood)                    }
  132.  
  133. OBJECT
  134.   DIFFERENCE
  135.    INTERSECTION
  136.     PLANE < 0.0 1.0 0.0 > 3.031
  137.       TEXTURE PencilPaint END_TEXTURE
  138.       TEXTURE
  139.         IMAGEMAP < -1.0 0.0 1.0 > GIF "dkb211.gif"
  140.     ALPHA 0 1.0      { colour 0 is the "key" or transparent colour }
  141.     ONCE
  142.  
  143. { Now for the complicated image mapping:
  144.   Currently, the pencil is standing up in the Z axis:
  145.                    Z
  146.  
  147.              eraser  ^ *VP
  148.                      | |   
  149.                      | |
  150.                      | |----/ Y
  151.                      |     /
  152.                      |    /
  153.                      |   /
  154.                      |  /
  155.                      | /
  156.              point   |/
  157.                      -------------->
  158.                                    X
  159.  
  160.   We want the image to be mapped as follows (viewed from the +ve Y axis):
  161.  
  162.           Right
  163.           ---- z=28.0
  164.           |  |
  165.           |..|
  166.           |..|
  167.           |..|
  168.           |ee|
  169.           |ce|
  170.       Top |ar| Bottom
  171.           |rf|
  172.           |T |
  173.           | s|
  174.           |B'|
  175.           |Kt|
  176.           |DI|
  177.           ---- z=12.7
  178.           Left
  179.  
  180.           ^  ^
  181.           |  |
  182.     x=1.75   x=-1.75
  183.  
  184.  The image map above gives (viewed from the Y axis):
  185.  
  186.                    ^ Z
  187.           1,1 Right|
  188.              ------|
  189.              |     |
  190.              |     |
  191.          Top |     |Bottom
  192.              |     |
  193.              |     |
  194.          <----------
  195.           X   Left     
  196.  
  197.   Which is at least in the right orientation.
  198.  
  199.   Now, we must scale the image so the letters are the right size. }
  200.  
  201.          SCALE <15 1 15>  { Never use 0 for any scale value }
  202.  
  203. { Now, we align the top left of the picture to the proper point on the
  204.   pencil.  This is a bit tricky because the top left of the picture is now
  205.   at x=15 z=0.  We have to move it to about x=-12, z=12 because the letters
  206.   don't start at the very top of the image. }
  207.  
  208.          TRANSLATE <-12.20 0 12>
  209.  
  210. { As you may have guessed, this still took a lot of trial and error to get it
  211.   right, but some analysis of the picture before hand saved a lot of time. }
  212.  
  213.       END_TEXTURE
  214.     END_PLANE
  215.     PLANE < 0.0 1.0 0.0 > 3.031
  216.       ROTATE < 0.0 0.0 60.0 >
  217.       TEXTURE PencilPaint END_TEXTURE
  218.     END_PLANE
  219.     PLANE < 0.0 1.0 0.0 > 3.031
  220.       ROTATE < 0.0 0.0 120.0 >
  221.       TEXTURE PencilPaint END_TEXTURE
  222.     END_PLANE
  223.     PLANE < 0.0 1.0 0.0 > 3.031
  224.       ROTATE < 0.0 0.0 180.0 >
  225.       TEXTURE PencilPaint END_TEXTURE
  226.     END_PLANE
  227.     PLANE < 0.0 1.0 0.0 > 3.031
  228.       ROTATE < 0.0 0.0 240.0 >
  229.       TEXTURE PencilPaint END_TEXTURE
  230.     END_PLANE
  231.     PLANE < 0.0 1.0 0.0 > 3.031
  232.       ROTATE < 0.0 0.0 300.0 >
  233.       TEXTURE PencilPaint END_TEXTURE
  234.     END_PLANE
  235.     PLANE < 0.0 0.0 1.0 > 28.0 END_PLANE
  236.     PLANE < 0.0 0.0 1.0 > 3.629 INVERSE END_PLANE
  237.    END_INTERSECTION
  238.    QUADRIC Cone_Z INVERSE SCALE < 0.275558 0.275558 1.0 > END_QUADRIC
  239.   END_DIFFERENCE
  240.   TEXTURE
  241.     Pine_Wood
  242.     TURBULENCE 0.1
  243.     SCALE <1.5 1.5 1.5>
  244.     ROTATE <0.0 90.0 0.0>
  245.     TRANSLATE <30.0 0.0 0.0>
  246.   END_TEXTURE
  247. END_OBJECT
  248.  
  249. {---------------------------- PUNTA DE GRAFITO ------------------------------}
  250. {                            (point of graphite)                             }
  251.  
  252. OBJECT
  253.   INTERSECTION
  254.     QUADRIC Cone_Z SCALE < 0.275558 0.275558 1.0 > END_QUADRIC
  255.     PLANE < 0.0 0.0 1.0 > 3.629 END_PLANE
  256.     PLANE < 0.0 0.0 1.0 > 0.001 INVERSE END_PLANE
  257.   END_INTERSECTION
  258.   TEXTURE
  259.     COLOR Black
  260.     REFLECTION 0.25
  261.     PHONG 1.0
  262.     PHONGSIZE 20
  263.   END_TEXTURE
  264. END_OBJECT
  265.  
  266. ROTATE < 90.0 0.0 0.0 >
  267. TRANSLATE < 0.0 22.0 3.5 >
  268. END_COMPOSITE
  269.  
  270. {-------------------------- PLANO DE HORIZONTE --------------------------}
  271. {                           (plane of horizon)                           }
  272.  
  273. OBJECT
  274.   PLANE < 0.0 0.0 1.0 > 0.0 END_PLANE
  275.   TEXTURE
  276.     COLOR Green
  277.     REFLECTION 0.25
  278.   END_TEXTURE
  279. END_OBJECT
  280.