placement process: data's loaded from an xml file and stored as two graphs. one graph's edges represent an "is a" relationship the other graph's edges stores placement predicate information. placement is done object by object relative to the objects already there. modelling a person who's trying to place these objects in a room. the trick is translating the predicates into a function that can do the placement. what does it mean for one object to be on top of another in terms of x,y,z coordinates? it means the top z matches bottom z? mapping of predicate to function story of placing a table. does it know how to place a table in the room? if not, what else is a table? a table is also a type of furniture. does it know how to place a piece of furniture in the room? so on and so forth. Project Goals: - to do a better job of placing objects in a 3D world than random placment - develop a set of placement predicates to describe common sense object placement - trying to create a predicate to function mapping - people see object locations in relative terms: on top of, beside, around - computers know only x,y,z coordinates Difficulties/Issues: - the relative predicates are fuzzy e.g. on top of can be anywhere on top of around can be touching or arm's length away - dealing w/ a heirarchy of objects - dealing w/ multiple predicates - notion of object geometry (what's the top, the front, the back, etc... of the object) Design/Implementation: - predicates that map to x,y functions and predicates that map to z functions - an object placer (the room) places objects and detects collisions - traverse the object "is a" heirarchy when it doesn't know how to place an object - traverse from specific to general - objects need to have metadata that describes dimensions, orientation, etc... Applications: - as a software agent like Aria to make suggestions to users of - level editing applications for game devs - home layout programs - as it becomes better, it can generate worlds independently - make extensive, dynamically generated 3D worlds for games and VR/simulations Additional stage: - use common sense to determine what kinds of objects belong in a room based on a NL description.