<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE TEI.2 SYSTEM "../shared/teilite/iathdoc.dtd" [
  <!ENTITY canvas SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/canvas.jpb" NDATA jpeg>
  <!ENTITY col2 SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/col2.3_ld.jpb" NDATA jpeg>
  <!ENTITY col4 SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/col4.5_ld.jpb" NDATA jpeg>
  <!ENTITY col6 SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/col6-10_ld.jpb" NDATA jpeg>
  <!ENTITY door SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/door.jpb" NDATA jpeg>
  <!ENTITY doorpanel SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/doorpanel.jpb" NDATA jpeg>
  <!ENTITY dust SYSTEM "http://www.iath.virginia.edu/london" NDATA html>
  <!ENTITY flag SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/flag.jpb" NDATA jpeg>
  <!ENTITY floorboard1 SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/floorboard1.jpb" NDATA jpeg>
  <!ENTITY floorboard2 SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/floorboard2.jpb" NDATA jpeg>
	<!ENTITY formz SYSTEM "http://www.formz.com/" NDATA html>
  <!ENTITY irongirder SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/irongirder_ld.jpb" NDATA jpeg>
  <!ENTITY no-triangulation SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/build_canvas_top_vw4.jpg" NDATA jpeg>
  <!ENTITY no-triangulation-rendered SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/canvas_formZ.jpg" NDATA jpeg>
  <!ENTITY roof SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/roof.jpg" NDATA jpeg>
  <!ENTITY roof2 SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/roof2.jpg" NDATA jpeg>
  <!ENTITY roofframe SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/roofframe_ld.jpb" NDATA jpeg>
  <!ENTITY roofglass SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/roofglass_ld.jpb" NDATA jpeg>
  <!ENTITY triangulation SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/build_canvas_tri_top_vw4.jpg" NDATA jpeg>
  <!ENTITY triangulation-rendered SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/canvas_formZ_tri.jpg" NDATA jpeg>
  <!ENTITY truss48 SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/48truss_ld.jpb" NDATA jpeg>
  <!ENTITY truss72 SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/72truss_ld.jpb" NDATA jpeg>
  <!ENTITY walledge SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/walledge.jpb" NDATA jpeg>
  <!ENTITY walledgesingle SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/walledgesingle.jpb" NDATA jpeg>
  <!ENTITY wallpanel SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/wallpanel.jpb" NDATA jpeg>
  <!ENTITY winpanel SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/winpanel.jpb" NDATA jpeg>
  <!ENTITY winpanelup SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/winpanelup.jpb" NDATA jpeg>
  <!ENTITY wood SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/wood_ld.jpb" NDATA jpeg>
  <!ENTITY woodcol SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/woodcol.jpb" NDATA jpeg>
  <!ENTITY woodcolup SYSTEM "http://jefferson.village.virginia.edu/~spw4s/CP/woodcolup.jpb" NDATA jpeg>
]>
<TEI.2> 
  <teiHeader> 
	 <fileDesc> 
		<titleStmt>
			<title>Crystal Palace Form&bull;Z model and Radiance
		  rendering documentation</title> 
			<author>Sarah Wells</author>
		</titleStmt>
		<publicationStmt>
			<date>2003</date>
			<publisher>IATH</publisher>
		  <pubPlace>University of Virginia</pubPlace>
		</publicationStmt>
		<sourceDesc> 
		  <p>original</p>
		</sourceDesc>
	 </fileDesc>
    <revisionDesc>
			<change><date value="2004-06-17">Thur, 17 June 03</date>
				<respStmt><name>Sarah Wells</name>
				<resp>tech writer</resp></respStmt>
				<item>fixed links to images</item>
			</change>
			<change><date value="2003-09-23">Tues, 23 Sept 03</date>
				<respStmt><name>Sarah Wells</name>
				<resp>tech writer</resp></respStmt>
				<item>finally finished the stupid style sheet to make everything display</item>
			</change>
			<change><date value="2003-07-25">Fri, 25 July 03</date>
				<respStmt><name>Sarah Wells</name>
				<resp>tech writer</resp></respStmt>
				<item>added Ying's 7/23 process notes</item>
			</change>
		</revisionDesc>
  </teiHeader> 
  <text> 
	 <body> 
		<div1 id="narrative"> 
		  <head n="1" id="I">Narrative</head>
		  <div2 id="proj-hist"> 
			 <head n="a" id="I.a">Project History</head>
			 <p>The IATH Crystal Palace model was created as part of
				Michael Levinson's <xref doc="dust">"Monuments and Dust"</xref>
				project. The original goal was to create a virtual model of the
				building that was inhabited with objects from the exhibition and
				linked to textual and illustrative discussions. While we still hope
				to do this, it has not yet proved feasible. After some reworking of
				the original goals, static and animated renderings of the building
				were produced by Chris Jessee. The digital model of the building was
				built in <xref doc="formz">Form&bull;Z</xref>, using scans of architect Joseph Paxton's
				contruction designs. </p>
			 <p>The model was intended to give users an idea of how the
				building was put together, what it looked like, and why it was a
				culturally and architecturally important feat. The Form&bull;Z
				pictures did accomplish this, but they were not as realistic as they
				might have been. The group intended to use Radiance to add better
				lighting effects, but time, staffing, and equipment restraints
				delayed the work. Form&bull;Z is a good tool for producing 3D
				geometry models, but it cannot reproduce the complex reflective and
				transmissive light that suffused the real Crystal Palace. The
				building had over a million feet of glass providing a vast source of
				light and heat for the more than 13,000 exhibits on display, so a
				good virtual model needs detailed lighting effects. We therefore
				decided to revisit the model with Radiance software, which renders
				much more realistic and effective lighting simulations. David Cosca
				and Chris had already developed a workflow model. Ying Yao was
				assigned the task of creating a Radiance model of the building, using
				Chris's works as her raw material.</p>
		  </div2>
		  <div2 id="building"> 
			 <head n="b" id="I.b">The building and the model</head>
			 <p><?xm-replace_text {p}?></p>
		  </div2>
		  <div2 id="symbols"> 
			 <head n="c" id="I.c">Building Symbols</head>
			 <p>The Crystal Palace was modular, built on grid of 24' x
				24' units. Paxton's revolutionary idea was to design an integrated
				system of basic parts that could quickly be manufactured by
				specialized, dedicated machinery and then assembled by a group of
				unskilled workers as each part arrives on the site. This industrial
				age model of efficiency is also used in modern 3D software tools.
				Form&bull;Z and Radiance both have a few primitive symbols (box,
				cone, sphere, etc.) that can be repeated millions of time to create
				large, complex designs. Paxton's design lends itself to digital
				modeling, since it relies on a set of frequently used small
				components that are assembled into a more complex whole.</p>
			 <p>The resulting model is in several .fmz binary files
				(.fmz is the Form&bull;Z proprietary file format). Form&bull;Z allows
				users to extract and save information in several other formats,
				however, so Ying was able to identify the small components (called
				symbols) and save them into .obj files (a text file format that
				describes the location of points and polygons in space). The .obj
				format can be used by Radiance and several other graphics
				applications.</p>
			 <div3 id="spec-concerns"> 
				<head n="1" id="I.c.1">Special concerns: grouping and triangulation</head>
				<p>When creating symbols from Form&bull;Z files, there
				  are several optional "Decomposition" settings that one can use to get
				  the proper information in the new .obj file. One concerns grouping,
				  which had to be set properly in order to preserve color assignments.
				  Another concerns triangulation and the depth of information about the
				  faces that make up an object's surface. The "Triangulate" option
				  decomposes each polygonal face on the surface into a collection of
				  triangles. The difference can be seen below in two different versions
				  of the canvas roof covering.</p>
				<p><figure id="fig1" n="1" entity="no-triangulation"> 
				  <figDesc>CP object without triangulation</figDesc>
				  </figure></p>
				<p><figure id="fig2" n="2" entity="triangulation"> 
				  <figDesc>CP object with triangulation</figDesc>
				  </figure></p>
				<p>The extra information is not always necessary and can
				  greatly increase the file size. However, it can be critical. Objects
				  with curved surfaces, such as the canvas, may not render correctly if
				  the surfaces are not adequately described, as shown below. To avoid
				  any later problems, we checked each symbol to see if it triangulation
				  was needed.</p>
				<p> 
				  <figure id="fig3" n="3" entity="no-triangulation-rendered"> 
				  <figDesc>Form&bull;Z-rendered canvas without
					 triangulation:</figDesc>
				  </figure></p>
				<p> 
				  <figure id="fig4" n="4" entity="triangulation-rendered"> 
				  <figDesc>Form&bull;Z-rendered canvas with
					 triangulation:</figDesc>
				  </figure></p>
			 </div3>
			 <div3 id="spec-cases"> 
				<head n="2" id="I.c.2">Special cases</head>
				<p>These symbols don't necessarily correspond to the
				  physical elements in the building: in some cases they are collections
				  of smaller elements. For example, door panels are made up of a door
				  and a vent panel and while it might seem reasonable to represent
				  these two elements as symbols in their own right, it is equally
				  reasonable to limit the number of symbols. So, striking a balance
				  between accuracy and convenience the entire panel is treated as a
				  single symbol. In some cases, it was simpler to avoid symbols
				  altogether and just create a single element, as in the two large
				  transcept windows.</p>
				<p>In the case of the largest parts of the building, the
				  roof and the floor, some some shortcuts had been required in the
				  Form&bull;Z model. Paxton's original design called for
				  greenhouse-like glass panels on the roof, to bring light and warmth
				  into the exhibit space. Almost 300,000 10" x 49" panes of glass were
				  laid out on a wooden framework, with gutters to drain off rain.</p>
				<p><figure id="fig5" n="5" entity="roof"> 
				  <figDesc>Crystal Palace roof</figDesc>
				  </figure></p>
				<p>Unfortunately, the plan worked too well, and the space
				  quickly became intolerable. The design was adjusted to include canvas
				  covers on the glass panels:</p>
				<p><figure id="fig6" n="6" entity="roof2"> 
				  <figDesc>Crystal Palace roof covered with
					 canvas</figDesc>
				  </figure></p>
				<p>Pieces of canvas stretched across the glass gables
				  diffused the light and gave shade. A seam along the trough between
				  the gables directed rain into the gutters. The revised roof was thus
				  composed of thousands of pieces of glass, a wooden framework, and
				  wooden gutters and entirely covered with canvas. Accurately modelling
				  this geometry in Form&bull;Z demanded far more memory and space than
				  were available. The shortcut was to build a "solid" roof of polygons
				  with texture mapping and coloring which approximate the actual
				  structure. However, the Radiance model needed an accurate roof if it
				  was to correctly model the light shining through fabric, glass, and
				  wood into the building. It therefore uses two symbols, a 24' piece of
				  roof and a 20' piece of roof that meets the gutter at the edge, that
				  can be used to determine proper lighting conditions inside the
				  building. </p>
				<p>Similarly, modelling the planks in the wooden floor in
				  Form&bull;Z would have taken far more time and space than available,
				  so it has a simple polygon floor. Radiance has four symbols of
				  varying image tiling patterns that can be laid out and repeated to
				  give the illusion of a plank floor.</p>
			 </div3>
		  </div2>
		  <div2 id="radiance"> 
			 <head n="d" id="I.d">About Radiance</head>
			 <p>Radiance is a Unix-based ray tracing software system
				that computes radiance values for a given scene and can be used to
				predict lighting levels and appearance in a space. Input values
				describe the surface geometry and materials of objects in the scene
				and the light sources in the space. The software calculates the light
				levels and renders an image. Outdoor light sources can be described
				according to time of day and latitude and longitude.</p>
			 <p>For more information on Radiance, please see the
				Radiance web site at
				&lt;http://radsite.lbl.gov/radiance/index.html&gt;.</p>
			 <div3 id="rad-convert"> 
				<head n="1" id="I.d.1">Converting to .rad files</head>
				<p>The .obj files then had to be converted into the
				  Radiance-compatible .rad format. Radiance provides a command-line
				  conversion program, called obj2rad, for converting .obj files to .rad
				  files. In most cases, this produced a satisfactory result. </p>
			 </div3>
			 <div3 id="rad-layout"> 
				<head n="2" id="I.d.2">Laying out and transforming scenes</head>
				<p>The .rad files could now be put together into scenes.
				  Radiance images are built of scenes, which are used to calculate
				  lighting intensity levels and reflection. Scenes contain objects,
				  whose surfaces are a certain color and texture, reflect and absorb a
				  certain amount of light, and occupy a given position in space. The
				  xform command-line tool builds and transforms objects to form a scene
				  (which will be in the .rad format). A scene may be created from one
				  or more rad files. Scenes are used to generate octree files that
				  describe the interaction of the compound surfaces (octree files are
				  binary data structures computed from one or more scene description
				  files).</p>
			 </div3>
			 <div3 id="rad-rendering"> 
				<head n="3" id="I.d.3">Rendering</head>
				<p>Radiance images were rendered with the rad command.
				  Ying used .rif files to render multiple images drawn from varying
				  combinations of scenes and materials. A .rif file can contain
				  commands, pointers to .rad files and library files, and parameter
				  values.</p>
				<p>The resulting .pic files show different parts of the
				  building from different angles. [need more information here about
				  this stuff]</p>
			 </div3>
		  </div2>
		</div1>
		<div1 id="notes"> 
		  <head n="2" id="II">Production Notes</head>
		  <!-- <div2 type="process"> 
			 <p>There could be a note for each object (each "symbol").
				This note would contain parameters for making the object (e.g.,
				extracting it from a Form&#149;Z file, special processing, Radiance
				instructions, etc.), links to jpg or pic views (top, bottom, right,
				left) of the object, and the object's obj file. The problem here is
				that there are lots of CP objects, so it will be time-consuming and
				irritating to write up a note for each one.</p>
			 <p>Alternatively, we could separate out the parameters, if
				it looks like we can summarize the process to a limited set of
				possible approaches for some objects (e.g., several objects were just
				extracted directly from Form&#149;Z, some needed to special treatment).
				While this approach may seem more efficient, it nay be complicated
				and actually take longer.</p>
			 <p>Either way, a &lt;link/&gt; can point to the images in
				the Image section. 
			 <link targets="module"/></p>
		  </div2> -->
		  <div2> 
			 <head n="a" id="II.a">Introduction</head>
			 <p>Radiance is a lighting simulation engine that calculates light levels and renders images. Rendering is the process of taking a description of a three-dimensional geometry and generating a two-dimensional image from a specific viewpoint. The input required for this simulation is a description of the geometry, material, and light sources of a scene's three-dimensional surfaces. Rendering an image requires additional specifications for the desired viewpoint, direction, and angles. In the following sections, we will discuss in detail the model and rendering of the Crystal Palace with the Radiance software. </p>
		  </div2>
		  <div2> 
				<head n="b" id="II.b">Scene Geometry</head>
				<div3> 
					<head n="1" id="II.b.1">Form&bull;Z Model</head>
					<p>Most parts of the Crystal Palace model were first built in Form&#149;Z, a three-dimensional form synthesizer software. These Form&#149;Z models can be exported and saved as .obj files.</p>
					<p>The following exporting options were used:</p>
					<p><table rows="8" cols="2">
						<row>
							<cell role="data" rend="label">Platform:</cell> 
							<cell role="data">MS-DOS</cell>
						</row>
						<row>
							<cell role="data" rend="label">Group Method:</cell>
							<cell role="data">By Color</cell>
						</row>
						<row>
							<cell role="data" rend="label">Export Method:</cell> 
							<cell role="data"></cell>
						</row>
						<row>
							<cell role="data" rend="label">Solid/Surfaces:</cell> 
							<cell role="data">Object</cell>
						</row>
						<row>
							<cell role="data" rend="label">Parametric Objects:</cell> 
							<cell role="data">Preserve Controls</cell>
						</row>
						<row>
							<cell role="data" rend="label">Export Visible Layers	Only:</cell>
							<cell role="data">checked</cell>
						</row>
						<row> 
							<cell role="data" rend="label">Transformation:</cell>
							<cell role="data">
								<table rows="2" cols="2" rend="border">
									<row>
										<cell role="data">Coordinate Systems:</cell>
										<cell role="data">Normals point outward: checked</cell>
									</row> 
									<row>
										<cell role="data">Scales:</cell>
										<cell role="data">X: 1.000 Y: 1.000 Z: 1.000</cell>
									</row> 
								</table>
							</cell>
						</row>
						<row>
							<cell role="data" rend="label">Decomposition:<note id="note1" n="1">The "decomposition" is done only when '_tri' is at the end of the file name.</note></cell> 
							<cell role="data">
								<table rows="2" cols="2" rend="border">
									<row>
										<cell role="data">Subdivide Concave Faces:</cell> 
										<cell role="data">checked</cell>
									</row>
									<row>
										<cell role="data">Triangulate Faces:</cell> 
										<cell role="data">checked</cell>
									</row>
									<row>
										<cell role="data">Triangulate Options:</cell>
										<cell role="data">Triangulate All faces: checked</cell>
									</row>
								</table>
							</cell>
						</row>
						<row> 
							<cell role="data" rend="label">Attributes:</cell>
							<cell role="data">
								<table rows="1" cols="2" rend="border">
									<row>
										<cell role="data">Preserve Face Color:</cell>
										<cell role="data">checked</cell>
									</row>
								</table>
							</cell>
						</row>
					</table></p>
			 	</div3>
			 	<div3> 
					<head n="2" id="II.b.2">File Conversion</head>
					<p>The .obj files must be converted to Radiance scene description .rad files. To do this, use the RAdiance obj2rad utility:</p>
					<p><formula notation="eg">obj2rad *.obj &gt;*.rad</formula></p>
			 	</div3>
		  </div2>
			<div2>
				<head n="c" id="II.c">Surface Materials</head>
				<p>Although the geometry model is important, it must be supplemented by a description of surface materials, which determine how the light interacts with the geometry. The master.mat file contains a description of all materials in the scene.</p>
				<p><table rows="1" cols="2">
					<row>
						<cell role="data" rend="label">master.mat:</cell> 
						<cell role="data">Defines the property of materials</cell>
					</row>
				</table></p>
			</div2>
			<div2>
				<head n="d" id="II.d">Light Simulation</head>
				<p>A scene will not be visible until at least one light source and a background are defined.</p>
				<p><table rows="2" cols="2">
					<row>
						<cell role="data" rend="label">sky.rad:</cell> 
						<cell role="data">Specifies the luminaries, time, date and sky conditions.</cell>
					</row>
					<row>
						<cell role="data" rend="label">outside.rad:</cell> 
						<cell role="data">Specifies the outside conditions.</cell>
					</row>
				</table></p>
			</div2>
			<div2>
				<head n="e" id="II.e">Rendering</head>
				<p>The actual renderings of Crystal Palace are divided into two groups. In the first group, the geometry can be directly exported from Form&#149;Z models, whereas in the second group, the geometry data files are generated using Radiance operations. In the following sections, we will discuss their rendering in detail.</p>
				<div3>
					<head n="1" id="II.e.1">Group I: geometry directly exported from Form&#149;Z models</head>
					<p>Most parts of the Crystal Palace geometry can be directly exported from the current Form&#149;Z models, these include ones made from Form&#149;Z symbols and ones from non-symbols. We will discuss them in the following sections.</p>
					<div4>
						<head n="a" id="II.e.1.a">Symbols</head>
						<p>Due to the repetitive nature of the Crystal Palace model, symbols were created in a Form&#149;Z library for the parts used in multiple locations. The following table shows the symbols exported from Form&#149;Z models, their corresponding Radiance scene description file names and whether or not triangulation was necessary on the symbols when exported from Form&#149;Z models. </p>
						<p>In addition, most of the symbols were created in only one quality setting, whereas a few other symbols were designed in multiple quality settings with the extension of '_ld', '_md' or '_hd' on the symbol name. Notice that for those with only one detail setting: even though they were saved in the file CP_low_detail.zlb, they were already close to the original building design with no need to add more details. For the symbols designed in multiple detail settings, the ones with high qualities were closest to the original building design, and the lower detail ones were created to reduce the size of exporting geometry. For the rendering of the Crystal Palace, the medium detail symbols were used if more than one version were available.</p>
						<p><table rows="2" cols="2">
						<row>
							<cell role="head" cols="2">Quality Setting</cell>
						</row>
						<row>
							<cell role="data" rend="label">LD:</cell> 
							<cell role="data">Low Detail</cell>
						</row>
						<row>
							<cell role="data" rend="label">MD:</cell> 
							<cell role="data">Medium Detail</cell>
						</row>
						<row>
							<cell role="data" rend="label">HD:</cell> 
							<cell role="data">High Detail</cell>
						</row>
						</table></p>
						<p><table rows="23" cols="3">
							<row>
								<cell role="head">LD Symbol Name (22)</cell> 
								<cell role="head">lib/(*.rad)</cell>
								<cell role="head">Triangulate?</cell>
							</row>
							<row>
								<cell role="data" rend="label">48truss_ld</cell> 
								<cell role="data">48truss_ld_tri.rad</cell>
								<cell role="data">Y</cell>
							</row>
							<row>
								<cell role="data" rend="label">72truss_ld</cell> 
								<cell role="data">72truss_ld_tri.rad</cell>
								<cell role="data">Y</cell>
							</row>
							<row>
								<cell role="data" rend="label">canvas</cell> 
								<cell role="data">canvas_tri.rad</cell>
								<cell role="data">Y</cell>
							</row>
							<row>
								<cell role="data" rend="label">col2.3_ld</cell> 
								<cell role="data">col2.3_ld.rad</cell>
								<cell role="data">N</cell>
							</row>
							<row>
								<cell role="data" rend="label">col4.5_ld</cell> 
								<cell role="data">col4.5_ld.rad</cell>
								<cell role="data">N</cell>
							</row>
							<row>
								<cell role="data" rend="label">col6-10_ld</cell> 
								<cell role="data">col6-10_ld.rad</cell>
								<cell role="data">N</cell>
							</row>
							<row>
								<cell role="data" rend="label">door</cell> 
								<cell role="data">door_tri.rad</cell>
								<cell role="data">Y</cell>
							</row>
							<row>
								<cell role="data" rend="label">doorpanel</cell> 
								<cell role="data">doorpanel_tri.rad</cell>
								<cell role="data">Y</cell>
							</row>
							<row>
								<cell role="data" rend="label">flag</cell> 
								<cell role="data">flag.rad</cell>
								<cell role="data">N</cell>
							</row>
							<row>
								<cell role="data" rend="label">floorboard1</cell> 
								<cell role="data">floorboard1.rad</cell>
								<cell role="data">N</cell>
							</row>
							<row>
								<cell role="data" rend="label">floorboard2</cell> 
								<cell role="data">floorboard2.rad</cell>
								<cell role="data">N</cell>
							</row>
							<row>
								<cell role="data" rend="label">irongirder_ld</cell> 
								<cell role="data">irongirder_ld_tri.rad</cell>
								<cell role="data">Y</cell>
							</row>
							<row>
								<cell role="data" rend="label">roofframe_ld</cell> 
								<cell role="data">roofframe_ld.rad</cell>
								<cell role="data">N</cell>
							</row>
							<row>
								<cell role="data" rend="label">roofglass_ld</cell> 
								<cell role="data">roofglass_ld.rad</cell>
								<cell role="data">N</cell>
							</row>
							<row>
								<cell role="data" rend="label">walledge</cell> 
								<cell role="data">walledge_tri.rad</cell>
								<cell role="data">Y</cell>
							</row>
							<row>
								<cell role="data" rend="label">walledgesingle</cell> 
								<cell role="data">walledgesingle_tri.rad</cell>
								<cell role="data">Y</cell>
							</row>
							<row>
								<cell role="data" rend="label">wallpanel</cell> 
								<cell role="data">wallpanel_tri.rad</cell>
								<cell role="data">Y</cell>
							</row>
							<row>
								<cell role="data" rend="label">winpanel</cell> 
								<cell role="data">winpanel_tri.rad</cell>
								<cell role="data">Y</cell>
							</row>
							<row>
								<cell role="data" rend="label">winpanelup</cell> 
								<cell role="data">winpanelup_tri.rad</cell>
								<cell role="data">Y</cell>
							</row>
							<row>
								<cell role="data" rend="label">wood_ld</cell> 
								<cell role="data">wood_ld_tri.rad</cell>
								<cell role="data">Y</cell>
							</row>
							<row>
								<cell role="data" rend="label">woodcol</cell> 
								<cell role="data">woodcol.rad</cell>
								<cell role="data">N</cell>
							</row>
							<row>
								<cell role="data" rend="label">woodcolup</cell> 
								<cell role="data">woodcolup.rad</cell>
								<cell role="data">N</cell>
							</row>
						</table></p>
						<p><table rows="5" cols="3">
							<row>
								<cell role="head">MD Symbol Name (4)</cell> 
								<cell role="head">lib/(*.rad)</cell>
								<cell role="head">Triangulate?</cell>
							</row>
							<row>
								<cell role="data" rend="label">col2.3_md</cell> 
								<cell role="data">col2.3_md.rad</cell>
								<cell role="data">N</cell>
							</row>
							<row>
								<cell role="data" rend="label">col4.5_md</cell> 
								<cell role="data">col4.5_md.rad</cell>
								<cell role="data">N</cell>
							</row>
							<row>
								<cell role="data" rend="label">col6-10_md</cell> 
								<cell role="data">col6-10_md.rad</cell>
								<cell role="data">N</cell>
							</row>
							<row>
								<cell role="data" rend="label">xbraceSmall_md</cell> 
								<cell role="data">xbraceSmall_md.rad</cell>
								<cell role="data">N</cell>
							</row>
						</table></p>
						<p><table rows="5" cols="3">
							<row>
								<cell role="head">HD Symbol Name (4)</cell> 
								<cell role="head">lib/(*.rad)</cell> 
								<cell role="head">Triangulate?</cell>
							</row>
							<row>
								<cell role="data" rend="label">col2.3_hd</cell> 
								<cell role="data">col2.3_hd.rad</cell>
								<cell role="data">N</cell>
							</row>
							<row>
								<cell role="data" rend="label">col4.5_hd</cell> 
								<cell role="data">col4.5_hd.rad</cell>
								<cell role="data">N</cell>
							</row>
							<row>
								<cell role="data" rend="label">col6-10_hd</cell> 
								<cell role="data">col6-10_hd.rad</cell>
								<cell role="data">N</cell>
							</row>
							<row>
								<cell role="data" rend="label">irongirder_hd</cell> 
								<cell role="data">irongirder_hd_tri.rad</cell>
								<cell role="data">Y</cell>
							</row>
						</table></p>
						<p>All symbols were rendered at four different views; namely, front view, right side view, back view, and top view. To avoid the confusion caused by light source, instead of changing the light source and viewing positions, the geometry of the objects were rotated by using the Radiance operation 'xform' as described below, and cameras are set facing to the south with the light source coming from the southwest. The time was set to be 2:30pm on May 1.</p>
						<div5>
							<head n="i" id="II.e.1.a.i">File name conventions for symbols</head>
							<p><table rows="8" cols="2">
								<row>
									<cell role="data" rend="label">Directory:</cell> 
									<cell role="data">view_symbol_ld/ (low detail symbols)
				           	<lb/>FRONT/
			  	         	<lb/>RIGHT/
       	  	       	<lb/>BACK/
  	     	         	<lb/>TOP/
										<lb/>
										<lb/>view_symbol_md_hd (medium detail and high detail symbols)
       		         	<lb/>FRONT/
       	  	       	<lb/>RIGHT/
       	    	     	<lb/>BACK/
       	      	   	<lb/>TOP/
									</cell>
								</row>
								<row>
									<cell role="data" rend="label">Radiance input file:</cell> 
									<cell role="data">master_{symbolname}_viewlabel.rif</cell>
								</row>
								<row>
									<cell role="data" rend="label">Octree file:</cell> 
									<cell role="data">build_{symbolname}(_tri)_viewlabel.oct</cell>
								</row>
								<row>
									<cell role="data" rend="label">Image file:</cell> 
									<cell role="data">pics/build_{symbolname}(_tri)_viewlabel_vw#.pic</cell>
								</row>
								<row>
									<cell role="data" rend="label">Smaller image file to fit screen:</cell>
									<cell role="data">pics/smallpics/build_{symbolname}(_tri)_viewlabel_vw#_small.pic</cell>
								</row>
								<row>
									<cell role="data" rend="label">PostScript file of the smaller image:</cell> 
									<cell role="data">pics/smallpics/ps/build_{symbolname}(_tri)_viewlabel_vw#_small.ps</cell>
								</row>
								<row>
									<cell role="data" rend="label">Progress Report:</cell> 
									<cell role="data">REPORT/progress_{symbolname}(_tri)_viewlabel.txt</cell>
								</row>
								<row>
									<cell role="data" cols="2">(Optional standard output: REPORT/out_{symbolname}_viewlabel.txt)</cell>
								</row>
							</table></p>
						</div5>
						<div5>
							<head n="ii" id="II.e.1.a.ii">Rendering</head>
							<p>'Rad' is an executive program that reads the given rfile (.rif file) and makes appropriate calls to oconv and pfilt to render a specific scene. Variables in rfile give input files and qualitative information about the rendering desired that together enable 'rad' to intelligently set parameter values and control the simulation.</p>
							<p>Command to render image:</p>
							<p><formula notation="eg">nice rad master_{symbolname}(_tri)_viewlabel.rif &amp;</formula></p>
							<p>OR</p>
							<p><formula notation="eg">nice rad master_{symbolname}(_tri)_viewlabel.rif >&amp;out_{symbolname}_viewlabel.txt&amp;</formula></p>
							<p>Note that (_tri) is needed only if the triangulation was done on the symbol.</p>
							<p><table rows="1" cols="2">
								<row>
									<cell role="data" rend="label">View file:</cell>
									<cell role="data">{symbolname}_vw#.vf
										<lb/>(viewlabel can be: front, right, back, top;
										<lb/>vw# can be: vw1 (front), vw2 (right), vw3 (back), vw4 (top).)
									</cell>
								</row>
							</table></p>
							<p>To view different sides of the symbol:</p>
							<p><table rows="5" cols="4">
								<row>
									<cell role="head">View of object</cell>
									<cell role="head">Xform</cell>
									<cell role="head">Radiance Description File</cell>
									<cell role="head">View File</cell>
								</row>
								<row>
									<cell role="data">Front</cell>
									<cell role="data">none</cell>
									<cell role="data">{symbolname}(_tri)_front.rad</cell>
									<cell role="data">{symbolname}_vw1.vf</cell>
								</row>
								<row>
									<cell role="data">Right</cell>
									<cell role="data">rz -90</cell>
									<cell role="data">{symbolname}(_tri)_right.rad</cell>
									<cell role="data">{symbolname}_vw2.vf</cell>
								</row>
								<row>
									<cell role="data">Back</cell>
									<cell role="data">rz 180</cell>
									<cell role="data">{symbolname}(_tri)_back.rad</cell>
									<cell role="data">{symbolname}_vw3.vf</cell>
								</row>
								<row>
									<cell role="data">Top</cell>
									<cell role="data">rx 90</cell>
									<cell role="data">{symbolname}(_tri)_top.rad</cell>
									<cell role="data">{symbolname}_vw4.vf</cell>
								</row>
							</table></p>	
							<p>Command:</p>
							<p><formula notation="eg">cd ~/view_symbol_ld/FRONT/ 
nice rad master_{symbolname}_front.rif >&amp;REPORT/out_{symbolname}_front_vw1.txt
cd ~/view_symbol_ld/RIGHT/
nice rad master_{symbolname}_right.rif >&amp;REPORT/out_{symbolname}_right_vw2.txt
cd ~/view_symbol_ld/BACK/
nice rad master_{symbolname}_back.rif >&amp;REPORT/out_{symbolname}_back_vw3.txt
cd ~/view_symbol_ld/TOP/
nice rad master_{symbolname}_top.rif >&amp;REPORT/out_{symbolname}_top_vw4.txt</formula></p>					
							<p>Output images:</p>
							<p><table rows="4" cols="2">
								<row>
									<cell role="data" rend="label">Front view: </cell>
									<cell role="data">build_{symbolname}(_tri)_front_vw1.pic</cell>
								</row>
								<row>
									<cell role="data" rend="label">Right view: </cell>
									<cell role="data">build_{symbolname}(_tri)_right_vw2.pic</cell>
								</row>
								<row>
									<cell role="data" rend="label">Back view: </cell>
									<cell role="data">build_{symbolname}(_tri)_back_vw3.pic</cell>
								</row>
								<row>
									<cell role="data" rend="label">Top	view: </cell>
									<cell role="data">build_{symbolname}(_tri)_top_vw4.pic</cell>
								</row>
							</table></p>
						</div5>
						<div5>
							<head n="iii" id="II.e.1.a.iii">Shell scripts to view different sides of a symbol</head>
							<p>As mentioned earlier, to render an image, additional information for viewpoint, direction and angles is desired. This information is stored inside of view .vf files. Due to the large number of symbols and similarity of the operations on the symbols, some Perl and shell scripts are created to automate the generation of Radiance input (.rif) and geometry description (.rad) files and semi-automate the generations of the view (.vf) files. However, the file naming conventions should be followed in order to use the scripts and consequently the files generated by the scripts.</p>
							<p>Specifically, once the Radiance input files (e.g. master_{symbolname}_front.rif) are created for the "Front View" of the symbols, the .rif files for the other views of the objects can be generated using the Perl scripts listed in the following table. However, for the different view (.vf) files, contents may vary. Specifically, the "gen_vf_viewlabel.pl" is only to copy and rename the {symbolname}_vw1.vf in the corresponding view directory, and the contents of the new view file might have to be edited when necessary. For example, to view the top of the object: first of all, the object will be rotated 90 degrees around the x-axis; secondly, if the objects are not symmetric about x-axis, the viewpoints may need to be translated, in other words, the contents of the new view (.vf) file will be changed. Similarly, to view the right side of the object, the viewpoints would most likely be changed when the object is not symmetric about the z-axis.</p>
							<div6>
								<head n="a" id="II.e.1.a.iii.a">Command usage</head>
								<p><table rows="7" cols="5">
									<row>
										<cell role="head">Command</cell>
										<cell role="head">Directory</cell>
										<cell role="head">Generate .rif file</cell>
										<cell role="head">Rename .vf file only</cell>
										<cell role="head">Generate .rad file</cell>
									</row>
									<row>
										<cell role="data" rend="label">cd ~/view_symbol_ld/</cell>
										<cell role="data">RIGHT</cell>
										<cell role="data">gen_rif_right.pl</cell>
										<cell role="data">gen_vf_right.pl</cell>
										<cell role="data">lib/Conv_right</cell>
									</row>
									<row>
										<cell role="data"></cell>
										<cell role="data">BACK</cell>
										<cell role="data">gen_rif_back.pl</cell>
										<cell role="data">gen_vf_back.pl</cell>
										<cell role="data">lib/Conv_back</cell>
									</row>
									<row>
										<cell role="data"></cell>
										<cell role="data">TOP</cell>
										<cell role="data">gen_rif_top.pl</cell>
										<cell role="data">lib/Conv_top</cell>
										<cell role="data">gen_vf_top.pl</cell>
									</row>
									<row>
										<cell role="data" rend="label">cd ~/view_symbol_md_hd/</cell>
										<cell role="data">RIGHT</cell>
										<cell role="data">gen_rif_right_md_hd.pl</cell>
										<cell role="data">gen_vf_right_md_hd.pl</cell>
										<cell role="data">lib/Conv_right</cell>
									</row>
									<row>
										<cell role="data"></cell>
										<cell role="data">BACK</cell>
										<cell role="data">gen_rif_back_md_hd.pl</cell>
										<cell role="data">gen_vf_back_md_hd.pl</cell>
										<cell role="data">lib/Conv_back</cell>
									</row>
									<row>
										<cell role="data"></cell>
										<cell role="data">TOP</cell>
										<cell role="data">gen_rif_top_md_hd.pl</cell>
										<cell role="data">gen_vf_top_md_hd.pl</cell>
										<cell role="data">lib/Conv_top</cell>
									</row>
								</table></p>	
								<p><list type="roman">
									<item><name>To render one symbol:</name>
										<p>Here is an example listing a series of commands to use.
<formula notation="eg">cd ~/view_symbol_ld/FRONT
emacs master_{symbolname}_front.rif
emacs {symbolname}_vw1.vf</formula>
(lib/{symbolname}_front.rad should already be converted by 'obj2rad' after .obj file is exported from Form&#149;Z model.)
<formula notation="eg">cd ~/view_symbol_ld/TOP
gen_rif_top.pl</formula> (master_{symbolname}_right.rif will be created and ready to use)
<formula notation="eg">gen_vf_top.pl</formula>
({symbolname}_vw4.vf will be created; however, the content may need to be changed when necessary.)
<formula notation="eg">lib/Conv_top</formula>
({symbolname}_top.rad will be created and ready to use)</p></item>
									<item><name>To render multiple symbols:</name>
										<p>To render a series of the symbols in a particular view, use the following shell scripts, respectively. After the output .pic images are created, the Perl script (~/bin/gen_small_ps.pl) can then be used to reduce the size of the images and then convert the smaller .pic files into the printable PostScript .ps files. (The subdirectories /smallpics and /smallpics/ps should already be created in the pics/ directory).
<formula notation="eg">cd ~/view_symbol_ld/FRONT/
task_front &amp;
cd pics/
~/bin/gen_small_ps.pl
	   
cd ~/view_symbol_ld/RIGHT/
task_right &amp;
cd pics/	   
~/bin/gen_small_ps.pl

cd ~/view_symbol_ld/BACK/
task_back &amp;
cd pics/      
~/bin/gen_small_ps.pl

cd ~/view_symbol_ld/TOP/
task_top &amp;
cd pics/       
~/bin/gen_small_ps.pl

cd ~/view_symbol_md_hd/FRONT/
task_front &amp;
~/bin/gen_small_ps.pl

cd ~/view_symbol_md_hd/RIGHT/
task_right &amp;
cd pics/  
~/bin/gen_small_ps.pl

cd ~/view_symbol_md_hd/BACK/
task_back &amp;
cd pics/   
~/bin/gen_small_ps.pl

cd ~/view_symbol_md_hd/TOP/
task_top &amp;
cd pics/
~/bin/gen_small_ps.pl</formula></p></item>
								</list></p>
							</div6>
						</div5>
					</div4>
					<div4>
						<head n="b" id="II.e.1.b">Non-symbols</head>
						<p>For other parts of Crystal Palace that are not composed of symbols in the Form&#149;Z library, the parts are selected and saved as .obj files from Form&#149;Z.</p>
						<p>Notes:</p>
						<p>When exporting from Form&#149;Z, the Guides Layer should not be exported as structure; it was created for design purposes. The following table lists the layers exported from the Form&#149;Z models, their corresponding Radiance data files, and if the triangulation was done. In addition, the floor and canvas sections listed in this table were directly exported from Form&#149;Z models; they need to be re-designed as discussed later.</p>
						<p><table rows="" cols="4">
							<row>
								<cell role="head">Object Name:</cell>
								<cell role="head">lib/(*.rad)</cell>
								<cell role="head">Triangulate?</cell>
								<cell role="head">Notes</cell>
							</row>
							<row>
								<cell role="data" cols="4" rend="label">Transcept: (transbuild.8.fmz)</cell>
							</row>
							<row>
								<cell role="data">trans_tbody</cell>
								<cell role="data">trans_tbody.rad</cell>
								<cell role="data">N</cell>
								<cell role="data">style_5 is "white" defined in master_new.mat</cell>
							</row>
							<row>
								<cell role="data">trans_arch</cell>
								<cell role="data">trans_arch_tri.rad</cell>
								<cell role="data">Y</cell>
								<cell role="data"></cell>
							</row>
							<row>
								<cell role="data">trans_leadflats</cell>
								<cell role="data">trans_leadflats.rad</cell>
								<cell role="data">Y</cell>
								<cell role="data">If not triangulated, the result is not correct. <lb/>Extra: bottom_view is done.</cell>
							</row>
							<row>
								<cell role="data" cols="4" rend="label">Arch: (transbuild.8.fmz)</cell>
							</row>
							<row>
								<cell role="data">arch_fins</cell>
								<cell role="data">arch_fins_tri_front.rad</cell>
								<cell role="data">Y</cell>
								<cell role="data"></cell>
							</row>
							<row>
								<cell role="data">arch_glass</cell>
								<cell role="data">arch_glass_tri_front.rad</cell>
								<cell role="data">Y</cell>
								<cell role="data"></cell>
							</row>
							<row>
								<cell role="data">arch_grillwork</cell>
								<cell role="data">arch_grillwork_tri_front.rad</cell>
								<cell role="data">Y</cell>
								<cell role="data"></cell>
							</row>
							<row>
								<cell role="data">arch_medalion_back</cell>
								<cell role="data">arch_medalion_back_tri_front.rad</cell>
								<cell role="data">Y</cell>
								<cell role="data"></cell>
							</row>
							<row>
								<cell role="data">arch_medalion</cell>
								<cell role="data">arch_medalion_tri_front.rad</cell>
								<cell role="data">Y</cell>
								<cell role="data"></cell>
							</row>
							<row>
								<cell role="data">archface_blue</cell>
								<cell role="data">archface_blue_tri_front.rad</cell>
								<cell role="data">Y</cell>
								<cell role="data"></cell>
							</row>
							<row>
								<cell role="data">archface_white</cell>
								<cell role="data">archface_white_tri_front.rad</cell>
								<cell role="data">Y</cell>
								<cell role="data"></cell>
							</row>
							<row>
								<cell role="data" cols="4" rend="label">Galleries: (galleries.fmz)</cell>
							</row>
							<row>
								<cell role="data">floor_underfloor</cell>
								<cell role="data">floor_underfloor.rad</cell>
								<cell role="data">N</cell>
								<cell role="data">Different color for top surface and bottom surface. Top surface is currently defined as white, needs to be re-defined.</cell>
							</row>
							<row>
								<cell role="data">joist_rail_grill</cell>
								<cell role="data">joist_rail_grill.rad</cell>
								<cell role="data">N</cell>
								<cell role="data"></cell>
							</row>
							<row>
								<cell role="data">longjoist</cell>
								<cell role="data">longjoist.rad</cell>
								<cell role="data">N</cell>
								<cell role="data"></cell>
							</row>
							<row>
								<cell role="data">stairs_rail</cell>
								<cell role="data">stairs_rail.rad</cell>
								<cell role="data">N</cell>
								<cell role="data"></cell>
							</row>
							<row>
								<cell role="data">transjoist_strut</cell>
								<cell role="data">transjoist_strut.rad</cell>
								<cell role="data">N</cell>
								<cell role="data"></cell>
							</row>
							<row>
								<cell role="data" cols="4" rend="label">Roof: (roofSetup.5.fmz)</cell>
							</row>
							<row>
								<cell role="data">roofW<note id="note2" n="2">Optional.</note></cell>
								<cell role="data">roof_w.rad</cell>
								<cell role="data">N</cell>
								<cell role="data">construction3 is "white" defined in master_new.mat)</cell>
							</row>
							<row>
								<cell role="data">canvasE</cell>
								<cell role="data">canvasE.rad</cell>
								<cell role="data">N</cell>
								<cell role="data"></cell>
							</row>
							<row>
								<cell role="data">roofElow_mpGuttersE_endcapsE6E7</cell>
								<cell role="data">roofElow_mpGuttersE_endcapsE6E7.rad</cell>
								<cell role="data">N</cell>
								<cell role="data">construction3 is "white" defined in master_new.mat</cell>
							</row>
							<row>
								<cell role="data">roofElow</cell>
								<cell role="data">roofElow.rad</cell>
								<cell role="data">N</cell>
								<cell role="data"></cell>
							</row>
							<row>
								<cell role="data" cols="4" rend="label">trimandflag: (trimandflag.fmz)</cell>
							</row>
							<row>
								<cell role="data">trim</cell>
								<cell role="data">trim</cell>
								<cell role="data">Y</cell>
								<cell role="data"></cell>
							</row>
							<row>
								<cell role="data">flag</cell>
								<cell role="data">flag</cell>
								<cell role="data">N</cell>
								<cell role="data"></cell>
							</row>
						</table></p>
						<div5>
							<head n="i" id="II.e.1.b.i">Notes for non-symbols</head>
							<p>For Galleries and Roof sections, they are not made of symbols from the symbol library; their parts are selected so that the different types of objects from Crystal Palace (include geometry and material) are all covered. The names of objects are all illustrative, showing which layers are included.</p>
							<div6>
								<head n="a" id="II.e.1.b.i.a">Galleries</head>
								<p><table rows="" cols="2">
									<row>
										<cell role="data" rend="label">floor_underfloor:</cell>
										<cell role="data">includes floor and underfloor.</cell>
									</row>
									<row>
										<cell></cell>
										<cell role="data">The reason of separating into two geometries is due to the fact that there are two different colors for the top and bottom sides of floors, respectively. Note that the top floor is defined as "white"; and it needs to be redefined. It is currently redefined as "floor" in master_new.mat.</cell>
									</row>
									<row>
										<cell role="data" rend="label">joist_rail_grill:</cell>
										<cell role="data">includes joist, rail and grill layers.</cell>
									</row>
									<row>
										<cell role="data" rend="label">longjoist:</cell>
										<cell role="data">includes longjoist layer.</cell>
									</row>
									<row>
										<cell role="data" rend="label">stairs_rail:</cell>
										<cell role="data">includes the stairs with rail.</cell>
									</row>
									<row>
										<cell role="data" rend="label">transjoist_strut:</cell>
										<cell role="data">includes transjoist and strut layers.</cell>
									</row>
								</table></p>
							</div6>
							<div6>
								<head n="b" id="II.e.1.b.i.b">Roof</head>
								<p>Different roof and endcaps layers are made from the same geometry and material, only the sizes and locations are different. Thus, the selected "roofElow_mpGuttersE_endcapsE6E7.rad" covers the following layers: </p>
								<list type="unnumbered">
									<item>roofElow</item>
									<item>mGutters<note id="note3" n="3">The mGutters layers were cut in order to be the same length with other parts. Also, the canvas layer and roof layer (made of glass) are rendered separately.</note></item>
									<item>pGutters</item>
									<item>endcapsE6</item>
									<item>endcapsE7</item>
								</list>
							</div6>
							<div6>
								<head n="c" id="II.e.1.b.i.c">Canvas</head>
								<p>The canvas in the symbol library has holes in the middle, and it is the correct one.</p>
								<p>The canvas in the Form&#149;Z model roofSetup.5.fmz has no holes in the middle. When rendering under the previous software, the initial intention is to avoid the big computational burden due to the large number of holes, and add the holes later using image mapping method. Thus, we need to substitute the canvas by the ones in the symbol library to render.</p>
							</div6>
							<div6>
								<head n="d" id="II.e.1.b.i.d">Trimandflag</head>
								<p>There are only six layers to be exported from this Form&#149;Z file; namely, flagsW, flagsC, flagsE, walledgeW, walledgeC, walledgeE; other layer groups (west, east, center) are for the purpose of designing, i.e. finding alignment.</p>
							</div6>
						</div5>
						<div5>
							<head n="ii" id="II.e.1.b.ii">File name conventions for non-symbols</head>
							<p><table rows="7" cols="2">
								<row>
									<cell role="data" rend="label">Directory:</cell> 
									<cell role="data">view_nonsymbol/
			           		<lb/>FRONT/
				           	<lb/>RIGHT/
  	     	         	<lb/>BACK/
    	   	         	<lb/>TOP/
									</cell>
								</row>
								<row>
									<cell role="data" rend="label">Radiance input file:</cell> 
									<cell role="data">master_{nonsymbolname}(_tri)_viewlabel.rif</cell>
								</row>
								<row>
									<cell role="data" rend="label">Octree file:</cell> 
									<cell role="data">build_{nonsymbolname}(_tri)_viewlabel.oct</cell>
								</row>
								<row>
									<cell role="data" rend="label">Image file:</cell> 
									<cell role="data">pics/build_{nonsymbolname}(_tri)_viewlabel_vw#.pic</cell>
								</row>
								<row>
									<cell role="data" rend="label">Smaller image file to fit screen:</cell> 
									<cell role="data">pics/smallpics/build_{nonsymbolname}(_tri)_viewlabel_vw#_small.pic</cell>
								</row>
								<row>
									<cell role="data" rend="label">Progress Report:</cell> 
									<cell role="data">Report/out_{nonsymbolname}(_tri)__viewlabel.txt</cell>
								</row>
								<row>
									<cell role="data" cols="2">(Optional standard output: Report/out_{nonsymbolname}(_tri)_viewlabel.txt)</cell>
								</row>
							</table></p>
							<p>Note that (_tri) is added if the triangulation was done on the geometry.</p>
						</div5>
					</div4>
				</div3>
				<div3>
					<head n="2" id="II.e.2">Group II: Other parts of the Crystal Palace that cannot be exported from Form&#149;Z models</head>
					<p>In the current Form&#149;Z model for Crystal Palace, canvas of the roof, floor and trees are not available for direct exporting. We will discuss them in the following sections.</p>
					<div4>
						<head n="a" id="II.e.2.a">Canvas</head>
						<p>Each piece of canvas has holes in the middle so that the rain could drop into the underneath gutter. However, the holes add very large amount of geometry due to the size of the roof; it would be impossible to export the canvas geometry from the Form&#149;Z model. Thus, the middle holes were eliminated in the canvas layer in the original Form&#149;Z model RoofSetup5.fmz.</p>
						<p>The canvas designed in the symbol library is the correct version. The canvas symbol can be replicated according to the locations outlined in the canvas layer in the RoofSetup5.fmz.</p>
						<p>In the actual canvas, each 288" long canvas piece is placed one after another above each section of roof, with the exceptions that the left and the right ends of a canvas piece are cut short by 48" in length respectively to meet the corresponding end cap of the roof. As a result, four pieces of canvas with different lengths are created. </p>
						<p><table rows="4" cols="2">
							<row>
								<cell role="data" rend="label">canvas_tri_front.rad:</cell>
								<cell role="data">288" long, it can be directly exported from Form&#149;Z library.</cell>
							</row>
							<row>
								<cell role="data" rend="label">canvas_ld_leftend.rad:</cell>
								<cell role="data">240" long, it is obtained by cutting off the 48" portion of the left side of geometry in canvas_tri_front.fmz, and then exported from Form&#149;Z.</cell>
							</row>
							<row>
								<cell role="data" rend="label">canvas_ld_middle.rad:</cell>
								<cell role="data">192" long, it is obtained by cutting off the 48" portion of both left and right sides of geometry in canvas_tri_front.fmz, and then exported from Form&#149;Z.</cell>
							</row>
							<row>
								<cell role="data" rend="label">canvas_ld_rightend.rad:</cell>
								<cell role="data">240" long, it is obtained by cutting off the 48" portion of the right side of geometry in canvas_tri_front.fmz, and then exported from Form&#149;Z.</cell>
							</row>
						</table></p>
						<p>The canvas sections listed below were created by transformations of the above pre-defined Radiance geometry files for canvas symbols. They are dynamically generated when creating the octree using calls to 'xform' within files to reduce the number of scene files and to dramatically reduce the file sizes.</p>
						<p>(l: stands for left; m stands for middle; r: stands for right.)
						<list type="unnumbered">
							<item>canvas_E1_l</item>
							<item>canvas_E1_m</item>
							<item>canvas_E1_r</item>
							<item>canvas_E2_center_l</item>
							<item>canvas_E2_center_r</item>
							<item>canvas_E3_center_l</item>
							<item>canvas_E3_center_r</item>
							<item>canvas_E4_center_l</item>
							<item>canvas_E4_center_r</item>
							<item>canvas_E5_l</item>
							<item>canvas_E5_m</item>
							<item>canvas_E5_r</item>
							<item>canvas_W2_center_l</item>
							<item>canvas_W2_center_r</item>
							<item>canvas_W3_center_l</item>
							<item>canvas_W3_center_r</item>
							<item>canvas_W4_center_l</item>
							<item>canvas_W4_center_r</item>
							<item>canvas_W6_l</item>
							<item>canvas_W6_m</item>
							<item>canvas_W6_r</item>
							<item>canvas_W7_l</item>
							<item>canvas_W7_m</item>
							<item>canvas_W7_r</item>
							<item>canvas_W9E9_center</item>
						</list></p>
					</div4>
					<div4>
						<head n="b" id="II.e.2.b">Floor</head>
						<p>The floor of Crystal Palace was made of wooden strips. Radiance provides a color data function, called colorpict, which can be used to map a picture onto a surface. It enables rendered or scanned pictures to be mapped to objects within the scene. Thus, we decide to create some pictures with wood grain strips, and map each picture to a polygon. Four different pictures are created and mapped onto four polygons separately; and they are tiled one by one to create more random pattern appearance. </p>
						<p>The image-mapped floors of Crystal Palace and their corresponding Radiance geometry description files are listed below.</p>
						<p><table rows="3" cols="2">
							<row>
								<cell role="data" rend="label">First floor:</cell>
								<cell role="data">design_center_1floor.rad
									<lb/>design_east_1floor.rad
									<lb/>design_west_1floor.rad</cell>
							</row>
							<row>
								<cell role="data" rend="label">Second floor:</cell>
								<cell role="data">design_galleriesC_2floor_all.rad
									<lb/>design_galleriesE_2floor.rad 
									<lb/>design_galleriesW_2floor.rad</cell>
							</row>
							<row>
								<cell role="data" rend="label">Landing floor in gallery:</cell>
								<cell role="data">design_galleriesC_landingfloor.rad
									<lb/>design_galleriesE_landingfloor.rad
									<lb/>design_galleriesW_landingfloor.rad</cell>
							</row>
						</table></p>
						<div5>
							<head n="i" id="II.e.2.b.i">Instance</head>
							<p>When designing floor of the Crystal Palace, scene description files contain many surface primitives derived from Radiance "instance". An instance is defined in terms of a Radiance octree (.oct file), which contains any number of surfaces confined to a region of space. Multiple occurrences of the same octree in a given scene will use only as much memory as that required for a single instance, plus some small amount of additional memory to store the associated transformations for each instance's location. Thus, this mechanism is widely used in designing the floor due to the repetitive nature of the floor patterns. </p>
							<p>As mentioned earlier, a special implementation of color data, called colorpict, can be used to map Radiance picture files to material surfaces. The primitive colorpict uses a two dimensional image stored in Radiance picture format to produce a colored picture. The dimensions of the picture is normalized so that the smaller dimension is always one unit in length and the other dimension being the ratio between the larger and the smaller. The colorpict type normally uses a predefined function called picture.cal. The function file always maps the new picture pattern in the xy plane with its origin at (0,0,0). Assuming that the z-axis is up, it is as though the picture were placed on the floor facing upward. Thus usually the picture must be rotated, transformed and scaled. Moreover, the picture remains invisible until it is placed on a canvas. Once the canvas and the picture have been merged together, the artwork can be located in a file and placed anywhere in the scene by using 'xform'.</p>
							<p>The following is a complete example demonstrating how to create an instance, how to reference it, and finally how to include it in the Radiance input file. Pay special attention on declarations of the relative file paths.</p>
							<p>File #1:<formula notation="eg">lib/floor/tile1.pic

# It is the Radiance picture file to be mapped on a piece of floor.</formula></p>

							<p>File #2:<formula notation="eg">lib/floor/one_x288_y_288_tile1.rad

# This file is to show how to map a Radiance picture file to a defined 
geometry, # which is 288x288 square in this case.

void plastic titanium_white_canvas
0
0
5 .9 .9 .9 0 0

void colorpict image_data_1
15 clip_r clip_g clip_b lib/floor/tile1.pic picture.cal pic_u pic_v  -rz 90 -t 1 0 0 -s 288
0
0

image_data_1 alias art_location_1 titanium_white_canvas

art_location_1 polygon art_floor_1
0
0
12 288  0       0
   288  288     0
   0    288     0
   0    0       0</formula></p>

							<p>File #3:<formula notation="eg">create_floor_oct

# This file is to show how to create an instance defined by Radiance octree 
# (.oct file).

oconv lib/floor/one_x288_y288_tile1.rad >lib/floor/one_x288_y288_tile1.oct</formula></p>

							<p>File #4:<formula notation="eg">lib/floor/one_x288_y288_tile1.ins

# This file contains the actual Radiance instance.

void instance art_work_tile1
1 lib/floor/one_x288_y288_tile1.oct 
0
0</formula></p>

							<p>File #5:<formula notation="eg">lib/floor/design_center_1floor_tiles.rad

# This file is to put the instance in the desired location inside of the scene.

!xform -t 9216 288 0 -a 3 -t 1152 0 0 -a 18 -t 0 288 0 lib/floor/one_x288_y288_tile1.ins</formula></p>

							<p>File #6:<formula notation="eg">master_CP_center_front_2880.rif

# This file is to show how to include the instance inside of the Radiance input 
# .rif file.

scene= lib/floor/design_center_1floor_tiles.rad</formula></p>
						</div5>
					</div4>
					<div4>
						<head n="c" id="II.e.2.c">Trees</head>
						<p>There are two trees in the central section of Crystal Palace.
						<list type="roman">
							<item><name>One tree geometry:</name>
								<p>To get the Radiance geometry description file, export Elm1.fmz and save as .obj file without triangulation, and convert the .obj file to .rad file by using the following: <formula notation="eg">obj2rad elm1.obj &gt;elm1.rad</formula></p>
								<p>elm1.rad: Radiance data file of tree geometry exported from Form&#149;Z.</p>
							</item>
							<item><name>Material definition:</name>
								<p>master_tree.mat: Defines the color and material properties of different parts of a tree. In Radiance, a color property is defined by the following numbers: red, green, blue, specularity, and roughness.</p>
								<p>To find the numbers for red, green and blue: </p>
								<p>Open Elm1.dxf (Form&#149;Z dxf file), click on Options menu ---> Surface Styles, double click on the desired color to get the Surface Style Parameters window, click on RenderZone ---> Color ---> Options. </p>
								<p>For each color, write down the numbers for red, green and blue, and divide each by 256, respectively; the results are used for the definition of the corresponding color in master_tree.mat.</p>
							</item>
							<item><name>Final scene description: </name>
								<p>design_trees.rad: It is the final scene description file included in the Radiance input .rif file. It enlarges two trees into the correct sizes and places them in the designated places of Crystal Palace.</p>
							</item>
						</list></p>
					</div4>
				</div3>
			</div2>
			<div2>
				<head n="f" id="II.f">Crystal Palace Complete Model</head>
				<p>The complete source files of Crystal Palace can be found in ~/CP_completefiles/.</p>
				<p><list type="unnumbered_labeled">
					<item><name>Obj_files/</name><p>It contains the object files exporting from Form&#149;Z, and it does not contain any geometry files for canvas, floor and trees, which would be generated by many transformations of some pre-defined Radiance data files by using 'xform'.</p></item>
					<item><name>Rad_files/</name>
						<p>It contains all the Radiance files to render the images of Crystal Palace. There is a sample executable program to demonstrate how to run the program. </p>
					</item>
					<item><name>Rad_files/lib/</name>
						<p>The following table shows the Radiance scene description files of the complete Crystal Palace, and their corresponding parts (layers) of Form&#149;Z models if available.</p>
					</item>
				</list></p>
				<p><table rows="" cols="4">
					<row>
						<cell role="head" cols="3">Scene source</cell>
						<cell role="head">Scene description</cell>
					</row>
					<row>
						<cell role="data" cols="4" rend="label">(EISetup5.fmz)</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data">West Zone:</cell>
						<cell role="data">layer 1-7</cell>
						<cell role="data">west_1_7_tri.rad</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data">West Zone:</cell>
						<cell role="data">layer 8-12</cell>
						<cell role="data">west_8_12.rad</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data">Central Zone:</cell>
						<cell role="data">layer 1-7</cell>
						<cell role="data">center_1_7_tri.rad</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data">Central Zone:</cell>
						<cell role="data">layer 8-13</cell>
						<cell role="data">center_8_13.rad</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data">East Zone:</cell>
						<cell role="data">layer 1-7</cell>
						<cell role="data">east_1_7_tri.rad</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data">East Zone:</cell>
						<cell role="data">layer 8-12</cell>
						<cell role="data">east_8_12.rad</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data">Whole parts:</cell>
						<cell role="data">landing_cols</cell>
						<cell role="data">CP_landing_cols.rad</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data">Whole parts:</cell>
						<cell role="data">base</cell>
						<cell role="data">CP_base.rad</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data">Whole parts:</cell>
						<cell role="data">frontsteps</cell>
						<cell role="data">CP_steps.rad</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data">Whole parts:</cell>
						<cell role="data">3 named layers</cell>
						<cell role="data">CP_xbracesSmall_xbraceCeiling_intwalls.rad</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data">Whole parts:</cell>
						<cell role="data">int doors</cell>
						<cell role="data">CP_intdoors_tri.rad</cell>
					</row>
					<row>
						<cell role="data" cols="4" rend="label">(galleries.fmz)</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data" cols="2">All except 2floor+landing floor </cell>
						<cell role="data">CP_galleries_no2floor_nolandingfloor.rad</cell>
					</row>
					<row>
						<cell role="data" cols="4" rend="label">(roofSetup.5.fmz)</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data" cols="2">All except canvas layer</cell>
						<cell role="data">CP_roof_nocanvas.rad</cell>
					</row>
					<row>
						<cell role="data" cols="4" rend="label">(transbuild.8.fmz)</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data" cols="2">TBody</cell>
						<cell role="data">trans_tbody.rad</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data" cols="2">Arch</cell>
						<cell role="data">trans_arch_tri.rad</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data" cols="2">LeadFlats</cell>
						<cell role="data">trans_leadflats_tri.rad</cell>
					</row>
					<row>
						<cell role="data" cols="4" rend="label">(trimandflag.fmz)</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data" cols="2">walledgeW, walledgeC, walledgeE</cell>
						<cell role="data">CP_walledge_tri.rad</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data" cols="2">flagsW, flagsC, flagsE</cell>
						<cell role="data">CP_flags.rad</cell>
					</row>
					<row>
						<cell role="data" cols="4" rend="label">(elm1.dxf)</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data" cols="2">All layers</cell>
						<cell role="data">elm1.rad</cell>
					</row>
					<row>
						<cell role="data" cols="4" rend="label">(Others: The Form&#149;Z files are not available for the following geometries.)</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data" cols="2">canvas</cell>
						<cell role="data">design_canvas.rad</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data" cols="2">trees</cell>
						<cell role="data">design_trees.rad</cell>
					</row>
					<row>
						<cell role="data"></cell>
						<cell role="data">floor:</cell>
						<cell role="data">1floor of Central Zone</cell>
						<cell role="data">design_center_1floor.rad</cell>
					</row>
					<row>
						<cell role="data" cols="2"></cell>
						<cell role="data">1floor of East Zone</cell>
						<cell role="data">design_east_1floor.rad</cell>
					</row>
					<row>
						<cell role="data" cols="2"></cell>
						<cell role="data">1floor of West Zone</cell>
						<cell role="data">design_west_1floor.rad</cell>
					</row>
					<row>
						<cell role="data" cols="2"></cell>
						<cell role="data">2floor of Gallery Central</cell>
						<cell role="data">design_galleriesC_2floor_all.rad</cell>
					</row>
					<row>
						<cell role="data" cols="2"></cell>
						<cell role="data">2floor of Gallery East</cell>
						<cell role="data">design_galleriesE_2floor.rad</cell>
					</row>
					<row>
						<cell role="data" cols="2"></cell>
						<cell role="data">2floor of Gallery West</cell>
						<cell role="data">design_galleriesW_2floor.rad</cell>
					</row>
					<row>
						<cell role="data" cols="2"></cell>
						<cell role="data">landing floor of GalleryC</cell>
						<cell role="data">design_galleriesE_landingfloor.rad</cell>
					</row>
					<row>
						<cell role="data" cols="2"></cell>
						<cell role="data">landing floor of GalleryE</cell>
						<cell role="data">design_galleriesE_landingfloor.rad</cell>
					</row>
					<row>
						<cell role="data" cols="2"></cell>
						<cell role="data">landing floor of GalleryW</cell>
						<cell role="data">design_galleriesW_landingfloor.rad</cell>
					</row>
				</table></p>
				<p>Note: We are rendering the Crystal Palace images with quite different view parameters; in other words, there is no significant overlap between different views. Thus, it does not make sense to save the cached indirect irradiance values to an ambient file to be reused for later renderings. As a result, we just need one Radiance input .rif file to include multiple view description files to render images with different views. </p>
			</div2>
		</div1>
		<div1 id="images"> 
		  <head n="3" id="III">Images</head>
		  <p>This holds viewable image files of the CP objects. It's
			 not yet clear what format the files will be -- probably .jpg and
			 maybe .pic. We could also put .obj files in here. There will likely
			 be four views of each object (front, back, left, right). The views
			 can be &lt;xptr&gt;s that are grouped with &lt;linkGrp&gt;.</p>
		  <linkGrp id="module"> <xptr doc="truss48"/>
			 <xptr doc="truss72"/><xptr doc="canvas"/> <xptr
			 doc="col2"/><xptr doc="col4"/><xptr doc="col6"/><xptr
			 doc="door"/><xptr doc="doorpanel"/><xptr doc="flag"/><xptr
			 doc="floorboard1"/><xptr doc="floorboard2"/><xptr
			 doc="irongirder"/><xptr doc="roofframe"/><xptr doc="roofglass"/><xptr
			 doc="walledge"/><xptr doc="walledgesingle"/><xptr
			 doc="wallpanel"/><xptr doc="winpanel"/><xptr doc="winpanelup"/><xptr
			 doc="wood"/><xptr doc="woodcol"/><xptr doc="woodcolup"/></linkGrp>
		</div1>
		<div1 id="obj"> 
		  <head n="4" id="IV">.obj Files</head>
		  <p>We could also put the .obj files in their own separate
			 section. This would keep things a bit neater (since .obj files are
			 text files, but represent images), but it would add yet another set
			 of ids to keep track of (besides the notes and the images).</p>
		</div1>
	 </body>
  </text>
</TEI.2>

