Smart Objects: - University of Washington

advertisement
Smart Objects:
Constraints and Behaviors in a Collaborative Design Environment.
Dustin Eggink
thesis proposal.
11/20/00
Thesis Statement.
Architectural design problems presented to designers are usually complex. Can an
interactive medium be used to effectively communicate the careful characteristics of a solution to
designers, collaborators, consultants and clients in the design process?
Common to the architectural process is the use of drawings, models and other visual
media to communicate ideas about design to others. These artifacts of the design process utilize
a language of graphic representation in order to efficiently convey ideas about formal and spatial
relationships within, for an example, a handful of lines on a piece of paper. This thesis uses this
notion of graphic representation as it seeks to embed the ideas about formal and spatial
relationships, and the constraints which dictate the relationships, into a computer-based
interactive three-dimensional environment.
Thesis Concept
design and complexity.
1
“Architecture is necessarily complex and contradictory in its very inclusion of the
traditional Vitruvian elements of commodity, firmness, and delight. And today the wants of
program, structure, mechanical equipment, and expression, even in single buildings in simple
contexts, are diverse and unimaginable. The increasing dimension and scale of architecture in
urban and regional planning add to the difficulties. By embracing contradiction as well as
complexity, I aim for a vitality as well as validity.“
(Venturi, 1966.)
Through my experiences as a designer and in my work with other designers, I have found
Robert Venturi’s statement about the inherent complexity and contradictions of architecture to be
true. Each new design problem presents a new set of programmatic requirements, and represents an often varied, but sometimes similar set of conventions and rules given to the general
field of architecture. All of these factors contribute to affect the course of the design process in
any given project which will influence the form of a building.
In architecture, a common goal is to meet the functional elements of a building program
while striving toward a higher level of design that may delight or stir the user in some way. On
the part of the architect, mental agility is essential to meet these two very different requirements.
Whether or not one chooses, as Venturi does, to embrace the “contradiction as well as
complexity,” it is necessary for architects to recognize the variety of factors inherent in a design
problem. These factors read as a matrix; alteration of a single item can ripple change through the
breadth of a design: the depth of a room affects the spacing of columns, which changes the size
of a beam. Beam depth directly affects the total height of a building which controls the amount of
needed exterior cladding.
Architecture is a process of balancing actions and reactions. In order to judge the value
of any one move and its impacts, hierarchies and priorities relating the many facets of a design
must be set. Such a standard, whether set by the architect, client or other party, can suggest a
sense of direction to take during the design process and justify the decisions that have been
made. In the end, it enables one to judge the successes and failures of any design solution.
collaboration and design
Even though the design process may often be perceived as a solo event, this is rarely
true. Design, especially in the case of architecture, is more often a collaborative process. It
involves many people serving in different roles towards the completion of a design solution. This
list may include clients, contractors, consultants, and users. Therefore, communication becomes
essential in order for architects to explain their formal solutions to design problems.
Typically architects use drawings and scale-models to visually explain the physical
elements of a design resolution. These visual aids provide a focus for which discussion about
concepts, problems and solutions to a design take place. However, the drawings and models at
their surface only address the formal relationships of a solution. It is only with the benefit of
explanation from the designer can drawings and models express the more intricate solutions that
2
have been developed in response to the complexities of design. Without explanation, the
audience is left to either take the formal representation at face value and nothing more, or to
make an educated guess at the implied meaning of a drawing or model.
In the design collaboration process, neither of the above alternatives is completely
reliable or acceptable. Without specific communication of the nature of the design problem,
collaboration could easily result in solving a complication of a design while undermining the
conceptual theme of the project. The repercussions a move will have upon the overall design
should always be kept in consideration at any stage of the design process. This thesis proposes
a method of collaboration that keeps the standards set for a design ever present by taking
advantage of the possibilities enabled by computing technology. It does so by imbedding the
complexities that accompany any design problem within the forms of its solution.
working with smart objects
The forms that compose a building are defined by a set of attributes. For an example, a
wall has a height, width, depth, material and color. In a design problem, the set hierarchies and
priorities are manifested as rules and constraints informing the physical attributes of forms within
the solution; if a priority is that a building have a low visual impact, then a constraint on an
exterior wall may be a height limit of thirty feet. In the environment I propose, the forms of a
design are defined by not only their physical attributes, but also their constraints and rules
These forms, which I call “smart objects” are constructed and presented in a computer
generated three-dimensional environment. In this environment, users can directly interact with
the objects that compose a design solution. Objects can be moved, distorted and otherwise
altered to allow design collaborators (consultants, clients and design team members) to explore
and express their concerns over a design resolution. What makes these objects “smart” is that
they are imbedded with behaviors that represent the constraints in a design problem. When
manipulated, (moved or reshaped) objects can be preprogrammed to signal a preferred or
absolute formal relationship with the environment and other objects. Constraints are determined
by designers based on their experience, necessities dictated by the program or natural law.
For
an example, if a designer has defined a sight line, an object that is moved in that path may
change color to alert the user a constraint has been broken. Implemented and used in this
manner, smart objects can thus help collaborators (both designers and non-designers) be more
cognizant of the implications of the changes they make to a design.
Methodology.
how do objects become smart?
3
Smart objects are the formal components of an architectural design. When manipulated,
smart objects behave in a manner that reflects the constraints and rules of the design problem.
For an object to become smart requires a three-step process: building, programming and use.
Building is the initial form making of three-dimensional models. Because this thesis’s
focus is collaboration, I will accept current modeling programs, such as Form-Z and 3D Studio
Max to fulfill this component of the process and concentrate on the creation of the last two steps.
Programming is where the forms built in step are imbedded with behaviors. These
behaviors represent whatever rules or constraints the designer may have used to derive the initial
form making and wishes to express to his or her collaborators. The rules and constraints may
relate to fire-codes, square footage requirements, general aesthetic principles, or anything else.
The behaviors relate to the physical attributes of an object’s, size, color, scale, or location. A
computer program I propose to write for this thesis will accomplish this. In such a program,
designers may select pieces of a building and attach to them “if, then” statements. The “if” is the
condition of action upon an object. The “then” is the behavior of reaction. For an example, an
architect may wish that two rooms remain lined up relative to each other along the east-west axis.
This statement would then be, “if Room A is moved X distance north, then move Room B that
same distance north.”
The final step to smart objects is an environment in which those involved in a design
project can view and interact with the model of a building. This environment is a second
computer program I propose to write for this thesis. Interactivity means to be able change the
model. Collaborators could move, scale and change the shape of forms. When the alterations
made by a collaborator violates or meets a design constraint or preference would signal the user
of the condition. This signal would come in the form of an object behavior predetermined by the
designer. Users may then either resolve or ignore the conflict and keep physically editing the
model. At the end of the session, the altered model would be saved as a new file and available
for view by the designer or others.
Scope of Investigation.
The section that follows below is a description of the computer technology factors that will
influence the progress of this thesis. The analysis starts with a brief overview of the advantages
4
and disadvantages of computer generated three-dimensional modeling. Next is a description of
how the user interface would work. User interface is the most important piece to the presentation
and success of this thesis, and is therefore described in the most detail. The final section
describes what examples may be used to demonstrate the collaborative design environment
during the time of presentation.
current technology in computer generated three-dimensional modeling
Three-dimensional computer modeling is quickly becoming a standard in both the
academic and professional practice of architecture. An advantage of this design environment is
that it can, like physical models, closely simulate the spatial and material qualities of architecture.
Unlike its physical counterparts though, computer generated models are rarely interactive and
must be viewed over someone’s shoulder or through a pre-rendered animation. A necessary part
of a collaborative design environment though, is that the technology used not be a barrier in
terms of skill or software price. This negates most computer modeling programs.
Over the Internet, computer modeled environments often take form through the Virtual
Reality Modeling Language. Virtual Reality Modeling Language (VRML) is a file format that is
recognized as an Internet standard for the presentation of computer generated three-dimensional
(3D) spaces. VRML is a navigable and interactive environment, and allows access to 3D models
and spaces through a simple and intuitive interface to anyone with access to a web browser. For
the designer, VRML is a common file format that can be created by many 3D modeling programs
such as Form-Z and 3D Studio Max.
VRML, smart objects and Java
For the purposes of this study, VRML provides a good environment for smart objects to
exist within because files written in this language can be accessed over the Internet. The Internet
is increasingly becoming a ubiquitous part of people’s lives and a powerful tool to gather
information and communicate with others.
Through my studies in previous courses, I have gained a fairly fluent understanding of the
Virtual Reality Modeling Language. However, VRML is a limited programming language that only
allows objects to be moved or rotated relative to their virtual world. With the addition of a second
programming language though, objects can be programmed to react and change their physical
properties according to the spatial conditions it meets while being moved relative to the
environment. Because the carrier for VRML and smart objects will be the Internet, I will use a
language that is also native to the web, Java.
Java is a programming language with which one can write small application programs
(applets) that add to the functionality of the Internet. In the case of smart objects, applets are
used to contain the intelligence of the object. The way this works is as follows: A VRML file
contains the coordinate positions and material properties of every object within the 3D model.
When an object is moved by a user, a Java applet observes the change to the model and checks
5
to see if any of the “if” statements written in its program have been met. If so, the applet
implements the “then” statement by altering either the coordinate or material properties of the
moved object. When the conditions of the “if” statement are no longer true, the properties of the
object are returned to normal.
smart object demonstration
Because the collaborative design environment I propose to build is a piece of software,
an appropriate example, or scenario, will be used to demonstrate the environment’s capabilities.
The selection of a design scenario must be carefully done in order to highlight the environment
that presents it, and not the scenario itself.
There are a few elemental qualities a scenario must have: An architectural design
solution must be presented. This solution should be composed of separate, discreet forms
(objects). The visual resolution should not be so complete that moving an object from its original
position would render the 3D model unbelievable. A spatial relationship between objects and
their environment should be expressed. Possible scenarios that will be considered are an urban
building that is constrained by a set of urban design codes, and a house that is dictated by fengshui principles.
Preparatory Study.
Arch 498, Web Weaving:
Professor: Brian Johnson
Introduction to web page building and networking capabilities available through the Internet.
Arch 498, Virtual Environments:
Professor: Mark Gross
6
Introduced the Virtual Reality Modeling Language (VRML) as a method to represent and explore
a three-dimensional virtual environment or as a virtual representation of a built environment. This
course also provided a format for the discussion of the representation of the environment in a
digital form.
Arch 502, Urban Design Studio:
Professors: George Rolfe and Daniel Winterbottom
Final solution was used as an example to exhibit moving objects in VRML.
Arch 498, Advanced Computing Projects:
Professors: Mark Gross and Brian Johnson
A further investigation into the potential of VRML and an introduction to the Java programming
language’s interface capabilities with the former 3D language.
Arch 505, Digital Design Studio:
Professor: Ellen Do
A practical application of computer based architectural design and presentation through a VRML
format.
Arch 498, Java Design Programming:
Professor: Mark Gross
A formal introduction to the Java programming language. This course better familiarized me with
the syntax and capabilities of the programming language that will be elemental to the success of
the thesis.
Arch 498, Digital Dreams:
Provided an environment of discussion and presentation to those pursuing computer based or
influenced research and design projects. During work for this course, I was able to first develop
3D objects embedded with a rule that dictated an object’s color based on its location within the
virtual environment.
Arch 498, Design Computing Theory:
Professor: Mark Gross
Enabled the discussion of the science of design and the design process. Readings, research and
discussions from the course provided the theoretical and conceptual framework for the design
and development of smart objects and their architectural predecessors.
References
books and articles.
Ames, A.L., Nadeau D.R., and Moreland, J.L.. VRML 2.0 Sourcebook. New York, New York.
John Wiley & Sons, Inc., 1997.
A guide to the VRML 3D language.
Alexander, Christopher. Notes on the Synthesis of Form. Cambridge, Massachusetts: Harvard
University Press, 1964.
7
An early study on how the complexities in a design problem can be broken into
manageable groups.
Gosling, J., Joy, B., Steele, G., and Bracha, G.. The Java Language Specificication. San
Fransisco, California. Addison-Wesley, 2000.
A resource for the Java programming language.
Gross, Mark. Design as Exploring Constraints. Cambridge, Massachusetts: Massachusetts
Institute of Technology, 1986.
A doctoral dissertation using computer programming to define and explore design
constraints.
Kilkelly, Michael. Off the Page: Object-Oriented Construction Drawings. Proceedings ACADIA
National Conference 2000, Washington D.C.
A description of a computer program that allows elements in construction drawings to
respond to changes between each other.
Venturi, Robert. Complexity and Contradiction in Architecture. New York, New York. Museum of
Modern Art, 1966.
A defense for acknowledging and embracing the disparate elements of architecture.
web sites.
Java Language Specification: http://java.sun.com/j2se/1.3/docs/api/index.html
A resource for the Java programming language.
Smart Forest: http://www.imlab.uiuc.edu/smartforest/index.html
An example of a “smart landscape” that has a behavior when acted upon.
Web 3D listing: http://depts.washington.edu/dmachine/Web3D
A compilation of Internet based 3D applications.
Supporting Material.
Proposals from two courses intimately related to this thesis can be found on the following
pages. Internet links displaying the progress from these courses can be found at the bottom of
each page.
Proposal for the Digital Crafts Seminar.
Spring 2000.
In the professional practice, physical models are often used as a starting point for
discussion within a design team and between designers and clients. These models are often
manipulated and altered throughout a discussion and over the period of design development. A
unique aspect of this process is that the same elements of a model are placed in various
locations and used in different ways. This is due to the nature of the model. Models represents
8
more than the physical properties of itself, they represent entire elements of a physical building.
Thus, there is a certain level of intelligence given to models by the designer. I want to imbed that
same kind of intelligence into computer generated 3-D objects in VRML (virtual reality modeling
language) worlds.
3-D modeling, like physical modeling, is a great tool visualizing spatial and massing
qualities of architectural projects. However, as it stands, 3-D models are often perceived as
stagnant and fixed, only able to be changed by the designer, and less willing to be altered in
discussions. This may be due to the nature by which they are created, by a specialized designer
user a high-end software package. The advantage of VRML, or any other web-based 3-D viewer,
is that it is comparatively easier to access (often times free), and easier to navigate within.
Therefore, VRML can be used as a common field for collaboration between designers and clients.
The kind of intelligence I want to imbed in VRML objects is a level of relativity between
objects and the user and objects between one another. To illustrate this, I1ll use a few examples:
When one downloads a VRML world of building parts, one can take an object that represents a
window and move it toward an object that represents a wall. When the window objects comes in
close proximity to the wall object, the wall would create a hole within itself to accommodate the
window. As the window is moved to different locations within the wall, the hole moves with it,
filling in the previous holes, and is left hole again after the window is moved elsewhere. Another
example is in an urban design model, which illustrates a street with high pedestrian traffic.
Anything that is placed on the ground level facing that street has to be highly visible and
pedestrian oriented. By this rule, when one moves a mass, which represents retail, or any other
building type use on the ground level, it takes on a highly fenestrated facade to accommodate the
pedestrian traffic. However, when one moves it up to the second story level, it loses the
fenestration.
Currently, VRML only allows for objects to be moved within the world and in relation to
each other. I have been able to construct 3-D models using Form-Z, export the file into a VRML
format, and then give objects the ability to be moved within a VRML viewer by adding a few lines
of code to the object definition. I1ve been limited to allowing the objects to be moved within a
single plane of my own definition, and allowing the objects to be spun around an external center
point, or around its own center point. Unfortunately, I can only allow for one of these conditions to
exist within an object at a time. I believe this may be limitation of the VRML format, or the VRML
viewers I have been using, or both. So there could be work to be done with the programming
language and the interface technology.
My first objective is to solve the 3-D language issue. Among that, I want to first be able to
save altered VRML worlds as separate files apart from the original. This would allow for a series
of different massing options to be developed by design collaborators. Next, is the issue of
intelligent objects. For this purpose, I am currently considering imbedding the VRML code within a
9
Java 3-D file format that would have the desired rules of behavior identified. Therefore, when a
VRML object is altered, it would call upon a Java instruction for the behavior that it may adopt.
The next objective would then allow for the user to alter the shape and sizes within the VRML
world. This may be accomplished through straightforward VRML coding, but I can1t say for sure
right now. The final step would allow for an altered VRML world to be converted back into the
high-end 3-D modeling program, from which it was originally created.
Currently, the Archicad software program has been dealing with intelligent objects for
some time. I have only recently been told about the program and have had some trouble getting
to the specifics of what or how it works. I should continue to research how this program works, to
learn in what ways it imbeds behaviors within objects. (Trouble in finding a way to test the
program illustrates the need for a common and accessible format for viewing and manipulating 3D objects.)
What I intend to leave behind is at least a method for accomplishing these features in
VRML worlds. Ultimately, it would be a full program in order to make the process easier and
quicker than hand manipulating code.
results from this course can be found at:
http://students.washington.edu/eggink/acp/acp.html
Proposal for Digital Dreams Arch 498, Fall 2000
Digital Dreams is a course taught by Professor Ellen Do at the University of Washington.
The intent of the class is to explore the realm of opportunities enabled by computer technology
within the world of research and thesis undertakings. The course starts with a student and a
project idea, and ends with a clear process, method, understanding, and possibly a start of how
to turn these dreams into reality.
My dream is based around what smart objects in a web-based 3D environment. I believe
that current conventional 3D objects modeled in many software applications misrepresent the
amount of information and meaning involved in design. By this, I mean that, as designers know, a
10
line is more than a line. It represents something. It may be a roof, a barrier, a connection, or many
other things. It may combine with other lines to form something else. There is often a whole story
of thought behind any line or modeled object. Designers know this, clients may realize this, but
computer applications still see it as just an object or line; a set of coordinates within a space and
a color.
It is my dream to imbed some of the intelligence related to the objects designers build
directly into those very objects, to make smart objects. Smart objects are capable of acting and
taking on the properties of what ideas, theories, uses, and objectives they represent. They are
interactive with the designer, client, and each other in order to simulate and put use the objectives
given to them by the designer, technician or client.
For an example, in a building mass model in which different components of the model
represented different program uses, the block representing retail would be only allowed to move
only slightly away from the street edge and never stray from the ground level. Residential
however, could be placed anywhere within the building, but must have a certain amount of space
from the busy street. Office space on the other hand could be placed anywhere on the site or
within the building, but preferably close to retail.
Listed above are several instances of rules and circumstances, some flexible others firm,
which are projected onto an object that represents a certain building use, and if considered, can
affect the design and success of a building. It is my goal to instead implant these rules and
properties that range in nature from building code, urban design principle, sound movement, to
economic potential, into the very 3D objects that comprise the model so that when reviewed and
manipulated by designers, clients, and consultants, these carefully considered factors are not lost
in the process.
I propose to do this in a web-based environment because the web is a powerful
instrument communication. I see this as a tool for collaboration among all those involved with the
design and construction of a building. The web uses technologies that are available to all. They
are either free or very inexpensive, and can provide an adequate 3D, real-time environment ideal
for collaboration that is available to most and not limited to the few machines equipped with the
appropriate and expensive high-end software.
It is also my goal to someday better explain my goal.
This is a somewhat aged dream. My work on this project started with the Virtual
Environments course I took during the winter of 2000 and expanded into the Digital Crafts course
I took the following quarter. My work from these quarters explains the progress and
understanding of the technology involved with the project objective.
11
Right now, I'm assessing where I should go and how I should get there. It seems that I've
taken the possibilities of VRML to its limit. This means that I need to find a new technology or
language to get me where I want to go.
results from this course can be found at:
http://students.washington.edu/eggink/did/did.html
Outline of Tasks.
Through research work and the courses above, I have already cleared some of the
technological hurdles presented in this thesis. I have programmed objects to change both in
scale and color according to their spatial relationships with their environment and other objects.
These are small pieces of the whole proposed in this thesis. However, the method in which I will
accomplish the rest is clearer from these first steps. By the end of this fall quarter I hope to:
enable users to move objects on a grid line, which would simplify the user interface, and develop
a rough method that enables users to save altered models as new files.
Prior to the Winter Quarter of 2001, reading and research into constraint-based design
will be conducted to more completely grasp the applications the thesis work may be used toward.
12
An element of continual research and search for precedent and future use will remain present as
the thesis process progresses through the Winter and Spring quarters.
The first issue that must be approached during the thesis process is the search for a
suitable example to express and demonstrate the functional uses of the smart object
environment. Once a suitable example is determined, the rules and constraints of the scenario
would be identified and subsequently programmed as behaviors into a Java applet. After
completion of the design scenario, testing would be necessary to determine the success of the
collaborative environment. Refinement and re-testing would follow this stage. Finally an
interface would be built that allows users to interact with 3D smart objects and affect the example
design scenario.
Simultaneous to building a demonstration example would be the building of the
programming application described in the Methodology section. Upon completion, this program
and the user interface would be brought together to demonstrate the collaborative design
environment during thesis presentation.
Schedule.
Week of January 2: set an example for demonstration and define associated rules and
constraints
Week of January 8: build 3D model for example and determine object behaviors to be
programmed.
Week of January 15 through week of February 5: program constraints and behaviors into a Java
applet.
Week of February 12 through week of March 12: write programming application.
Week of March 26 through week of March April 16: write user interface application.
Week of April 23 through week of April 30: prepare thesis presentation.
Week of May 7: thesis presentation.
13
Week of May 11 through week of June 4: prepare thesis report.
Resources and Space Support.
Supervisory committee: Mark Gross and Ellen Do.
I have been allotted a space in the Design Machine Group lab in Architecture Hall. In
addition to a computer with all the needed software, the DMG lab also provides an environment
that will prove to be an invaluable resource to complete this thesis.
14
Download