catenarycad: an architectural design tool · catenarycad: an architectural design tool team sixteen...

19
CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian 6.837 Computer Graphics

Upload: others

Post on 26-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

CatenaryCAD: An Architectural Design Tool

Team SixteenDan ChakMegan GalbraithAxel Kilian

6.837 Computer Graphics

Page 2: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

Antonio Gaudi designed complex structures using catenary systems

Page 3: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

Beautiful forms were created by

suspending pieces of string from hooks,

deforming them with weights and strings,

then inverting the structural elements.

Page 4: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

We created design software for architects interested in using catenary systems.

CADenary

Page 5: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

CADenary is implemented using

C++ (physics modeling)

OpenGL (graphics rendering)

Tcl/Tk (user interface)

Page 6: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

Goals We Met

Interactive that runs in real-time

Realistic-looking models of objects under gravity

Hooks and strings placed in 3D world

Hooks accurately placed both in space and on strings

Computed reasonable physics for the strings

Can flip designs 180 degrees to view as buildings

Good software design

Good design software

Page 7: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

Goals We Did Not Meet

Visualize external and internal forces on string particles

Skins that render over the “wire frame” string structures

Ability to save models for 3D printing

Implementing OpenNURBs

Page 8: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

How We Approached the Project

Page 9: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

cdObject

cdForce

Vect

LineSegment

a, b

cdHook

cdStringHook cdSkyHook cdStringcdWeight

cdModel

pos cdSpring

cdForceEntry

cdParticle

cdParticleEntry

a,b

cdParticleSystem cdParticleBucket

Data Model Physics SimulationGeometry

Program Data Model

Page 10: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

Tcl/Tk User Interface

Create a new SkyHook

Create a new StringHook

Create a new String

Select an object

View the parameters of an object

Spin the simulation 180 degrees

Real-time graphics window

Interactivity

Page 11: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

Physics Simulation

Spring-Particle System

Chose Runge-Kutta solver (explicit)

Produces reasonably robust solutions

Susceptible to breaking with scale changes or excessive stress

Lack of conservation of length means a string stretches 1.5 times the “at rest” length

System unstable if stiffness parameter is set beyond 1

Page 12: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

What We Learned

How to code in unfamiliar languages

Challenges of rendering 3D spaces and maintaining believable interactions with objects in the space

Important to choose appropriate solvers based on speed requirements, robustness, and required precision of the calculations

Physics simulations can be tricky in 3D

Team (and code) management skills

Page 13: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

What We Wish We Could Change

C++ may not have been the right choice... Java?

Use one unified language for all aspects of the program

Create the ability to develop the code on a variety of platforms rather than only Linux

Page 14: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

Individual Contributions

DanSetting up the development environmentWriting the code that binds the C++ classes with the UI

MeganBuilding the user interface in Tcl/TkPutting together the written report and presentation

AxelBuilding the physics simulation/string models in C++

Page 15: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

Deliverables

CADenary program with basic features

Java versions of the particle system

Collection of short movies

Source code

Final Project Paper (.pdf)

Final Presentation (.pdf)

Page 16: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

CADenary

Page 18: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

Short Movies

1 2

3 4

Page 19: CatenaryCAD: An Architectural Design Tool · CatenaryCAD: An Architectural Design Tool Team Sixteen Dan Chak Megan Galbraith Axel Kilian ... Tcl/Tk (user interface) Goals We Met Interactive

The End!