modeling, simulation, and animation in 3d virtual world · pdf filemodeling, simulation, and...

1
Modeling, Simulation, and Animation in 3D Virtual World Vojislav Stojkovic and a Group of Computer Science and Bioinformatics Students School of Computer, Mathematical, and Natural Sciences Computer Science Department Alice - Programming with Interactive 3D Graphics The programming language Alice was designed to describe, create, and process 3D virtual worlds. This presentation shows how to write programs in Alice that use basic programming concepts such as variables, decisions, loops, and events. Working with an Alice program looks as playing an interactive video game. Programming in Alice is easy and fun and does not need prerequisite knowledge. Alice is a perfect programming language for 2-12 grade students. Program A program is a set of instructions that tell a computer what to do. An instruction is an action to be performed. Writing a program to animate objects in a 3D virtual world is all about - objects and - actions objects can perform. Scenario A scenario is a problem statement that describes the overall animation in terms of - what problem is to be solved or - what lesson is to be taught. Making Animation Creating/Designing/Constructing/Developing/Building an animation is a four-step process: - Writing a scenario (a description of a problem or a task a problem statement) - Creating/designing the plan of action - Writing the animation program - Testing (see if it works) the animation program Scenario Example The scenario described a sequence of actions: - Three snow people are outdoors, on a snow-covered landscape. - A snow song is playing. - A snowman is trying to meet a snowwoman who is talking with another snowwoman. - The snowman tries to get her attention. -- He said “Hello!" and -- He blinks with his eyes at the snowwoman. - The snowwoman turns to see who is calling her. -- She saw the snowman. -- She was surprised. -- She did not like the snowman’s approach. - She blushes Her face changes color from white to red. -- She is not interested in meeting the snowman. -- She gives him a cold “welcome”. - She turns back to talk with the second snowwoman. - The snowman gives up and turns away. Bibliography 1. qubit.org http://www.qubit.org/ 2. Squankum Simulation of Quantum Computation Johns Hopkins Center for Educational Resources, JHU, Baltimore, MD, 2007 http://www.pha.jhu.edu/~jeffwass/squankum/ 3. Vojislav Stojkovic and Hongwei Huo A Permutation Generation DNA-Based Algorithm An Example of a DNA Computing Killer Application Вестник Тамбовского университета. Серия: Естественные и технические науки Вестник, t. 11, вып. 4, 2006, УДК 539.107 http://elibrary.ru/item.asp?id=10304129 4. Stephen Cooper, Wanda Dann, Randy Pausch Teaching Objects-first In Introductory Computer Science, SIGCSE 2003 5. Matthew Conway, Steve Audia, Tommy Burnette, Dennis Cosgrove, Kevin Christiansen, Rob Deline, Jim Durbin, Rich Gossweiler, Shuichi Kogi, Chris Long, Beth Mallory, Steve Miale, Kristen Monkaitis, James Patten, Jeffrey Pierce, Joe Schochet, David Staak, Brian Stearns, Richard Stoakley, Chris Sturgill, John Viega, Jeff White, George Williams, and Randy Pausch Alice: Lessons Learned from Building a 3D System for Novices CHI 2000 6. Alice http://alice.org/ 7. Intel Visual Computing Developer Community http://software.intel.com/en-us/articles/tickertape/ 8. Microsoft Robotics Developer Center http://msdn.microsoft.com/en-us/robotics/default.aspx Using Computer Games as Motivators for Studying Elements of Parallel and Distributed Computing The facts/trends are: - Undergraduate computer science enrollment is decreasing - Quality of enrolled students is lower and lower - Parallel and distributed computers and/or computing is more and more complex One way to solve these disparities is to use computer games: - to motivate students to study some elements of parallel and distributed computing - to demonstrate students that Computer Science is exciting and cool. Intel Corporation has developed a few computer games such as Ticker Tape, Smoke, Destroy the Castel, Pet Me, and etc. as software tools for teaching parallelism on original way. Morgan Computer Science is one of evaluators of this approach/project. Ticker Tape demonstrates - Particle system simulation in DirectX 10 (DX10) - Falling leaves under gravity and wind effects - Task-based threading with Intel Threading Building Blocks (TBB) - Computation and updates broken into tasks - Using Streaming SIMD Extension (SSE) to improve performance features such as thread count, # of particles, etc. Ticker Tape is a teaching computer game that shows a complex 3D particle system. Ticker Tape has 1000s falling leaves. Air movement, drag, lift, and etc. simulation are based on aerodynamic calculation. Good frame rates have achieved using multi threading and SIMD programming. Playing Ticker Tape is simple and natural. Particle System A particle system consists of a simulation phase and a rendering phase. Simulation Phase - Spawn new particles - Initialize physical properties such as position, orientation, velocity, etc. - Check particle life time - Update physical properties for all particles - Collision Detection Simulation phase should be as fast as possible. Rendering Phase - Draw each particle Rendering phase should be also fast. A good graphical card is always welcome. Many practical applications (such as falling snow, glider, balloon, bullet, missile trajectory, tornados, butterflies, and etc. can be solved using ideas from Ticker Tape. Experiments with Robots in Robotics Developer Studio using Visual Programming Language Microsoft Robotics Developer Studio 2008 (RDS) is a software (Windows-based) platform - environment for developing robotics applications for a wide-variety of real or virtual (simulated) hardware platforms robots. Microsoft Visual Programming Language (VPL) enables programmers (even students and beginners) to write and debug robotics programs very easily using a visual programming environment. Algorithms are coded just by dragging, dropping, and connecting blocks that represent services. Flowcharts could be simplified by collecting connected blocks and reusing them later as a single block elsewhere in the program. Microsoft Visual Simulation Environment (VSE) enabling real-world physics simulation for robot models or in other words simulates robotics applications in 3D physics-based virtual environments. Experiments with robots in Robotics Developer Studio using Visual Programming Language consists of many experiments such as Drive and Rotate robots presented at the given pictures. Experiments with robots have important applications from Military and Homeland Security to Biomedical Engineering. Connecting Quantum Computation and DNA Computation using the Bloch Sphere* Quantum and DNA computing are distributing and parallel computing techniques. They are useful for solving problems which require massive computations such as encryption, sorting, searching, and etc. Quantum and DNA algorithms cannot be efficiently simulated on classical computers because classical computers cannot efficiently deal with the parallelism. The quantum circuit model is sufficient to describe quantum algorithms whereas DNA circuit model is sufficient to describe DNA algorithms. This work establishes the relationship between a quantum qubit and a DNA string using the Bloch sphere. The Bloch sphere is a convenient graphical representation of a qubit in a 3D vector space. The model used in this work presents one-to-one mapping between qubits, DNA strings, and points on the Bloch sphere. The model uses the real existing classical computer - von Neumann machine, therefore, there are restrictions related to the precision of qubits value, the length of DNA strings, and the precisions of coordinates values. The Bloch sphere and the relations between qubits, DNA strings and points are implemented as “Quantum and DNA Computation Simulation Programming System” implemented in the Java programming language. This system is modified and upgraded interactive Quantum Computation applet developed at the Johns Hopkins Center for Educational Resources. There are many researches in Quantum Computing and DNA Computing as independent study fields, but this is the first research which tries to connect Quantum and DNA Computing together using the Bloch sphere. Project Description It is very costly, dangerous and often impossible to conduct experiments using real systems. Experimenting with models - adequate descriptions of reality - can be cost effective, efficient and safe. For these reasons models are used extensively in science, research, industry, commerce, military, etc. Simulation is the execution of a model, represented by a program that provides information about the system being investigated. Animation is the rapid display of a series of images of 2D or 3D artwork or objects to create an illusion of movement. This Interactive Demonstration is a cocktail of: - Connecting Quantum and DNA computing using the Bloch sphere; - Learning to program with interactive 3D graphics in the virtual worlds of Snow People, Lake Skater, etc. using the programming language Alice; - Using Intel developed games (Ticker Tape, Horse Power, etc.) to teach parallelism - Experiments with robots in Robotics Developer Studio using Visual Programming Language; * Patrick Kweku Inkoom A Connection of Quantum Computation and DNA Computation using the Bloch Sphere Master Thesis, Morgan State University, Baltimore, MD, 2011.

Upload: phungtuong

Post on 23-Mar-2018

239 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Modeling, Simulation, and Animation in 3D Virtual World · PDF fileModeling, Simulation, and Animation in 3D Virtual World Vojislav Stojkovic and a Group of Computer Science and Bioinformatics

Modeling, Simulation, and Animation in 3D Virtual World Vojislav Stojkovic and a Group of Computer Science and Bioinformatics Students

School of Computer, Mathematical, and Natural Sciences Computer Science Department

Alice - Programming with

Interactive 3D Graphics

The programming language Alice was designed to describe, create, and process 3D virtual worlds.

This presentation shows how to write programs in Alice that use basic programming concepts such as variables, decisions, loops, and events. Working with an Alice program looks as playing an interactive video game. Programming

in Alice is easy and fun and does not need prerequisite knowledge. Alice is a perfect programming language for 2-12 grade students.

Program A program is a set of instructions that tell a computer what to do. An instruction is an action to be performed.

Writing a program to animate objects in a 3D virtual world is all about

- objects and - actions objects can perform.

Scenario A scenario is a problem statement that describes the overall animation in terms of

- what problem is to be solved or - what lesson is to be taught.

Making Animation Creating/Designing/Constructing/Developing/Building an animation is a four-step process: - Writing a scenario (a description of a problem or a task a problem statement)

- Creating/designing the plan of action - Writing the animation program - Testing (see if it works) the animation program

Scenario Example The scenario described a sequence of actions:

- Three snow people are outdoors, on a snow-covered landscape. - A snow song is playing. - A snowman is trying to meet a snowwoman who is talking with another snowwoman. - The snowman tries to get her attention.

-- He said “Hello!" and -- He blinks with his eyes at the snowwoman. - The snowwoman turns to see who is calling her. -- She saw the snowman.

-- She was surprised. -- She did not like the snowman’s approach. - She blushes – Her face changes color from white to red. -- She is not interested in meeting the snowman.

-- She gives him a cold “welcome”. - She turns back to talk with the second snowwoman. - The snowman gives up and turns away.

Bibliography 1. qubit.org http://www.qubit.org/ 2. Squankum – Simulation of Quantum Computation

Johns Hopkins Center for Educational Resources, JHU, Baltimore, MD, 2007 http://www.pha.jhu.edu/~jeffwass/squankum/

3. Vojislav Stojkovic and Hongwei Huo A Permutation Generation DNA-Based Algorithm – An Example of a DNA

Computing Killer Application Вестник Тамбовского университета. Серия: Естественные и технические науки Вестник, t. 11, вып. 4, 2006, УДК 539.107 http://elibrary.ru/item.asp?id=10304129

4. Stephen Cooper, Wanda Dann, Randy Pausch Teaching Objects-first In Introductory Computer Science, SIGCSE 2003 5. Matthew Conway, Steve Audia, Tommy Burnette, Dennis Cosgrove, Kevin Christiansen, Rob Deline, Jim Durbin, Rich Gossweiler, Shuichi Kogi,

Chris Long, Beth Mallory, Steve Miale, Kristen Monkaitis, James Patten, Jeffrey Pierce, Joe Schochet, David Staak, Brian Stearns, Richard Stoakley, Chris Sturgill, John Viega, Jeff White, George Williams, and Randy Pausch

Alice: Lessons Learned from Building a 3D System for Novices

CHI 2000 6. Alice http://alice.org/ 7. Intel – Visual Computing – Developer Community

http://software.intel.com/en-us/articles/tickertape/ 8. Microsoft Robotics Developer Center http://msdn.microsoft.com/en-us/robotics/default.aspx

Using Computer Games as Motivators for

Studying Elements of

Parallel and Distributed Computing The facts/trends are:

- Undergraduate computer science enrollment is decreasing - Quality of enrolled students is lower and lower - Parallel and distributed computers and/or computing is more and more complex

One way to solve these disparities is to use computer games: - to motivate students to study some elements of parallel and distributed computing - to demonstrate students that Computer Science is exciting and cool.

Intel Corporation has developed a few computer games such as Ticker Tape, Smoke, Destroy the Castel, Pet Me, and etc. as software tools for teaching parallelism on original way.

Morgan Computer Science is one of evaluators of this approach/project. Ticker Tape demonstrates - Particle system simulation in DirectX 10 (DX10)

- Falling leaves under gravity and wind effects - Task-based threading with Intel Threading Building Blocks (TBB) - Computation and updates broken into tasks - Using Streaming SIMD Extension (SSE) to improve performance features such as

thread count, # of particles, etc. Ticker Tape is a teaching computer game that shows a complex 3D particle system. Ticker Tape has 1000s falling leaves. Air movement, drag, lift, and etc. simulation are

based on aerodynamic calculation. Good frame rates have achieved using multi threading and SIMD programming. Playing Ticker Tape is simple and natural.

Particle System

A particle system consists of a simulation phase and a rendering phase.

Simulation Phase - Spawn new particles - Initialize physical properties such as position, orientation, velocity, etc. - Check particle life time

- Update physical properties for all particles - Collision Detection Simulation phase should be as fast as possible.

Rendering Phase - Draw each particle

Rendering phase should be also fast. A good graphical card is always welcome. Many practical applications (such as falling snow, glider, balloon, bullet, missile trajectory, tornados, butterflies, and etc. can be solved using ideas from Ticker Tape.

Experiments with Robots in Robotics

Developer Studio using Visual

Programming Language

Microsoft Robotics Developer Studio 2008 (RDS) is a software (Windows-based) platform - environment for developing robotics applications for a wide-variety of real or virtual (simulated) hardware platforms – robots.

Microsoft Visual Programming Language (VPL) enables programmers (even students

and beginners) to write and debug robotics programs very easily using a visual programming environment. Algorithms are coded just by dragging, dropping, and connecting blocks that represent services. Flowcharts could be simplified by collecting

connected blocks and reusing them later as a single block elsewhere in the program. Microsoft Visual Simulation Environment (VSE) enabling real-world physics simulation for robot models or in other words simulates robotics applications in 3D

physics-based virtual environments. Experiments with robots in Robotics Developer Studio using Visual Programming Language consists of many experiments such as Drive and Rotate robots presented at

the given pictures.

Experiments with robots have important applications from Military and Homeland Security to Biomedical Engineering.

Connecting Quantum Computation and

DNA Computation using

the Bloch Sphere* Quantum and DNA computing are distributing and parallel computing techniques.

They are useful for solving problems which require massive computations such as

encryption, sorting, searching, and etc. Quantum and DNA algorithms cannot be

efficiently simulated on classical computers because classical computers cannot

efficiently deal with the parallelism. The quantum circuit model is sufficient to

describe quantum algorithms whereas DNA circuit model is sufficient to describe

DNA algorithms.

This work establishes the relationship between a quantum qubit and a DNA string

using the Bloch sphere. The Bloch sphere is a convenient graphical representation of a

qubit in a 3D vector space. The model used in this work presents one-to-one mapping

between qubits, DNA strings, and points on the Bloch sphere. The model uses the real

existing classical computer - von Neumann machine, therefore, there are restrictions

related to the precision of qubits value, the length of DNA strings, and the precisions

of coordinates values. The Bloch sphere and the relations between qubits, DNA strings

and points are implemented as “Quantum and DNA Computation Simulation

Programming System” implemented in the Java programming language. This system

is modified and upgraded interactive Quantum Computation applet developed at the

Johns Hopkins Center for Educational Resources.

There are many researches in Quantum Computing and DNA Computing as

independent study fields, but this is the first research which tries to connect Quantum

and DNA Computing together using the Bloch sphere.

Project Description It is very costly, dangerous and often impossible to conduct experiments using real systems. Experimenting with models - adequate descriptions of reality - can be cost effective, efficient and safe. For these reasons models are used extensively in science,

research, industry, commerce, military, etc. Simulation is the execution of a model, represented by a program that provides information about the system being investigated.

Animation is the rapid display of a series of images of 2D or 3D artwork or objects to create an illusion of movement.

This Interactive Demonstration is a cocktail of: - Connecting Quantum and DNA computing using the Bloch sphere; - Learning to program with interactive 3D graphics in the virtual worlds of Snow People, Lake Skater, etc. using the programming language Alice;

- Using Intel developed games (Ticker Tape, Horse Power, etc.) to teach parallelism - Experiments with robots in Robotics Developer Studio using Visual Programming Language;

* Patrick Kweku Inkoom

A Connection of Quantum Computation and DNA Computation using

the Bloch Sphere

Master Thesis, Morgan State University, Baltimore, MD, 2011.