Final Demonstration of the AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George McCabe dy· na· mo: (n.) A generator 1Erin Rowland.

Slides:



Advertisements
Similar presentations
 An operating system (OS) is a set of computer programs that allow the user to perform basic tasks like copying, moving, saving and printing files. 
Advertisements

FireMonkey Deep Dive The Next Generation of Business Application Development.
CP411 Computer Graphics, Wilfrid Laurier University Introduction # 1 Welcome to CP411 Computer Graphics 2012 Instructor: Dr. Hongbing Fan Introduction.
Introduction to Alice Alice is named in honor of
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
Operating systems This work is licensed under a Creative Commons Attribution-Noncommercial- Share Alike 3.0 License. Skills: none IT concepts: popular.
Thraxion: Three Dimensional Action Simulator Justin Gerthoffer, Jon Studebaker, David Colborne, Jeff Stuart, Frederick C. Harris, Jr Department of Computer.
Graphical User Interface (GUI) Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
1 Introduction to computers Overview l · Grading Policy »Cheating Rules (serious concern) »Examinations and Fixation of Timings »Quizzes »Homework Assignments.
Installing Windows XP Professional Using Attended Installation Slide 1 of 41Session 2 Ver. 1.0 CompTIA A+ Certification: A Comprehensive Approach for all.
Introduction to Alice Alice is named in honor of Lewis Carroll’s Alice in Wonderland.
Neal Stublen Computer Systems Hardware Display Keyboard Mouse Microphone Memory Chips Microprocessor.
Overview of Computer Graphics Chapter 1. Bird’s Eye View  Overview of Computer Graphics –Basic concept of computer graphics, system, programming platforms,
Zhang & Liang, Computer Graphics Using Java 2D and 3D (c) 2007 Pearson Education, Inc. All rights reserved. 1 Chapter 1 Overview of Computer Graphics.
Computer System System Software. Learning Objective Students should understand the different types of systems software and their functions. Students should.
Emerging Platform#4: Android Bina Ramamurthy.  Android is an Operating system.  Android is an emerging platform for mobile devices.  Initially developed.
SOFTWARE.
Week 6 Operating Systems.
TC2-Computer Literacy Mr. Sencer February 8, 2010.
Computer Concepts – Illustrated 8 th edition Unit C: Computer Software.
MVC pattern and implementation in java
Component 4: Introduction to Information and Computer Science Unit 4: Application and System Software 1 Health IT Workforce Curriculum Version 1.0/Fall.
FUNDAMENTALS OF PROGRAMMING SM1204 SEMESTER A 2012.
Image processing Gladys Nzita-Mak. Input devices A mouse is used to interact with your computer, the user is able to move the mouse, click and select.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
A Spring 2005 CS 426 Senior Project By Group 15 John Studebaker, Justin Gerthoffer, David Colborne CSE Dept., University of Nevada, Reno Advisors (CSE.
Introduction to Matlab & Data Analysis
Software Writer:-Rashedul Hasan Editor:- Jasim Uddin.
Laser Mission Final Demo Garett Shulman Neal Robbins Brian Hallesy James Bailey Brandon Shelton 1.
Visual C++ Programming: Concepts and Projects
C H A P T E R T E N Event-Driven Programming Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
Gorman, Stubbs, & CEP Inc. 1 Introduction to Operating Systems Lesson 1 Introduction to Operating Systems.
Institute for Visualization and Perception Research 1 © Copyright 2000 Haim Levkowitz Introduction (Foley & Van Dam Ch 1) Uses of computer graphics … Some.
Final Demo MedConnection Giant Squid Michael Cohen Robert Esho Chris Hogan Kate Kuleva Nisha Makwana Alex Rodrigues Rafal Urbanczyk.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Learning Objective The students should be able to: a. state the definition of software b. state the usage of software c. list different types of software.
Introduction to Alice Alice is named in honor of Lewis Carroll’s Alice in Wonderland.
MAE 152 Computer Graphics for Scientists and Engineers Fall 2003 Dr. Prashant V. Mahajan Senior Research Scientist AValonRF, Inc., El Cajon, CA.
Obj: Introduction to Alice HW: Read handout and answer questions. Alice is named in honor of Lewis Carroll’s Alice in Wonderland Day 5.
Microsoft Visual Studio 2010 Teacher: Ms. Olifer.
OPERATING SYSTEM - program that is loaded into the computer and coordinates all the activities among computer hardware devices. -controls the hardware.
Computer Software Types Three layers of software Operation.
Application Software System Software.
Today: Student will be able to describe the basics of their class and computing Tell me about you and how you use computers. Lesson 1 Slide 1.
Introduction to Alice Web Design Section 8-2 Alice is named in honor of Lewis Carroll’s Alice in Wonderland.
Laser Mission State of the Project Garett Shulman Neal Robbins Brian Hallesy James Bailey Brandon Shelton 1.
An Overview of the AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George McCabe dy· na· mo: (n.) A generator 1Erin Rowland.
LivingVindonissa: The State of the Project 1 A Web-based 3D Model of the Ancient Roman Camp Vindonissa Dain Cilke Pierce Edwards Jeremy Reed Gabe Tambos.
Software Rashedul Hasan. Software Instructions and associated data, stored in electronic format, that direct the computer to accomplish a task. Instructions.
Purpose of Operating System Monil Adhikari. Agenda Introduction Responsibilities of Operating System User Interfaces Command Line Interface Graphical.
Types of Software Chapter 2.
Java - hello world example public class HelloWorld { public static void main (String args[]) { System.out.println("Hello World"); }
Operating Systems Overview Basic Computer Concepts Operating System What does an operating system do  A computer’s software acts similarly with.
The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George McCabe dy· na· mo: (n.) A generator 1Erin Rowland.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
State of the Project Alex Woods Ben Link Garston Tremblay Jacob Wisnesky Nawaf Alghamdi.
Computer-Based Systems. Computer -Based System Procedures Personnel Data Software Hardware.
Chapter 2: Operating-System Structures
Introduction to Operating Systems
Introduction to Computers and Java
TexPREP Summer Camp Computer Science
Introduction to Programming
Introduction to Alice Alice is named in honor of
05 | Desktop Applications
Computer components is a programmable machine that receives input, stores and manipulates data, and provides output in a useful format. Computer The computer.
CMPE 135: Object-Oriented Analysis and Design March 14 Class Meeting
Windows Operating System
Introduction to Alice Alice is named in honor of
Introduction to Alice Alice is named in honor of
Presentation transcript:

Final Demonstration of the AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George McCabe dy· na· mo: (n.) A generator 1Erin Rowland

What We Will Cover Senior Project Background Sponsors The Problem The Solution Conceptual Diagram Requirements User Interface Architecture Summary Demonstration 2Erin Rowland

Senior Projects Class Computer Science Capstone 13 Teams … 61 students Industry Projects Entertainment Projects Educational Projects ◦ Health Care Education using Second-Life  University of Colorado Denver College of Nursing ◦ Science on a Sphere  Craft Technologies Group Erin Rowland3

AgentSheets, Inc. Dr. Alexander Repenning CTO of AgentSheets, Inc. Professor of Computer Science at CU Boulder Balance Educational and Motivational concerns Exposing Computer Science to Middle School Students 4 Erin Rowland

AgentCubes ◦ Generate simulations ◦ Create games ◦ Conceptual Aid for teaching AgentSheets, Inc. 5Erin Rowland

Scott Lininger: Designer, Programmer, and Writer Representative from Google SketchUp and O3D and O3D 6Erin Rowland

Topics Discussed Senior Project Background Sponsors: ◦ AgentSheets ◦ Google Problem Solution Conceptual Diagram Requirements User Interface Architecture Summary Demonstration 7 George McCabe

Problem: Expand AgentCubes User Base Portability (Multi-Platform) Usability Accessibility 8George McCabe

Problem: (cont’d) AgentSheets (2D) Requires User to Download and Install the Software AgentCubes (3D) Not Publicly Available ◦ Current Version in Development (Mac OS X) 9George McCabe

Solution: Render 3D in a Web Browser JavaScript Implements Scene and Agents Handle API Calls from a Compiled Simulations Render Simulations Based on AgentCubes Graphics Rendered by O3D 10George McCabe

O3D Open-Source JavaScript API Cross-platform Generates Interactive 3D Graphics Applications Runs in a Browser Window beachdemo.html and O3D Erin Rowland 11George McCabe

Solution: (cont’d) WebDynamo is an O3D Version of the AgentCubes Worksheet ◦ Tools Allow Interaction With the Scene  Draw and Manipulate Object Instances  Pan and Zoom Camera 12George McCabe

Solution: (cont’d) Other Components Web End-User Programming GUI Allows Users to Create Agents and Define Their Behavior Creates XML files to Store Agents, Behaviors, and the Scene 13George McCabe

Solution: (cont’d) Other Components “Dark Tunnel” Compiler Navid Ahmadi University of Lugano in Switzerland Generates JavaScript Calls API Functions Defined by WebDynamo 14George McCabe

Topics Discussed Senior Project Background Sponsors: ◦ AgentSheets ◦ Google Problem Solution Conceptual Diagram Requirements User Interface Architecture Summary Demonstration 15Michael Wally

WebDynamo Conceptual Diagram 16Michael Wally WEUP GUI Compiler WebDynamo GUI APIAPI O3D

User Interaction 17Michael Wally WebDynamo GUI WEUP GUI

Navid Ahmadi Allows user to define agents ◦ Actions/Conditions provided by WebDynamo Provides compiler with agent behavior 18Michael Wally WEUP GUI

Compiler Navid Ahmadi Compiles simulation implementation ◦ Based on simulation properties Creates specific agents ◦ Based on user input to WEUP 19Michael Wally Compiler

Compiler – Agent Implementation subclass.extend(frogAgent, agent); frogAgent.prototype.tasks = function(i) { if(‘Conditions’) {‘Actions’} if(‘Conditions’) {‘Actions’}… } 20Michael Wally Compiler

WebDynamo GUI 21Michael Wally WebDynamo GUI APIAPI O3D Agent manipulation Simulation controls Camera controls

WebDynamo API Agent Class ◦ Provides actions/conditions for agents Resource Manager ◦ Manages agents and animators ◦ Tells agents to perform tasks() Animators 22Michael Wally WebDynamo GUI APIAPI O3D

Simulation Implemented by compiler Driven by WebDynamo WebDyanmo GUI provides interaction Good times had by all! 23Michael Wally

Topics Discussed Senior Project Background Sponsors: ◦ AgentSheets ◦ Google Problem Solution Conceptual Diagram Requirements User Interface Architecture Summary Demonstration 24Stuart Reed

Environmental Requirements Any O3D Supported Configuration Software / Development Environment ◦ Supported Browsers:  Firefox 3 ◦ Supported Operating Systems:  Windows XP, Mac OS X, Linux ◦ Implement API in JavaScript and O3D 25Stuart Reed

Environmental Requirements Hardware Environment ◦ Windows:  x86 CPU, DX9-compatible GPU with VS 2.0 and PS 2.0 support ◦ Mac:  Any Intel Mac (Unsupported GPUs Will Use SW rederer) 26Stuart Reed

Functional Requirements JavaScript Objects ◦ Agent Attributes and Tasks API Functions ◦ Compiler  Condition and Action Events  Implement Simulation O3D Scene Rendering Worksheet GUI ◦ Run, Stop and Step the Simulation ◦ Manipulate Camera ◦ Manipulate Agents  Draw, Delete, Move 27Stuart Reed

WebDynamo GUI O3D Worksheet 28Stuart Reed

AgentCubes Worksheet Tools o JavaScript Handlers for Keyboard and Mouse Input o Calls Method for Active Tool WebDynamo GUI Toolbar 29Stuart Reed

WebDynamo GUI Toolbar 30Stuart Reed Simulation Runtime Controls Agent Controls

WebDynamo GUI Toolbar 31Stuart Reed Worksheet Controls Camera Controls

Topics Discussed Senior Project Background Sponsors: ◦ AgentSheets ◦ Google Problem Solution Conceptual Diagram Requirements User Interface Architecture Summary Demonstration 32Scott Keller

Architecture - Hierarchy 33Scott Keller

Architecture – MVC Overview Controller View Model Push Animations 34Scott Keller Run Tasks() Animate Display Agent Calls JS API Functions Simulation Implementation Implement Tasks() Add Agents

Architecture - ResourceManager Add ◦ Initializes starting agents ◦ Adds agents to array 35Scott Keller Controller Push Animations Run Tasks() Animate Calls JS API Functions Simulation Implementation Add Agents

Architecture - ResourceManager Tasks ◦ Generates list of agents ◦ Calls tasks( ) on each agent in random order ◦ Tasks( ) implements agents behavior 36Scott Keller Controller Push Animations Run Tasks() Animate Calls JS API Functions Simulation Implementation Add Agents

Architecture - ResourceManager Animate ◦ ResourceManager stores list of animators ◦ Render callback calls gameloop which runs through active animators ◦ Determines time between rendered frames to calculate transformations 37Scott Keller Controller Push Animations Run Tasks() Animate Calls JS API Functions Simulation Implementation Add Agents

Architecture - Agent Specific agents implement tasks( ) Runs its tasks( ) and pushes animators Maintains agent information 38Scott Keller Model Push Animations Run Tasks() Display Agent Calls JS API Functions Simulation Implementation Implement Tasks()

Architecture - View Animator ◦ Uses O3D to display 3D graphics in browser ◦ Animates agent movements and rotations ◦ Displays agents 39Scott Keller View Animate Display Agent

Demo! 40Stuart Reed

Summary Senior Project Background Sponsors: ◦ AgentSheets ◦ Google Problem Solution Conceptual Diagram Requirements User Interface and Architecture Demonstration Questions? 41Erin Rowland

AgentSheets, Inc. Dr. Alexander Repenning 42 Everyone

Questions? 43Stuart Reed