Character 'Physics'

Total Page:16

File Type:pdf, Size:1020Kb

Character 'Physics' 1 2 What do game developers want for character animation? - high-quality animation - good compression of assets - reactive characters - motion variety & novel motion on-the-fly - minimal investment in animator time, design iteration time - artistic control Most of these goals are conflicting with at least one or two others – so it’s about reaching a trade-off Procedural techniques are all about getting the most out of fewer 3 4 5 6 Additive animations can be created by first subtracting a base pose from an animation What’s left becomes the additive animation, which can be recombined with a different animation later on Uncharted used this to great effect to create variety in motion - Injured animations - Breathing - Idle pose variation One strength of it is that you can add motion on only a subset of bones – allowing you to create various different animations from one base pose - Aiming 7 Often we want continuously variable motion Use multiple samples, each with a parameter value Subdivide the parameter space (here, Delaunay triangulation) Recombine by blending samples nearby desired parameter value Disadvantage – have to create enough aniamtions to adequately sample the parameter space 8 Crytek used these kinds of parametric spaces Their locomotion is parameterised by speed, turning angle and slope So they have some 3d parametric spaces They also used something they called “procedural motion warping” - Some kind of IK as an additive animation layer CRYSIS 2: Getting More Interactivity out of Animation-Data Ivo Herzeg GDC 2011 9 It’s possible to parameterize various kinds of poses Aiming is another one that’s commonly done 10 11 The canonical example of character physics is the ragdoll, so let’s start there. They’re pretty ubiquitous in games so no doubt you’re aware of the basic idea, which is to simulate the character as a set of constrained rigid bodies. Animated character skeletons usually have a lot more bones than ragdoll bodies, so an essential step is to map the ragdoll bones’ transforms back onto the more complex character skeleton. Then the character can be skinned. 12 Passive ragdoll – a collection of dynamically-simulated bodies connected by constraints Pretty much only useful for ‘dead’ or unconscious characters - Or simulating the Pav on a Tuesday night (pictured) A bunch of the screenshots in these slides will be taken from the Havok demo framework. You can download a free version of Havok Physics and Animation complete with demos from http://www.havok.com/try-havok So you can play around with the demos, or integrate Havok in your own game or research Havok’s ragdoll solution is in a lot of games – some have implemented it better than others Good – Saints Row 3 The difference is in the way the bodies and constraints are set up: • Fewer bodies are usually better – capsules for collision detection efficiency • Adjacent bodies overlap so that other objects don’t penetrate in between the joints (collisions between adjacent bodies in ragdoll are filtered out) 13 • Proper constraint limits so the joints don’t look ‘broken’ 13 I’ll talk a bit more in a while about more sophisticated uses of ragdoll setups, but first let’s look at some other common techniques… Basic interaction with a physics world is often done with a single rigid body. Here’s the Havok Rigid Body Controller. It’s typically a capsule, since that allows the character to slide over obstacles like those stairs. There’s some extra solver stuff under the hood that lets the character rigid body slide easily, stand on moving objects and so on. 14 This is a very robust solution, but not very high-fidelity – you can see the limitations when paired with animation. However, with a bit of IK fixup it can look pretty good. This here is using Havok’s foot placement IK, which also affects the hip positioning so that the feet can reach their targets - more on various kinds of IK later 15 Incidentally, Skyrim used another, asymmetrical, character controller for its horse physics – and here you can see a classic trade-off. Often with game physics there has to be a sort of fudging of the physics to make the game playable. So occasionally you get situations where the simulation is a little bit idiosyncratic. 16 Generally, using a single rigid body to simulate a character can get nice results. In this paper, the authors used a rigid body with an inverted pendulum model of forces to keep the character upright. 17 Just Cause 2 had some nice examples of this too. The player character can dangle beneath a helicopter, or hang off the sides of moving vehicles. In both cases, a bit of physical simulation 18 19 For the sake of argument, I’ll include IK under the umbrella of character ‘physics’ You probably all know what IK is - a procedural technique to calculate joint parameters given and end-effector goal Where an end-effector is generally just a local coordinate frame stuck to one of the bones of the skeleton Here are two examples of basic IK solvers - CCD - 2-joint analytical IK for human limbs There are lots of other ways to solve the IK problem @article{tolani2000realtimeik, author = {Tolani, Deepak and Goswami, Ambarish and Badler, Norman I.}, title = {Real-time inverse kinematics techniques for anthropomorphic limbs}, journal = {Graph. Models Image Process.}, volume = {62}, number = {5}, year = {2000}, 20 issn = {1077-3169}, pages = {353--388}, publisher = {Academic Press, Inc.}, address = {Orlando, FL, USA}, } 20 IK is very useful for cases where you need the character to register accurately with its surroundings – ie touch something HumanIK is Autodesk’s full-body IK middleware - set position and rotation targets for end-effectors - control propagation of pose through character skeleton - layer IK on top of animation - retarget animations http://area.autodesk.com/gdc2011/humanik 21 22 Looks like a cool full-body IK middleware solution I haven’t heard of anybody who’s using it yet 23 lots of interesting approaches in academic literature mostly not feasible for games pipelines - complexity of implementation - heavy numerical matrix solutions, numerical optimisation - game devs don't like these - memory and processing heavy -- frame budget ~16ms -> <1ms for animation - allowing less artistic control - heavy emphasis on automation, theoretical solutions 24 So let’s get back to ragdsolls and dynamical simulation, and talk about @inproceedings{wrotek2006dynamo, author = {Wrotek, Pawel and Jenkins, Odest Chadwicke and McGuire, Morgan}, title = {Dynamo: dynamic, data-driven character control with adjustable balance}, booktitle = {Sandbox '06: Proceedings of the 2006 ACM SIGGRAPH symposium on Videogames}, year = {2006}, isbn = {1-59593-386-7}, pages = {61--70}, location = {Boston, Massachusetts}, doi = {http://doi.acm.org/10.1145/1183316.1183325}, publisher = {ACM}, address = {New York, NY, USA}, } 25 26 As far as I can remember, the tool is called Endorphin and the SDK/runtime is called Euphoria You can download the learning edition of Endorphin and play around with it, it’s a lot of fun NaturalMotion have their own physics system and drive the characters with muscles. They’ve cooked up various controllers that can drive these characters toward certain behaviors – balancing, flailing, curling up into a ball and so on They started out evolving these behaviors with genetic algorithms 27 GTA4 uses the Euphoria SDK, and it’s hands-down the best drunk guy simulator in the business. By which I mean - Doing high-fidelity motion with physics is hard - But for very dynamic motion Euphoria works great 28 @book{featherstone2007book, author = {Featherstone, Roy}, title = {Rigid Body Dynamics Algorithms}, year = {2007}, isbn = {0387743146}, publisher = {Springer-Verlag New York, Inc.}, address = {Secaucus, NJ, USA}, } 29 Efficient algorithms for calculating the dynamics of articulated bodies Reduced coordinate formulation (as opposed to maximal coordinate approach of ragdolls) Articulated body algorithm - Given x compute y Composite rigid body algorithm - Given x compute y These algorithms provide equations of motion – can serve as the basis for optimization techniques 30 @inproceedings{witkin1988spacetimeconstraints, author = {Witkin, Andrew and Kass, Michael}, title = {Spacetime constraints}, booktitle = {SIGGRAPH '88: Proceedings of the 15th annual conference on Computer graphics and interactive techniques}, year = {1988}, isbn = {0-89791-275-6}, pages = {159--168}, doi = {http://doi.acm.org/10.1145/54852.378507}, publisher = {ACM}, address = {New York, NY, USA}, } @phdthesis{popvic1999thesis, author = {Popovic, Zoran}, note = {Chair-Witkin, Andrew}, title = {Motion transformation by physically based spacetime optimization}, year = {1999}, isbn = {0-599-52017-5}, order_no = {AAI9950032}, publisher = {Carnegie Mellon University}, address = {Pittsburgh, PA, USA}, 31 } @inproceedings{liu2002synthesiscomplex, author = {Liu, C. Karen and Popovi\'{c}, Zoran}, title = {Synthesis of complex dynamic character motion from simple animations}, booktitle = {SIGGRAPH '02: Proceedings of the 29th annual conference on Computer graphics and interactive techniques}, year = {2002}, isbn = {1-58113-521-1}, pages = {408--416}, location = {San Antonio, Texas}, doi = {http://doi.acm.org/10.1145/566570.566596}, publisher = {ACM}, address = {New York, NY, USA}, } 31 Compute the next frame of motion taking into account - a desired pose state (eg tracking a reference motion, or applying constraints on end-effectors) - equations of motion Sumit Jain @INPROCEEDINGS{Vangelis04practicalphysics, author = {Evangelos
Recommended publications
  • Agx Multiphysics Download
    Agx multiphysics download click here to download A patch release of AgX Dynamics is now available for download for all of our licensed customers. This version include some minor. AGX Dynamics is a professional multi-purpose physics engine for simulators, Virtual parallel high performance hybrid equation solvers and novel multi- physics models. Why choose AGX Dynamics? Download AGX product brochure. This video shows a simulation of a wheel loader interacting with a dynamic tree model. High fidelity. AGX Multiphysics is a proprietary real-time physics engine developed by Algoryx Simulation AB Create a book · Download as PDF · Printable version. AgX Multiphysics Toolkit · Age Of Empires III The Asian Dynasties Expansion. Convert trail version Free Download, product key, keygen, Activator com extended. free full download agx multiphysics toolkit from AYS search www.doorway.ru have many downloads related to agx multiphysics toolkit which are hosted on sites like. With AGXUnity, it is possible to incorporate a real physics engine into a well Download from the prebuilt-packages sub-directory in the repository www.doorway.rug: multiphysics. A www.doorway.ru app that runs a physics engine and lets clients download physics data in real Clone or download AgX Multiphysics compiled with Lua support. Agx multiphysics toolkit. Developed physics the was made dynamics multiphysics simulation. Runtime library for AgX MultiPhysics Library. How to repair file. Original file to replace broken file www.doorway.ru Download. Current version: Some short videos that may help starting with AGX-III. Example 1: Finding a possible Pareto front for the Balaban Index in the Missing: multiphysics.
    [Show full text]
  • Luminosity | a Re-Imagining of Twilight | by Alicorn
    Luminosity by Alicorn You don't have to make a hundred mistakes for everything to disintegrate around you. One will do. One wrong risk, one misplaced trust, one careless guess is enough to destroy the one thing you can least afford to lose. But I'd never had any reason to imagine that my disaster would befall me at the time when I was most unexpectedly safe. pg. 1 1. Forks 2. The Cullens 3. The Reveal 4. Matchmaking 5. Vampires 101 6. Edward 7. Souls 8. The Future 9. Witches and Werewolves 10. Coven 11. Volterra 12. Norway 13. Newborn 14. Self-Control 15. Honeymoon 16. Ambition 17. Rachel 18. Clearwater 19. Denali 20. Europe 21. Hybrid 22. Maggie 23. Sue 24. Delivery 25. Expectations 26. Little Witch 27. Scatter 28. Ashes 29. Things Left Behind pg. 2 Forks Here is how I decided to live with my father in Washington. My favorite three questions are, What do I want?, What do I have?, and How can I best use the latter to get the former? Actually, I'm also fond of What kind of person am I?, but that one isn't often directly relevant to decision making on a day-to-day basis. What did I want? I wanted my mother, Renée, to be happy. She was the most important person to me, bar none. I also wanted her around, but when I honestly evaluated my priorities, it was more important that she be happy. If, implausibly, I had to choose between Renée being happy on Mars, and Renée being miserable living with me as she always had - I wouldn't be thrilled about it.
    [Show full text]
  • Jak Videohry Vyprávějí Příběhy Analýza Aktuálních Klíčových Videoher Hlavního Proudu
    Masarykova univerzita Filozofická fakulta Ústav hudební vědy Teorie interaktivních médií Bc. Jaroslav Kolář Magisterská diplomová práce Jak videohry vyprávějí příběhy Analýza aktuálních klíčových videoher hlavního proudu Vedoucí práce: Mgr. Zuzana Husárová, Ph.D. 2013 1 2 Čestné prohlášení Prohlašuji, že jsem práci vypracoval samostatně. Všechny prameny a literaturu, které jsem při vypracování používal, v práci řádně uvádím. V Brně, 4. ledna 2013 3 Narativní potenciál videoher byl na konci 20. století podceňován nebo zcela přehlížen. Vzhledem k rychlému vývoji na poli videoher je nutné přezkoumat aktuální situaci. Objektem této práce jsou klíčové videohry hlavního proudu vydané mezi lety 2010-2012. Podrobným vnímáním ludické a narativní podstaty vybraných videoher hledá tato práce odpověď na otázku „Jakým způsobem videohry vyprávějí příběhy?“ a to z perspektivy nahlížení na příběhy jako na transmediální fenomény. 4 První kapitola – Úvod ............................................................................................................................. 7 Cíl této práce ....................................................................................................................................... 9 Jak budu postupovat ............................................................................................................................ 9 Druhá kapitola – Uvedení do problematiky .......................................................................................... 10 Sjednocení důležitých pojmů ...........................................................................................................
    [Show full text]
  • The Search for the "Manchurian Candidate" the Cia and Mind Control
    THE SEARCH FOR THE "MANCHURIAN CANDIDATE" THE CIA AND MIND CONTROL John Marks Allen Lane Allen Lane Penguin Books Ltd 17 Grosvenor Gardens London SW1 OBD First published in the U.S.A. by Times Books, a division of Quadrangle/The New York Times Book Co., Inc., and simultaneously in Canada by Fitzhenry & Whiteside Ltd, 1979 First published in Great Britain by Allen Lane 1979 Copyright <£> John Marks, 1979 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior permission of the copyright owner ISBN 07139 12790 jj Printed in Great Britain by f Thomson Litho Ltd, East Kilbride, Scotland J For Barbara and Daniel AUTHOR'S NOTE This book has grown out of the 16,000 pages of documents that the CIA released to me under the Freedom of Information Act. Without these documents, the best investigative reporting in the world could not have produced a book, and the secrets of CIA mind-control work would have remained buried forever, as the men who knew them had always intended. From the documentary base, I was able to expand my knowledge through interviews and readings in the behavioral sciences. Neverthe- less, the final result is not the whole story of the CIA's attack on the mind. Only a few insiders could have written that, and they choose to remain silent. I have done the best I can to make the book as accurate as possible, but I have been hampered by the refusal of most of the principal characters to be interviewed and by the CIA's destruction in 1973 of many of the key docu- ments.
    [Show full text]
  • Physics Simulation Game Engine Benchmark Student: Marek Papinčák Supervisor: Doc
    ASSIGNMENT OF BACHELOR’S THESIS Title: Physics Simulation Game Engine Benchmark Student: Marek Papinčák Supervisor: doc. Ing. Jiří Bittner, Ph.D. Study Programme: Informatics Study Branch: Web and Software Engineering Department: Department of Software Engineering Validity: Until the end of summer semester 2018/19 Instructions Review the existing tools and methods used for physics simulation in contemporary game engines. In the review, cover also the existing benchmarks created for evaluation of physics simulation performance. Identify parts of physics simulation with the highest computational overhead. Design at least three test scenarios that will allow to evaluate the dependence of the simulation on carefully selected parameters (e.g. number of colliding objects, number of simulated projectiles). Implement the designed simulation scenarios within Unity game engine and conduct a series of measurements that will analyze the behavior of the physics simulation. Finally, create a simple game that will make use of the tested scenarios. References [1] Jason Gregory. Game Engine Architecture, 2nd edition. CRC Press, 2014. [2] Ian Millington. Game Physics Engine Development, 2nd edition. CRC Press, 2010. [3] Unity User Manual. Unity Technologies, 2017. Available at https://docs.unity3d.com/Manual/index.html [4] Antonín Šmíd. Comparison of the Unity and Unreal Engines. Bachelor Thesis, CTU FEE, 2017. Ing. Michal Valenta, Ph.D. doc. RNDr. Ing. Marcel Jiřina, Ph.D. Head of Department Dean Prague February 8, 2018 Bachelor’s thesis Physics Simulation Game Engine Benchmark Marek Papinˇc´ak Department of Software Engineering Supervisor: doc. Ing. Jiˇr´ıBittner, Ph.D. May 15, 2018 Acknowledgements I am thankful to Jiri Bittner, an associate professor at the Department of Computer Graphics and Interaction, for sharing his expertise and helping me with this thesis.
    [Show full text]
  • Locotest: Deploying and Evaluating Physics-Based Locomotion on Multiple Simulation Platforms
    LocoTest: Deploying and Evaluating Physics-based Locomotion on Multiple Simulation Platforms Stevie Giovanni and KangKang Yin National University of Singapore fstevie,[email protected] Abstract. In the pursuit of pushing active character control into games, we have deployed a generalized physics-based locomotion control scheme to multiple simulation platforms, including ODE, PhysX, Bullet, and Vortex. We first overview the main characteristics of these physics engines. Then we illustrate the major steps of integrating active character controllers with physics SDKs, together with necessary implementation details. We also evaluate and compare the performance of the locomotion control on different simulation platforms. Note that our work only represents an initial attempt at doing such evaluation, and additional refine- ment of the methodology and results can still be expected. We release our code online to encourage more follow-up works, as well as more interactions between the research community and the game development community. Keywords: physics-based animation, simulation, locomotion, motion control 1 Introduction Developing biped locomotion controllers has been a long-time research interest in the Robotics community [3]. In the Computer Animation community, Hodgins and her col- leagues [12, 7] started the many efforts on locomotion control of simulated characters. Among these efforts, the simplest class of locomotion control methods employs re- altime feedback laws for robust balance recovery [12, 7, 14, 9, 4]. Optimization-based control methods, on the other hand, are more mathematically involved, but can incor- porate more motion objectives automatically [10, 8]. Recently, data-driven approaches have become quite common, where motion capture trajectories are referenced to further improve the naturalness of simulated motions [14, 10, 9].
    [Show full text]
  • Physics Engine Design and Implementation Physics Engine • a Component of the Game Engine
    Physics engine design and implementation Physics Engine • A component of the game engine. • Separates reusable features and specific game logic. • basically software components (physics, graphics, input, network, etc.) • Handles the simulation of the world • physical behavior, collisions, terrain changes, ragdoll and active characters, explosions, object breaking and destruction, liquids and soft bodies, ... Game Physics 2 Physics engine • Example SDKs: – Open Source • Bullet, Open Dynamics Engine (ODE), Tokamak, Newton Game Dynamics, PhysBam, Box2D – Closed source • Havok Physics • Nvidia PhysX PhysX (Mafia II) ODE (Call of Juarez) Havok (Diablo 3) Game Physics 3 Case study: Bullet • Bullet Physics Library is an open source game physics engine. • http://bulletphysics.org • open source under ZLib license. • Provides collision detection, soft body and rigid body solvers. • Used by many movie and game companies in AAA titles on PC, consoles and mobile devices. • A modular extendible C++ design. • Used for the practical assignment. • User manual and numerous demos (e.g. CCD Physics, Collision and SoftBody Demo). Game Physics 4 Features • Bullet Collision Detection can be used on its own as a separate SDK without Bullet Dynamics • Discrete and continuous collision detection. • Swept collision queries. • Generic convex support (using GJK), capsule, cylinder, cone, sphere, box and non-convex triangle meshes. • Support for dynamic deformation of nonconvex triangle meshes. • Multi-physics Library includes: • Rigid-body dynamics including constraint solvers. • Support for constraint limits and motors. • Soft-body support including cloth and rope. Game Physics 5 Design • The main components are organized as follows Soft Body Dynamics Bullet Multi Threaded Extras: Maya Plugin, Rigid Body Dynamics etc. Collision Detection Linear Math, Memory, Containers Game Physics 6 Overview • High level simulation manager: btDiscreteDynamicsWorld or btSoftRigidDynamicsWorld.
    [Show full text]
  • Physics Application Programming Interface
    PHI: Physics Application Programming Interface Bing Tang, Zhigeng Pan, ZuoYan Lin, Le Zheng State Key Lab of CAD&CG, Zhejiang University, Hang Zhou, China, 310027 {btang, zgpan, linzouyan, zhengle}@cad.zju.edu.cn Abstract. In this paper, we propose to design an easy to use physics applica- tion programming interface (PHI) with support for pluggable physics library. The goal is to create physically realistic 3D graphics environments and inte- grate real-time physics simulation into games seamlessly with advanced fea- tures, such as interactive character simulation and vehicle dynamics. The actual implementation of the simulation was designed to be independent, interchange- able and separated from the user interface of the API. We demonstrate the util- ity of the middleware by simulating versatile vehicle dynamics and generating quality reactive human motions. 1 Introduction Each year games become more realistic visually. Current generation graphics cards can produce amazing high-quality visual effects. But visual realism is only half the battle. Physical realism is another half [1]. The impressive capabilities of the latest generation of video game hardware have raised our expectations of not only how digital characters look, but also they behavior [2]. As the speed of the video game hardware increases and the algorithms get refined, physics is expected to play a more prominent role in video games. The long-awaited Half-life 2 impressed the players deeply for the amazing Havok physics engine[3]. The incredible physics engine of the game makes the whole game world believable and natural. Items thrown across a room will hit other objects, which will then react in a very convincing way.
    [Show full text]
  • Mbk-Game Engine Lecture
    Game Tools MARY BETH KERY - ADVANCED USER INTERFACES SPRING 2017 2 person team 3 years ART 300 person team GAME DESIGN 10 years ENGINEERING Final Fantasy 15 PRODUCTION/BUSINESS TECHNICAL CHALLENGES OF VIDEO GAMES 1. Video games are real time complex simulations, and must be efficient. TECHNICAL CHALLENGES OF VIDEO GAMES 1. Video games are real time complex simulations, and must be efficient. 1999 Roller Coaster Tycoon written by one guy in x86 assembly language TECHNICAL CHALLENGES OF VIDEO GAMES 1. Video games are real time complex simulations, and must be efficient. Today, more flexibility in language Typically Object-Oriented Use development tools like Visual Studio or Eclipse TECHNICAL CHALLENGES OF VIDEO GAMES 2. People have high expectations for interactive worlds with lots of content TECHNICAL CHALLENGES OF VIDEO GAMES 2. People have high expectations for interactive worlds with lots of content Lots of content on tight deadlines. Glitches and crashes are BAD. TECHNICAL CHALLENGES OF VIDEO GAMES 3. Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of objects to compute and render at a time. TECHNICAL CHALLENGES OF VIDEO GAMES 3. Real time 3D graphics simulations 2016 graphics Pixar - Piper Final Fantasy 15 Gregory, Jason. Game engine architecture. CRC Press, 2009. Game Engines Tools that fit the pieces together Game Engine GAME ENGINES: HISTORY 1990s First-person shooters: Doom by id Software GAME ENGINES: HISTORY Architecture separates core software from game- specific assets ASSETS “ENGINE” SOFTWARE Art assets 3D graphics rendering Game Collision detection map/environments Audio system Rules of play GAME ENGINES: HISTORY 1990’s Separation of game engine allowed “mods” by replacing assets ASSETS “ENGINE” SOFTWARE Art assets 3D graphics rendering Game Collision detection map/environments Audio system Rules of play Not okay mod.
    [Show full text]
  • Systematic Literature Review of Realistic Simulators Applied in Educational Robotics Context
    sensors Systematic Review Systematic Literature Review of Realistic Simulators Applied in Educational Robotics Context Caio Camargo 1, José Gonçalves 1,2,3 , Miguel Á. Conde 4,* , Francisco J. Rodríguez-Sedano 4, Paulo Costa 3,5 and Francisco J. García-Peñalvo 6 1 Instituto Politécnico de Bragança, 5300-253 Bragança, Portugal; [email protected] (C.C.); [email protected] (J.G.) 2 CeDRI—Research Centre in Digitalization and Intelligent Robotics, 5300-253 Bragança, Portugal 3 INESC TEC—Institute for Systems and Computer Engineering, 4200-465 Porto, Portugal; [email protected] 4 Robotics Group, Engineering School, University of León, Campus de Vegazana s/n, 24071 León, Spain; [email protected] 5 Universidade do Porto, 4200-465 Porto, Portugal 6 GRIAL Research Group, Computer Science Department, University of Salamanca, 37008 Salamanca, Spain; [email protected] * Correspondence: [email protected] Abstract: This paper presents a systematic literature review (SLR) about realistic simulators that can be applied in an educational robotics context. These simulators must include the simulation of actuators and sensors, the ability to simulate robots and their environment. During this systematic review of the literature, 559 articles were extracted from six different databases using the Population, Intervention, Comparison, Outcomes, Context (PICOC) method. After the selection process, 50 selected articles were included in this review. Several simulators were found and their features were also Citation: Camargo, C.; Gonçalves, J.; analyzed. As a result of this process, four realistic simulators were applied in the review’s referred Conde, M.Á.; Rodríguez-Sedano, F.J.; context for two main reasons. The first reason is that these simulators have high fidelity in the robots’ Costa, P.; García-Peñalvo, F.J.
    [Show full text]
  • Appendix a Basic Mathematics for 3D Computer Graphics
    Appendix A Basic Mathematics for 3D Computer Graphics A.1 Vector Operations (),, A vector v is a represented as v1 v2 v3 , which has a length and direction. The location of a vector is actually undefined. We can consider it is parallel to the line (),, (),, from origin to a 3D point v. If we use two points A1 A2 A3 and B1 B2 B3 to (),, represent a vector AB, then AB = B1 – A1 B2 – A2 B3 – A3 , which is again parallel (),, to the line from origin to B1 – A1 B2 – A2 B3 – A3 . We can consider a vector as a ray from a starting point to an end point. However, the two points really specify a length and a direction. This vector is equivalent to any other vectors with the same length and direction. A.1.1 The Length and Direction The length of v is a scalar value as follows: 2 2 2 v = v1 ++v2 v3 . (EQ 1) 378 Appendix A The direction of the vector, which can be represented with a unit vector with length equal to one, is: ⎛⎞v1 v2 v3 normalize()v = ⎜⎟--------,,-------- -------- . (EQ 2) ⎝⎠v1 v2 v3 That is, when we normalize a vector, we find its corresponding unit vector. If we consider the vector as a point, then the vector direction is from the origin to that point. A.1.2 Addition and Subtraction (),, (),, If we have two points A1 A2 A3 and B1 B2 B3 to represent two vectors A and B, then you can consider they are vectors from the origin to the points.
    [Show full text]
  • Chapter 00. Why Java for Games Programming?
    Java Prog. Techniques for Games. Chapter 00. Why Java? Draft #1 (18th July '04) Chapter 00. Why Java for Games Programming? This is where I revisit many discussions (i.e. arguments) about why Java is not a crazy choice for games programming. Possibly this chapter isn't necessary since you're already convinced of Java's qualities. But maybe you're not quite sure. 1. First the Advantages, but briefly... One of my assumptions is that the reader (that's you) already has an introductory knowledge of Java, the sort of stuff gleaned from a semester's course at college. Near the start of that course, you'll have been regaled with Java's many advantages: object orientation, cross-platform support, code reuse, ease of development, tool availability, reliability and stability, good documentation, support from Sun Microsystems, low development costs, the ability to use legacy code (e.g. C, C++), and increased programmer productivity. Rather than explain each of them again, I'll take a different approach. I'll discuss Java's suitability for games programming in terms of the typical misconceptions/complaints wheeled out by people who think that games must be implemented in C, or C++, or assembler, or whatever (so long as its not Java). Here's the list, briefly: • Java is too slow for games programming; • Java has memory leaks; • Java is too high-level; • Java isn't supported on games consoles, so why bother using it; • No one uses Java to write real games; • Sun Microsystems isn't interested in supporting Java gaming. 2. Java is Too Slow for Games Programming They mean that Java is slow compared to C or C++, the dominant languages for games programming at the moment.
    [Show full text]