Function-based Time-dependent Shape Modeling on the Web

Size: px
Start display at page:

Download "Function-based Time-dependent Shape Modeling on the Web"

Transcription

1 Function-based Time-dependent Shape Modeling on the Web Qi Liu and Alexei Sourin Nanyang Technological University, Singapore Abstract In this paper we propose FVRML a function-based extension of Virtual Reality Modeling Language which allows for time-dependent shape modeling on the web. Shape s geometry, 3D texture, color and transformations can be defined with analytical functions typed straight in VRML code. These analytical functions can be functions of time. FVRML allows us to greatly extend the abilities of VRML with a very intuitive approach to shape modeling based on using analytical functions. Several functions can be combined into one using Java scripts emulated in FVRML, which allows for even greater flexibility and convenience of shape modeling. 1. Introduction Visual cyberworlds require computer generated objects to appear and feel like real objects, which assumes animated shape transformations to be an intrinsic part of each shared virtual environment. However only limited and polygon-based shape animation can be found there, specifically when using Virtual Reality Modeling Language (VRML) [1]. This greatly limits the expressive power of VRML and motivates our research in this direction. In this paper, we propose a hybrid approach to time-dependent shape modeling based on concurrent using implicit, explicit and parametric functions defining the shape s geometry, appearance and transformation through time. 1.1 Time-dependent web visualization with Virtual Reality Modeling Language Virtual Reality Modeling Language is an international standard file format widely used in creating and exchanging 3D objects and virtual worlds, as well as other multimedia and interactive elements such as video and audio clips, hyperlinks, sensors, etc. The basic elements of VRML are nodes, which are abstractions of various objects and concepts in real worlds. Different nodes can produce different events, which can be exchanged between the nodes and used as triggers for various purposes. By properly compositing these nodes, the virtual environment created by VRML can be animated following the user s interaction. In addition to interactions, standard VRML97 provides three time-dependent nodes, which allow for creating virtual environments dynamically changing through time. The time-dependent nodes are AudioClip, MovieTexture and TimeSensor. Based on their properties, we can classify them into two groups, Self-contained Time-dependent Nodes and Nonself-contained Time-dependent Nodes. Self-contained Time-dependent Nodes can be used independently of any additional nodes. These nodes always contain internal time sensing mechanisms which allow them to track changes of time. Usually, the selfcontained time-dependent nodes expose only a few parameters and events to other nodes. By changing these parameters, default behavior can be changed accordingly. In VRML97, AudioClip and MovieTexture belong to this group. Non-self-contained Time-dependent Nodes cannot be used on their own, and therefore they expose as much properties and events as possible for the sake of flexibility. TimeSensor is such a node. Combining the TimeSensor and various interpolators provided by VRML97, time-dependent objects can be modeled in two ways: either by time-dependent transformations of a static object, or by time-dependent morphing between several objects. This allows for only simple animation to be done. Time-dependent morphing proposed in [2] can achieve more sophisticated shape transformations. However, it requires using VRML s CoordinateInterpolator for each pair of objects which results in a very large file size even for simple objects. In order to reduce the file size, three morphing nodes were proposed to simplify the definition of the interpolation [3]. VectorInterpolator node, which interpolates a set of vectors linearly, can replace a set of interpolators. CoodinateMorpher node, and NormalMorpher node, which calculate the coordinates and normals of a morphing object, can replace the

2 JavaScripts and make the morphing algorithm more transparent to authors. An alternative approach is to replace a set of complex models with several simple parameters and coordinates which also reduces the file size of time-dependent objects. In [4], human avatars are simplified into segments and joints. With compression and decompression method, humanoid animations can be even transmitted through telephone lines [5]. In addition to this, common human motions can be predefined with several parameters. For example, in [6], avatars in virtual worlds can have several JavaScript controlled predefined motions (e.g. walking, running, gesticulating). Certain parts of avatars (e.g. face), which require detailed motion, may have more controlling parameters [7, 8]. Such message-based time-dependent visualization can be used in dynamic model presentation system [9]. However, it requires pre-installation of all models before visualization, which is not practical if frequent changes of the models is expected. Visualization of time-dependent scientific data can be done with VRML. The examples are web visualization of oceanographic data [ 10 ] and molecular quantum dynamics [11]. However, these approaches are modeldependent and they cannot be generalized. In conclusion, the ability of defining time-dependent object in VRML is still very limited and there is a room for further research on this topic motivated by large sizes of animated VRML objects, limited set of animated transformations, and limited set of time-dependent models. 1.2 Standard time-dependent VRML nodes In the VRML97 specification, both self-contained and non-self-contained time-dependent nodes have some common features. They can be activated and deactivated at specified times. Exposed fields starttime, stoptime, and loop are used to determine when the nodes become active or inactive. By analyzing the behavior of time-dependent nodes in standard VRML, we can classify the execution approaches according to the start, stop, and cycle controls. Understanding these matters is important for a proper and consistent design of the time-dependent node, which is presented in this paper. Time-dependent nodes can be started: 1. At the time of entering the virtual world 2. With a delay relative to the time of entering the virtual world, and 3. By a certain event with or without delay. Termination of time-dependent nodes can be done: 1. After executing one cycle 2. After executing a number of cycles 3. After certain time regardless to cycles 4. Caused by a certain event, and 5. Never. Time-dependent nodes can repeat: 1. With gaps between cycles, and 2. Without gaps between cycles. 2. Function-based shape modeling in VRML The extension of VRML with function-based shape modeling was proposed by the authors in [12] following the preliminary works [ 13, 14 ]. The proposed hybrid function-based nodes (FShape, FGeometry, FMaterial, FTexture3D, FAppearance, FTransform) allow for extending VRML97 with practically any type of object s geometry and sophisticated graphics appearances by defining the object s geometry, appearance (color and 3D texture) and transformations with analytical formulas which are implicit, explicit and parametric representations used concurrently. In contrast to the polygon-based models of VRML, function-based nodes greatly reduce the size of the models and provide an unlimited level of detail. Also, these nodes allow for using set-theoretic as well as any analytically-defined geometric operations which can be introduced by the user. Two types of functions are used in these nodes. They are explicit FRep functions [15] and parametric functions. FRep functions incorporate implicit surface representations and volume representations by implicit and explicit functions: f(x,y,z)=0; g=f(x,y,z) 0. Parametric functions define surfaces and solids as: x= φ 1 (u,v,w); y= φ 2 (u,v,w); z= φ 3 (u,v,w); Geometry, 3D texture, and color are defined by FRep or parametric functions in their own domains and then merged together into one shape by the predefined mapping functions. First, geometric textures are mapped onto the original shape, and then colors are mapped to the textured shape to form the final textured colored shape. This process repeats as many times as needed. For example, we can define an original shape parametrically: x = (1 0.3sin 5v) cosv (4 + cosu) y = (1 0.3sin 5v) sin v (4 + cosu) z = sinu u = [ π, π ], v = [ π, π ] Then, we map to this shape the geometric texture which is Perlin noise displacement defined by the FRep function: g = 0.1(sin 2π xsin 2πy + sin 2πx sin 2πz + sin 2πy sin 2πz) Finally a parametrically-defined color is applied onto the textured shape by mapping the colored plane onto the shape: r = 1; g = sin u ; b = 0; With these two parametric and one FRep functions, the final shape is defined as it is shown in Figure 1.

3 Texture shape Figure 1. Modeling shape by consecutive definition of its geometry, texture and color Though very efficient, the developed function-based nodes have two limitations: 1. They do hot support time-dependent functions, and 2. Only single formula can be typed in function definitions. These problems are resolved in our work. 3. Time-dependent FVRML nodes Color shape 3.1 Time-dependent FVRML prototypes Based on the idea of employing analytical functions for defining time-dependent geometry, texture and color, the nodes proposed in [12] must be extended accordingly to constitute the new Function-based Extension of VRML (FVRML). In order to define time-dependent shapes, we introduce an additional argument representing the time. Therefore, to define time-dependent shapes four arguments of FRep or parametric functions are to be used. Since we do not want to impose any restrictions on mathematical functions which can be treated as functions of time, it appears feasible to allow for defining any range of the time parameter including negative real numbers. Eventually, this time domain will be somehow, e.g. linearly, mapped to the real time which is used in VRML s animation. In Section 1 we have identified several possible patterns of using time-dependent objects in VRML. The proposed FVRML extension must be consistent with them. Moreover, in order to ease its use, it appears feasible to allow the new nodes work in two modes: as selfcontained nodes for novice users, and as nodes communicating with TimeSensors for more advance applications. While in VRML cycletime is missing in the self-contained nodes, we will include this field in our prototypes. The proposed prototypes are shown in Appendix. The time-related events and fields are typed in bold. In this prototype, timespan defines the range of the time used in visualization. Event set_fraction is designed to communicate with an external TimeSensor whose fraction_changed event will be routed. Other fields and events are designed to be consistent with the VRML97 TimeSensor. Since the fields and events provided by TimeSensor are exposed, all time-controlled cases considered in Section 1.3, including three start controls, five stop controls and two cycle controls, can be easily implemented following either the self-contained schemes or the schemes for TimeSensor node. 3.2 Function scripts Defining complex shapes, appearances and operations usually assumes using multiple formulas and temporary variables. This requires a script-like mathematical language. To be consistent with VRML97, which has a JavaScript as a standard feature, and to ease the learning curve, we emulated in the FVRML a subset of JavaScipt. In this JavaScript emulation, all variables, arrays and constants have only one type float. The following mathematical functions are implemented: abs(x), sqrt(x), exp(x), log(x), sin(x), cos(x), tan(x), acos(x), asin(x), atan(x), ceil(x), floor(x), round(x), max(x,y), min(x,y), atan2(y,x), mod(x,y), cosh(x), sinh(x), tanh(x), log10(x). We also introduced three operators &, and ^, which represent intersection, union, and power operations, respectively. Custom functions can be defined in the same way as defining a function in JavaScript. Recursions are allowed. There are also the following flow control operators: for-loops, while-loops, do-while-loops, break, continue, and if-else. The script is compiled into intermediate codes when it is loaded or changed. The intermediate codes are executed by a virtual machine whenever evaluation is required. If a function named FRep with three or four arguments exists in the script, the script is recognized as a definition of FRep function. Otherwise, functions named parametric_x, parametric_y, and parametric_z (for shapes and geometric textures), or parametric_r, parametric_g, and parametric_b (for colors) must be used to define parametric functions. If all these four functions exist concurrently, FRep function will have priority.

4 3.3 Examples of shape metamorphoses With the proposed FVRML prototypes and scripts, animated shape metamorphoses can be easily defined as time-dependent transformations of shape s geometry, 3D texture and color. We will illustrate these transformations using a linear function interpolation: f( abc,, ) = f1( abc,, )(1 t) + f2( abct,, ) where parameter t is in the range [0, 1]. In this formula, function f 1 defines the initial shape s geometry, texture or color, while function f 2 represents the final shape s geometry, texture or color, respectively. For FRep functions, arguments a,b,c are Cartesian coordinates, and only one such a morphing function is needed. For parametric functions, arguments a,b,c are coordinates in parametric domain, and three morphing functions are needed to define Cartesian coordinates x,y,z, respectively. In Figure 2, three snapshots of geometric morphing from the snail-like shape to the star-like shape are shown. The FVRML code of this morphing transformation is shown in Listing 1. Both, the initial and final shapes are defined in FVRML parametrically inside the function script. The time-dependent shape is defined as a linear interpolation between the initial and final shapes. The internal timer of the FShape node is used for defining an infinite looping with period 5 sec, while the time within the script is changing in the range [0, 1]. Besides geometric morphing, FVRML is also capable of defining concurrent metamorphoses of geometric textures and colors. In Figure 3, the geometric texture is being grown on the initial shape as a time-dependent process. The texture is defined by a time-dependent displacement which value is controlled by Perlin noise function as it was illustrated in Section 2. The swing animation combining into an infinite loop the growth of texture and the reverse process is defined in the FVML code shown in Listing 2. In this code, both internal and external time sensors are used to define a gap between two cycles. The internal timer defines a single 5 sec execution of the node. The external timer defines an infinite looping with 7 sec duration of each cycle. Thus there will be a 2 sec time gap between each cycle. Note that in this example the explicitly defined time-dependent geometric texture is mapped onto the parametrically defined geometric shape and the resulting shape is colored by the explicit functions. In Figure 4, we show four snapshots of the timedependent color metamorphoses on a surface of the function-defined shape. In this case, the shape remains static, but the colors on the shape are permuting in a fancy way. The FVRML code of this color transformation is shown in Listing 3. In this code the external time sensor is used in place of the internal one. Figure 2. Geometric morphing #VRML V2.0 utf8 FVRML PROTOs are omitted to save space FShape { enabled TRUE cycleinterval 5 loop TRUE Infinite looping with period 5 sec is defined diffusecolor "sin(sqrt(x*x+y*y+z*z) * pi)" patterncolor [ ] patternkey [-1 1] type "analytical" } } geometry FGeometry { resolution [50 50] parameters [ ] definition " Fancy color is defined by an explicit function function snail_x(u,v,w) { return 0.03*pi*v*(10+5*cos(pi*u))*cos(3*pi*v); } function snail_y(u,v,w) { return 0.03*pi*v*(10+5*cos(pi*u))*sin(3*pi*v); } function snail_z(u,v,w) { return 0.03*pi*v*(6+5*sin(pi*u)); } Final shape function star_x(u,v,w) { return ( *sin(v*5*pi))*cos(v*pi)*(4+cos(u*pi)); } function star_y(u,v,w) { return ( *sin(v*5*pi))*sin(v*pi)*(4+cos(u*pi)); } function star_z(u,v,w) { return 0.2*sin(u*pi); } Initial shape Morphing as a function of time function parametric_x(u,v,w,t) { return snail_x(u,v,w)*(1-t)+star_x(u,v,w)*t; } function parametric_y(u,v,w,t) { return snail_y(u,v,w)*(1-t)+star_y(u,v,w)*t; } function parametric_z(u,v,w,t) { return snail_z(u,v,w)*(1-t)+star_z(u,v,w)*t; }" type "script" } } Listing 1. FVRML code of the time-dependent shape morphing shown in Figure 1.

5 Figure 3. Growing texture #VRML V2.0 utf8 FVRML PROTOs are omitted to save space DEF shape FShape { cycleinterval 5 loop FALSE 5 sec duration and a single execution of the cycle are defined diffusecolor "r=1;g=fabs(sin(u));b=0;" type "analytical" } Time span used in texture3d FTexture3D { the texture function timespan definition "fabs(t-0.2)*(sin(2*pi*x)*sin(2*pi*y)+ sin(2*pi*x)*sin(2*pi*z)+sin(2*pi*y)*sin(2*pi*z))" type "displacement" } } geometry FGeometry { resolution [50 50] parameters [ ] 3D texture is defined with an explicit function definition "x=(1-0.3*sin(v*5*pi))*cos(v*pi)*(4+cos(u*pi)); y=(1-0.3*sin(v*5*pi))*sin(v*pi)*(4+cos(u*pi)); z=sin(u*pi);" type "analytical" } } DEF Time TimeSensor { loop TRUE cycleinterval 7 } Infinite looping and 7 sec period are defined with TimeSensor ROUTE Time.cycleTime TO shape.starttime Figure 4. Animated color permutations #VRML V2.0 utf8 FVRML PROTOs are omitted to save space DEF shape FShape { enabled FALSE } Internal timer is disabled timespan diffusecolor "sin(sqrt(x*x+y*y+z*z) * pi + t)" patterncolor [ ] patternkey [-1 1] type "analytical" } } Time-dependent color is defined explicitly geometry DEF geo FGeometry { resolution [ ] parameters [ ] definition " x=(0.3*sin(10*(u*pi+v*pi))+1)*cos(u*pi); y=(0.3*sin(10*(u*pi+v*pi))+1)*sin(u*pi)*cos(v*pi); z=(0.3*sin(10*(u*pi+v*pi))+1)*sin(u*pi)*sin(v*pi);" type "analytical" } DEF Time TimeSensor { cycleinterval 5 loop TRUE } Infinite looping with 5 sec period is defined with external ROUTE Time.fraction_changed TO shape.set_fraction Listing 2. FVRML code defining the process of growing 3D texture Listing 3. FVRML code defining dynamic color permutations

6 FVRML allows for defining operations with analytical functions. Therefore, the linear morphing used in the previous examples can be defined as a custom-defined operator to make programming even easier. For example, the geometric morphing defined in Listing 1 can be also defined as it is done in Listing 4. In this example we also illustrate a concurrent definition of time-dependent transformations of geometry and color. 3D texture also can be transformed concurrently with geometry and color. FTransform { cycleinterval 10 loop TRUE timespan 0 1 operation "f*(1-t)+g*t" type "analytical" polygonizer "analytical" parameters [ ] children [ } Morphing transformations defined analytically Time-dependent color FShape { timespan diffusecolor "sin(sqrt(x*x+y*y+z*z) * pi + t)" patterncolor [ ] patternkey [-1 1] type "analytical" } } geometry FGeometry { resolution [ ] definition " function parametric_x(u,v,w) Initial shape {return 0.03*pi*v*(10+5*cos(pi*u))*cos(3*pi*v);} function parametric_y(u,v,w) {return 0.03*pi*v*(10+5*cos(pi*u))*sin(3*pi*v);} function parametric_z(u,v,w) {return 0.03*pi*v*(6+5*sin(pi*u));}" type "script" } } FShape { Time-dependent color timespan diffusecolor "sin(sqrt(x*x+y*y+z*z) * pi + t)" patterncolor [ ] patternkey [-1 1] type "analytical" } } geometry FGeometry { resolution [ ] definition " function parametric_x(u,v,w) Final shape {return ( *sin(v*5*pi))*cos(v*pi)*(4+cos(u*pi));} function parametric_y(u,v,w) {return ( *sin(v*5*pi))*sin(v*pi)*(4+cos(u*pi));} function parametric_z(u,v,w) {return 0.2*sin(u*pi);}" type "script" } } ] Listing 4. Using user-defined operations and scripts The proposed FVRML extension is being used when teaching computer graphics at the School of Computer Engineering of Nanyang Technological University, Singapore. This is a part of computer graphics assignments Implicit Fantasies and Parametric Metamorphoses where the students have to design complex animated function-defined VRML scenes. These scenes are then used as meeting places of the Virtual Campus of NTU[16] a cyberworld built with blaxxun Contact platform, VRML, AIML, and multimedia files. The snapshot of the graphics window of the interactive collaborative modeling session at the Virtual Shape Modeling Laboratory [12,13], which is a part of the Virtual Campus, is shown in Figure 5. Figure 5. Parametric Metamorphoses in Collaborative Shape Modeling Laboratory 4. Implementation details During implementation, several important factors must be considered. First, the development platform must be chosen reasonably. Second, the visualization pipeline must be designed properly and efficiently. Finally, the implementation of scripts must be elegant and sufficient, since the functions require numerous evaluations. 4.1 Development platform When choosing the development platform, several considerations have been taken into account. First, FVRML extension is a general extension of the standard VRML, so its implementation must not stick to one specific browser. Though the implementation itself may not be portable across browsers or platforms, at least the source code of the implementation should be adaptable to other browsers with only minor modifications. Second, the implementation must act as a part of the existing

7 browser, rather than a stand-along application. Third, the implementation itself must be transparent so that its presence must not be evident to the user if they are not using it. Also, if not installed, no errors must happen when the FVRML code is found in the standard VRML code. Finally, the implementation must have good performance. Based on these considerations, we have investigated all possible ways of implementing FVRML: plug-in customization, VRML External Authoring Interface (EAI), and VRML script. We have chosen VRML script and C++ as the most optimal solution. VRML script is a part of the standard VRML, so it is browser-independent and can be integrated into the browsers. Scripts are totally transparent to the users. Even if they are missing, no errors will be generated. C++ is known as a very efficient programming language. Of course, it is not truly crossplatform, and there is no standard for implementing C++ scripts for different browsers. Nevertheless, since the architectures of the VRML browsers are similar, and we do not use any platform specific features, C++ codes can be easily ported to different browsers and platforms. 4.2 Script implementation details The compiler of the script is built with the skeleton code generated by Yet Another Compiler Compiler (YACC) from the Backus Naur Form (BNF) definition of the script. For each user-defined function, the intermediate code is generated and stored in the memory. In order to achieve better performance, the pre-defined mathematical functions are defined by C++ code instead of intermediate code. In order to simplify the implementation, for each expression in the script, no more than one thousand mathematical operations are allowed. Longer expressions are to be split into several notations using temporary variables. Since floating point number is the only possible data type, whenever accessing an array the index of the array will be rounded up to the nearest integer. For example, definition array[1.6] is equivalent to array[2]. 4.3 Visualization pipeline To implement time-dependent FVRML extension, a new visualization pipeline must have been designed. Furthermore, time-dependent objects should be rendered and changed continuously while users are able to interact and navigate through the virtual worlds. Thus, multithreading techniques have been adopted in order to avoid blocking interacting and rendering functionality of the VRML browsers. By taking it into account, our visualization pipeline for time-dependent FVRML objects consists of two threads and eight modules, which are Parser, Compiler, TimeGenerator, ShapeGenerator, TextureGenerator, ColorGenerator, TransformOperator, and Polygonizer. One thread is responsible for parsing and compiling the source code into an intermediate code executed by virtual machine, while the other thread is responsible for conversion of the time-dependent function-based model into polygons. For each specific frame, one set of polygons can be either generated on-the-fly or cached. 5. Conclusion and future work In this paper we propose a new function-based extension of VRML which allows for defining timedependent shapes. The shapes are defined by analytical functions, which define shape s geometry, 3D texture and color. All these functions can be functions of time. The functions can be grouped into scripts which follow the JavaScript syntax to be consistent with VRML. Custom time-dependent operations can be defined by analytical functions as well. With the proposed extension, programming of fancy animated shape metamorphoses becomes very easy in VRML. Sophisticated shaped can be defined without increasing the file size as it normally happens when polygon-based models of VRML97 are used. The developed FVRML extension was successfully used when teaching computer graphics and shape modeling at Nanyang Technological University. The FVRML plug-in and examples are available at the project s web page [17]. References [1] International Standardization Organization (ISO) ISO JTC1 SC24. VRML97, ISO/IEC , [2] Marc Alexa and Wolfgang Muller, The morphing space, Proc. WSCG 99, [3] Marc Alexa, Johannes Behr, and Wolfgang Muller, The morph node, Proc. 5th Symp. Virtual Reality ModelingLanguage (Web3D-VRML), 2000, pp [4] Humanoid Animation Working Group (H-ANIM), H- Anim 200x specification, [5] Toshiya Naka, Yoshiyuki Mochizuki, Toshiki Hijiri, Tim Cornish, and Shigeo Asahara, A compression/decompression method for streaming based humanoid animation, Proc. 4th Symp. Virtual Reality Modeling Language, 1999, pp [6] Yi-Lin Liu and Tsai-Yen Li, A multi-user virtual environment system with extensible animations, Proc. ACM Web3D, 2003, pp [7] Gaspard Breton, Christian Bouville, and Danielle Pele, FaceEngine a 3D facial animation engine for

8 real time applications, Proc. ACM Web3D 01, 2001, pp [8] Igor S. Pandzic, Facial animation framework for the web and mobile platforms, Proc. ACM Web3D 02, 2002, pp [9] Andrea Esuli, Antonio Cisternino, Giuliano Pacini, and Maria Simi, Multimodal presentation of dynamic object scenarios on the web, Proc. ACM Web3D 03, 2003, pp [10] Jonathan C. Roberts, Publishing Time Dependent Oceanographic Visualizations using VRML, Proc. 5th UK Virtual Reality Special Interest Group -- VRSIG '98, [11] R. Andrew Davies, Nigel W. John, John N. MacDonald, and Keith H. Hughes, Visualization of molecular quantum dynamics: a molecular visualization tool with integrated Web3D and haptics, Proc. ACM Web3D '05, 2005, pp [12] Qi Liu and Alexei Sourin, Function-based Representation of Complex Geometry Appearance, Proc. ACM Web3D '05, 2005, pp [13] Qi Liu, Alexei Sourin, Analytically-defined Collaborative Shape Modeling in VRML, Proc. Int. Conf. Cyberworlds, CW2004, Tokyo, November, 2004, pp [14] Lai Feng Min, Alexei Sourin, "Function-defined shape node for VRML", Eurographics 2002, Short Presentations, ISSN , pp , [15] A.A.Pasko, V.D.Adzhiev, A.I.Sourin, V.V.Savchenko, Function Representation in Geometric Modeling: Concepts, Implementations and Applications, Visual Computer, 11:8, 1995, [16] A.Sourin, Nanyang Technological University Virtual Campus, IEEE Computer Graphics & Applications, 24:6, 2004, 6-8. [17] Hybrid Function Based Web Visualization, Appendix. FVRML Prototypes PROTO FGeometry [ exposedfield SFString definition "" exposedfield MFFloat parameters [0] exposedfield MFInt32 resolution [ ] exposedfield SFVec3f bboxcenter exposedfield SFVec3f bboxsize exposedfield SFString type "" exposedfield SFVec2f timespan 0 1 ] PROTO FMaterial [ exposedfield SFString diffusecolor "" exposedfield SFString type "" exposedfield MFColor patterncolor [] exposedfield MFFloat patternkey [] exposedfield SFFloat ambientintensity 0.2 exposedfield SFColor emissivecolor exposedfield SFFloat shininess 0.2 exposedfield SFColor specularcolor exposedfield SFFloat transparency 0 exposedfield SFVec2f timespan 0 1 ] PROTO FTexture3D [ exposedfield SFString definition "" exposedfield SFString type "" exposedfield MFFloat parameters [0] exposedfield SFVec2f timespan 0 1 ] PROTO FAppearance [ exposedfield SFNode material NULL exposedfield SFNode texture NULL exposedfield SFNode texturetransform NULL exposedfield SFNode texture3d NULL eventin SFBool refresh ] PROTO FShape [ exposedfield SFNode geometry NULL exposedfield SFNode appearance NULL exposedfield SFString polygonizer "analytical" eventin SFBool refresh exposedfield SFTime starttime 0 exposedfield SFTime stoptime 0 exposedfield SFTime cycleinterval 1 exposedfield SFBool loop FALSE exposedfield SFBool enabled TRUE eventout SFTime cycletime eventin SFFloat set_fraction ] PROTO FTransform [ exposedfield SFString operation "union" exposedfield SFString type "setoperator" exposedfield SFString polygonizer "analytical" exposedfield MFFloat parameters [0] exposedfield SFVec3f center exposedfield SFRotation rotation exposedfield SFVec3f scale exposedfield SFRotation scaleorientation exposedfield SFVec3f translation exposedfield MFNode children [] eventin SFBool refresh exposedfield SFVec2f timespan 0 1 exposedfield SFTime starttime 0 exposedfield SFTime stoptime 0 exposedfield SFTime cycleinterval 1 exposedfield SFBool loop FALSE exposedfield SFBool enabled TRUE eventout SFTime cycletime eventin SFFloat set_fraction ]

Function-defined Shape Metamorphoses in VRML

Function-defined Shape Metamorphoses in VRML Function-defined Shape Metamorphoses in VRML Qi Liu * and Alexei Sourin Nanyang Technological University, Singapore Abstract In this paper we propose FVRML a function-based extension of Virtual Reality

More information

Function-based Shape Modeling and Visualization in X3D

Function-based Shape Modeling and Visualization in X3D Function-based Shape Modeling and Visualization in X3D Qi Liu * School of Computer Engineering Nanyang Technological University Alexei Sourin School of Computer Engineering Nanyang Technological University

More information

VRML for Visualization

VRML for Visualization VRML for Visualization James Earl Johnson ABSTRACT: VRML, the Virtual Reality Modeling Language, is heading for a browser near you. VRML promises a write once, view anywhere capability for visualizing

More information

Introduction to Virtual Environments - Spring Wernert/Arns. Lecture 4.2 Animation & Interaction

Introduction to Virtual Environments - Spring Wernert/Arns. Lecture 4.2 Animation & Interaction Introduction to Virtual Environments - Spring 2004 - Wernert/Arns Lecture 4.2 Animation & Interaction Outline 1. Animation Techniques & Concepts 2. Input & Event Concepts 3. Implementation Details 0. Resources

More information

VRML++: A Language for Object-Oriented Virtual-Reality Models

VRML++: A Language for Object-Oriented Virtual-Reality Models VRML++: A Language for Object-Oriented Virtual-Reality Models Stephan Diehl FB 14 - Informatik, Universität des Saarlandes, Postfach 15 11 50, 66041 Saarbrücken, GERMANY Email: diehl@cs.uni-sb.de, WWW:

More information

VSPLUS: A High-level Multi-user Extension Library For Interactive VRML Worlds

VSPLUS: A High-level Multi-user Extension Library For Interactive VRML Worlds VSPLUS: A High-level Multi-user Extension Library For Interactive VRML Worlds Yoshiaki Araki Graduate School of Media And Governance, Keio University 5322 Endo Fujisawa Kanagawa 252, JAPAN Sony Music Entertainment

More information

Einführung in die Erweiterte Realität - 4. VRML - Gudrun Klinker Nov 11, 2003

Einführung in die Erweiterte Realität - 4. VRML - Gudrun Klinker Nov 11, 2003 Einführung in die Erweiterte Realität - 4. VRML - Gudrun Klinker Nov 11, 2003 Agenda 1. General information on VRML 2. Basic concepts: minimal VRML worlds 3. Combination of several objects 4. Model reusability

More information

Introduction to X3D. Roberto Ranon HCI Lab University of Udine, Italy

Introduction to X3D. Roberto Ranon HCI Lab University of Udine, Italy Introduction to X3D Roberto Ranon ranon@dimi.uniud.it HCI Lab University of Udine, Italy http://hcilab.uniud.it Outline What is X3D? X3D basics including some new capabilities and details on the (near)

More information

High Dynamic Range Image Texture Mapping based on VRML

High Dynamic Range Image Texture Mapping based on VRML High Dynamic Range Image Texture Mapping based on VRML Sung-Ye Kim and Byoung-Tae Choi 3D Graphics Research Team, Virtual Reality Research and Development Department, Computer Software Research Laboratory,

More information

Function-based 3D Web Visualization

Function-based 3D Web Visualization Function-based 3D Web Visualization Lai Feng Min 1 Alexei Sourin 2 Konstantin Levinski 2 1 Creative Technology Ltd., Singapore 2 Nanyang Technological University, Singapore fmlai@ctl.creative.com assourin@ntu.edu.sg

More information

Extending VRML by One-Way Equational Constraints

Extending VRML by One-Way Equational Constraints Extending VRML by One-Way Equational Constraints Stephan Diehl Abstract In this paper we discuss how VRML can be extended by one-way equational constraints. We give the syntax of our extension, discuss

More information

Application-level graphic streaming channel

Application-level graphic streaming channel Application-level graphic streaming channel Patricio Inostroza Dpto. de Ciencias de la Computación U. Chile Av. Blanco Encalada 2120, Casilla 2777 Santiago Chile Patricio.Inostroza@dcc.uchile.cl Jacques

More information

Shadow Maps and Projective Texturing In X3D

Shadow Maps and Projective Texturing In X3D Shadow Maps and Projective Texturing In X3D michalis.kambi@gmail.com Institute of Computer Science University of Wrocław, Poland Web3D 2010 Outline 1 Motivation and Previous Work Motivation Previous Work

More information

The Morph Node ABSTRACT INTRODUCTION. Example: Facial Animations. Marc Alexa 1 Johannes Behr 2 Wolfgang Müller 1

The Morph Node ABSTRACT INTRODUCTION. Example: Facial Animations. Marc Alexa 1 Johannes Behr 2 Wolfgang Müller 1 The Morph Node Marc Alexa 1 Johannes Behr 2 Wolfgang Müller 1 1 Darmstadt University of Technology, GRIS 2 Computer Graphics Center, Darmstadt ABSTRACT We discuss potential and limitations of a Morph Node,

More information

Virtual Reality & Physically-Based Simulation

Virtual Reality & Physically-Based Simulation Virtual Reality & Physically-Based Simulation Scenegraphs & Game Engines G. Zachmann University of Bremen, Germany cgvr.cs.uni-bremen.de Overall System Architecture Game Logic & AI Sound Renderer (sound

More information

Introductory element Main element Part n: Projective Texture Mapping

Introductory element Main element Part n: Projective Texture Mapping WORKING DRAFT ISO/WD nnn-n Introductory element Main element Part n: Projective Texture Mapping 1. Introduction 1.1 Name The name of this component is "Projective Texture Mapping". This name shall be used

More information

Topics. Overview of VRML 97 VRML Today After VRML

Topics. Overview of VRML 97 VRML Today After VRML VRML Ruth Aylett Topics Overview of VRML 97 VRML Today After VRML What is VRML? VR modelling language NOT a programming language! Open standard (1997) for Internet sharing of 3D files and Virtual Worlds

More information

Multimedia Signals and Systems Virtual Reality and VRML

Multimedia Signals and Systems Virtual Reality and VRML Multimedia Signals and Systems Virtual Reality and VRML Kunio Takaya Electrical and Computer Engineering University of Saskatchewan January 16, 2008 ** Go to full-screen mode now by hitting CTRL-L 1 Contents

More information

Information technology Computer graphics, image processing and environmental representation Projective texture mapping

Information technology Computer graphics, image processing and environmental representation Projective texture mapping ISO 2002 All rights reserved Reference number of working document: ISO/IEC SC 24N 000 Date: 2014-08-11 Reference number of document: ISO/WD nnn-n Committee identification: ISO/TC 000/SC 0/WG 0 Secretariat:

More information

Summary of basic C++-commands

Summary of basic C++-commands Summary of basic C++-commands K. Vollmayr-Lee, O. Ippisch April 13, 2010 1 Compiling To compile a C++-program, you can use either g++ or c++. g++ -o executable_filename.out sourcefilename.cc c++ -o executable_filename.out

More information

Virtual Intelligent. Environments

Virtual Intelligent. Environments Virtual Intelligent 1 Environments Prof. Dr.-Ing. habil. Wolfgang Oertel Faculty Information Technology / Mathematics University of Applied Sciences Dresden 1. Introduction to Virtual Intelligent Environments

More information

Virtual Reality Modeling Language Templates for Dynamic Model Construction

Virtual Reality Modeling Language Templates for Dynamic Model Construction Virtual Reality Modeling Language Templates for Dynamic Model Construction T. Kim a and P. Fishwick b, U. of Florida Computer and Information Science and Engineering Department University of Florida, Gainesville,

More information

Interactive Authoring Tool for Extensible MPEG-4 Textual Format (XMT)

Interactive Authoring Tool for Extensible MPEG-4 Textual Format (XMT) Interactive Authoring Tool for Extensible MPEG-4 Textual Format (XMT) Kyungae Cha 1 and Sangwook Kim 2 Abstract. MPEG-4 is an ISO/IEC standard which defines a multimedia system for communicating interactive

More information

The Number object. to set specific number types (like integer, short, In JavaScript all numbers are 64bit floating point

The Number object. to set specific number types (like integer, short, In JavaScript all numbers are 64bit floating point Internet t Software Technologies JavaScript part three IMCNE A.A. 2008/09 Gabriele Cecchetti The Number object The JavaScript Number object does not allow you to set specific number types (like integer,

More information

1 Week 1: Basics of scientific programming I

1 Week 1: Basics of scientific programming I MTH739N/P/U: Topics in Scientific Computing Autumn 2016 1 Week 1: Basics of scientific programming I 1.1 Introduction The aim of this course is use computing software platforms to solve scientific and

More information

AMS 27L LAB #1 Winter 2009

AMS 27L LAB #1 Winter 2009 AMS 27L LAB #1 Winter 2009 Introduction to MATLAB Objectives: 1. To introduce the use of the MATLAB software package 2. To learn elementary mathematics in MATLAB Getting Started: Log onto your machine

More information

Interactive Visualization of Mathematics in 3D Web

Interactive Visualization of Mathematics in 3D Web 2012 International Conference on Cyberworlds Interactive Visualization of Mathematics in 3D Web Danbo Lai and Alexei Sourin Nanyang Technological University Singapore e-mail: LA0001BO@e.ntu.edu.sg, assourin

More information

APPENDIX P. Derived Parameter Specification

APPENDIX P. Derived Parameter Specification APPENDIX P Derived Parameter Specification Acronyms... P-iii 1.0 Derived Parameter Definition... P-5 2.0 Derived Algorithm Grammar: Components... P-5 3.0 Operators... P-6 3.1 Arithmetic Operators... P-6

More information

CSI31 Lecture 5. Topics: 3.1 Numeric Data Types 3.2 Using the Math Library 3.3 Accumulating Results: Factorial

CSI31 Lecture 5. Topics: 3.1 Numeric Data Types 3.2 Using the Math Library 3.3 Accumulating Results: Factorial CSI31 Lecture 5 Topics: 3.1 Numeric Data Types 3.2 Using the Math Library 3.3 Accumulating Results: Factorial 1 3.1 Numberic Data Types When computers were first developed, they were seen primarily as

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB Dr./ Ahmed Nagib Mechanical Engineering department, Alexandria university, Egypt Sep 2015 Chapter 5 Functions Getting Help for Functions You can use the lookfor command to find functions

More information

Integrating Support for Collaboration-unaware VRML Models into Cooperative Applications

Integrating Support for Collaboration-unaware VRML Models into Cooperative Applications Integrating Support for Collaboration-unaware VRML Models into Cooperative Applications Werner Geyer, Martin Mauve University of Mannheim, Germany {geyer, mauve}@pi4.informatik.uni-mannheim.de Abstract

More information

Telemetry Standards, IRIG Standard (Part 1), Appendix P, June 2011 APPENDIX P DERIVED PARAMETER SPECIFICATION. Paragraph Title Page

Telemetry Standards, IRIG Standard (Part 1), Appendix P, June 2011 APPENDIX P DERIVED PARAMETER SPECIFICATION. Paragraph Title Page APPENDIX P DERIVED PARAMETER SPECIFICATION Paragraph Title Page 1.0 Derived Parameter Definition... P-1 2.0 Derived Algorithm Grammar: Components... P-1 3.0 Operators... P-2 4.0 Numeric Constants... P-4

More information

High Level Graphics Programming & VR System Architecture

High Level Graphics Programming & VR System Architecture High Level Graphics Programming & VR System Architecture Hannes Interactive Media Systems Group (IMS) Institute of Software Technology and Interactive Systems Based on material by Dieter Schmalstieg VR

More information

Maths Functions User Manual

Maths Functions User Manual Professional Electronics for Automotive and Motorsport 6 Repton Close Basildon Essex SS13 1LE United Kingdom +44 (0) 1268 904124 info@liferacing.com www.liferacing.com Maths Functions User Manual Document

More information

3D on the WEB and Virtual Humans

3D on the WEB and Virtual Humans 3D on the WEB and Virtual Humans Christian Babski, Daniel Thalmann Computer Graphics Laboratory, Swiss Federal Institute of Technology CH1015 Lausanne, Switzerland {babski,boulic,thalmann}@lig.di.epfl.ch

More information

Product Price Formula extension for Magento2. User Guide

Product Price Formula extension for Magento2. User Guide Product Price Formula extension for Magento2 User Guide version 1.0 Page 1 Contents 1. Introduction... 3 2. Installation... 3 2.1. System Requirements... 3 2.2. Installation...... 3 2.3. License... 3 3.

More information

Grouping Nodes. X3D Graphics for Web Authors. Chapter 3

Grouping Nodes. X3D Graphics for Web Authors. Chapter 3 X3D Graphics for Web Authors Chapter 3 Grouping Nodes A Working Group is a technical committee that researches and proposes solutions to specific technical problems relating to X3D. Web3D Consortium Contents

More information

Chapter 6. Curves and Surfaces. 6.1 Graphs as Surfaces

Chapter 6. Curves and Surfaces. 6.1 Graphs as Surfaces Chapter 6 Curves and Surfaces In Chapter 2 a plane is defined as the zero set of a linear function in R 3. It is expected a surface is the zero set of a differentiable function in R n. To motivate, graphs

More information

Goals for This Lecture:

Goals for This Lecture: Goals for This Lecture: Understand integer arithmetic Understand mixed-mode arithmetic Understand the hierarchy of arithmetic operations Introduce the use of intrinsic functions Real Arithmetic Valid expressions

More information

Intermediate Code Generation

Intermediate Code Generation Intermediate Code Generation In the analysis-synthesis model of a compiler, the front end analyzes a source program and creates an intermediate representation, from which the back end generates target

More information

<>zl. Bourges-Sevenier (43) Pub. Date: Mar. 28, 2002 E 0.35 X. (21) Appl. No.: 09/772,446

<>zl. Bourges-Sevenier (43) Pub. Date: Mar. 28, 2002 E 0.35 X. (21) Appl. No.: 09/772,446 US 20020036639A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2002/0036639 A1 Bourges-Sevenier (43) Pub. Date: Mar. 28, 2002 (54) TEXTUAL FORMAT FOR ANIMATION IN MULTIMEDIA

More information

Introduction to Computer Programming in Python Dr. William C. Bulko. Data Types

Introduction to Computer Programming in Python Dr. William C. Bulko. Data Types Introduction to Computer Programming in Python Dr William C Bulko Data Types 2017 What is a data type? A data type is the kind of value represented by a constant or stored by a variable So far, you have

More information

Introduction to Engineering gii

Introduction to Engineering gii 25.108 Introduction to Engineering gii Dr. Jay Weitzen Lecture Notes I: Introduction to Matlab from Gilat Book MATLAB - Lecture # 1 Starting with MATLAB / Chapter 1 Topics Covered: 1. Introduction. 2.

More information

LinReg 2.06 Manual. DePauw University: Physics Department 120 Physics I and 130 Physics II

LinReg 2.06 Manual. DePauw University: Physics Department 120 Physics I and 130 Physics II LinReg 2.06 Manual DePauw University: Physics Department 120 Physics I and 130 Physics II Updated March 23 rd, 2011 1 About LinReg: LinReg is a program used extensively in DePauw s physics laboratory classes.

More information

2.5 Animations. Applications. Learning & Teaching Design User Interfaces. Content Process ing. Group Communi cations. Documents.

2.5 Animations. Applications. Learning & Teaching Design User Interfaces. Content Process ing. Group Communi cations. Documents. 2.5 Animations Usage Applications Learning & Teaching Design User Interfaces Services Content Process ing Security... Documents Synchronization Group Communi cations S ystem s Databases Programming Media-Server

More information

2.5 Animations. Contents. Basics. S ystem s. Services. Usage. Computer Architectures. Learning & Teaching Design User Interfaces.

2.5 Animations. Contents. Basics. S ystem s. Services. Usage. Computer Architectures. Learning & Teaching Design User Interfaces. 2.5 Animations 2.5 Animations 2.5-1 Basics S ystem s Services Usage Applications Learning & Teaching Design User Interfaces Content Process ing Security... Documents Synchronization Group Communi cations

More information

Review of VRML and WWW Techniques

Review of VRML and WWW Techniques ACTS Project N. AC040 D7.2, Review of VRML and WWW Techniques Project Number: ACTS Project N. AC040 Project Title: COVEN - Collaborative virtual environments Deliverable Type: P* CEC Deliverable Number:

More information

Data Flow Languages for Immersive Virtual Environments

Data Flow Languages for Immersive Virtual Environments Chapter 1 Data Flow Languages for Immersive Virtual Environments Anthony Steed Department of Computer Science University College London > «Abstract Current immersive virtual environment (WE) systems use

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Python Programming: An Introduction to Computer Science Chapter 3 Computing with Numbers Python Programming, 3/e 1 Objectives n To understand the concept of data types. n To be familiar with the basic

More information

Computer Graphics. Prof. Feng Liu. Fall /21/2016

Computer Graphics. Prof. Feng Liu. Fall /21/2016 Computer Graphics Prof. Feng Liu Fall 2016 http://www.cs.pdx.edu/~fliu/courses/cs447/ 11/21/2016 Last time Polygon Mesh and Modeling 2 Today Modeling Technologies Final Exam: 12:30-2:00, December 7, 2016

More information

Sketchify Tutorial Properties and Variables. sketchify.sf.net Željko Obrenović

Sketchify Tutorial Properties and Variables. sketchify.sf.net Željko Obrenović Sketchify Tutorial Properties and Variables sketchify.sf.net Željko Obrenović z.obrenovic@tue.nl Properties and Variables Properties of active regions and sketches can be given directly, or indirectly

More information

C++ Programming Lecture 11 Functions Part I

C++ Programming Lecture 11 Functions Part I C++ Programming Lecture 11 Functions Part I By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department Introduction Till now we have learned the basic concepts of C++. All the programs

More information

Efficient Degree Elevation and Knot Insertion for B-spline Curves using Derivatives

Efficient Degree Elevation and Knot Insertion for B-spline Curves using Derivatives Efficient Degree Elevation and Knot Insertion for B-spline Curves using Derivatives Qi-Xing Huang a Shi-Min Hu a,1 Ralph R Martin b a Department of Computer Science and Technology, Tsinghua University,

More information

Part V Appendices c Copyright, Todd Young and Martin Mohlenkamp, Department of Mathematics, Ohio University, 2017

Part V Appendices c Copyright, Todd Young and Martin Mohlenkamp, Department of Mathematics, Ohio University, 2017 Part V Appendices c Copyright, Todd Young and Martin Mohlenkamp, Department of Mathematics, Ohio University, 2017 Appendix A Glossary of Matlab Commands Mathematical Operations + Addition. Type help plus

More information

Hive Wavetables. Introduction 2. Concepts 3 Some Terminology 3. Commands 4

Hive Wavetables. Introduction 2. Concepts 3 Some Terminology 3. Commands 4 Hive Wavetables Introduction 2 Concepts 3 Some Terminology 3 Commands 4 Info 4 NumFrames 4 Seed 4 Wave 5 Spectrum 5 Phase 5 Import 6 Export 6 Move 6 Interpolate 7 Normalize 7 Envelope 7 Operators 8 Mathematical

More information

Math Services Align with the Common Core State Standards Mathematics (K 6)

Math Services Align with the Common Core State Standards Mathematics (K 6) CORE Elementary Math Academy Alignment with Core State Standards CORE Elementary Math Academy emphasizes throughout each day the importance of teaching along the five proficiency strands identified by

More information

Chapter 4: Basic C Operators

Chapter 4: Basic C Operators Chapter 4: Basic C Operators In this chapter, you will learn about: Arithmetic operators Unary operators Binary operators Assignment operators Equalities and relational operators Logical operators Conditional

More information

COMPUTER AIDED ENGINEERING DESIGN (BFF2612)

COMPUTER AIDED ENGINEERING DESIGN (BFF2612) COMPUTER AIDED ENGINEERING DESIGN (BFF2612) BASIC MATHEMATICAL CONCEPTS IN CAED by Dr. Mohd Nizar Mhd Razali Faculty of Manufacturing Engineering mnizar@ump.edu.my COORDINATE SYSTEM y+ y+ z+ z+ x+ RIGHT

More information

Data Types and Basic Calculation

Data Types and Basic Calculation Data Types and Basic Calculation Intrinsic Data Types Fortran supports five intrinsic data types: 1. INTEGER for exact whole numbers e.g., 1, 100, 534, -18, -654321, etc. 2. REAL for approximate, fractional

More information

Virtual Reality Simulation of Humanoid Robots

Virtual Reality Simulation of Humanoid Robots The 33rd Annual Conference of the IEEE Industrial Electronics Society (IECON) Nov. 5-8, 2007, Taipei, Taiwan Virtual Reality Simulation of Humanoid Robots Yingheng Zhou and Ben Choi Computer Science Louisiana

More information

What is a Function? EF102 - Spring, A&S Lecture 4 Matlab Functions

What is a Function? EF102 - Spring, A&S Lecture 4 Matlab Functions What is a Function? EF102 - Spring, 2002 A&S Lecture 4 Matlab Functions What is a M-file? Matlab Building Blocks Matlab commands Built-in commands (if, for, ) Built-in functions sin, cos, max, min Matlab

More information

CT 229 Java Syntax Continued

CT 229 Java Syntax Continued CT 229 Java Syntax Continued 06/10/2006 CT229 Lab Assignments Due Date for current lab assignment : Oct 8 th Before submission make sure that the name of each.java file matches the name given in the assignment

More information

Introduction. What is function? Multiple functions form a larger program Modular programming

Introduction. What is function? Multiple functions form a larger program Modular programming FUNCTION CSC128 Introduction What is function? Module/mini program/sub-program Each function/module/sub-program performs specific task May contains its own variables/statements Can be compiled/tested independently

More information

Javascript Bignum Extensions

Javascript Bignum Extensions 1 Javascript Bignum Extensions Version 2018-05-27 Author: Fabrice Bellard i Table of Contents 1 Introduction................................................... 1 2 Operator overloading..........................................

More information

Scene Modeling for a Single View

Scene Modeling for a Single View Scene Modeling for a Single View René MAGRITTE Portrait d'edward James with a lot of slides stolen from Steve Seitz and David Brogan, 15-463: Computational Photography Alexei Efros, CMU, Fall 2005 Classes

More information

A Virtual Human Architecture that Integrates Kinematic, Physical and Behavioral Aspects to Control H-Anim Characters

A Virtual Human Architecture that Integrates Kinematic, Physical and Behavioral Aspects to Control H-Anim Characters A Virtual Human Architecture that Integrates Kinematic, Physical and Behavioral Aspects to Control H-Anim Characters Abstract Lucio Ieronutti (1) HCI Lab Dept. of Math and Computer Science, University

More information

Welcome to EGR 106 Foundations of Engineering II

Welcome to EGR 106 Foundations of Engineering II Welcome to EGR 106 Foundations of Engineering II Course information Today s specific topics: Computation and algorithms MATLAB Basics Demonstrations Material in textbook chapter 1 Computation What is computation?

More information

Table : IEEE Single Format ± a a 2 a 3 :::a 8 b b 2 b 3 :::b 23 If exponent bitstring a :::a 8 is Then numerical value represented is ( ) 2 = (

Table : IEEE Single Format ± a a 2 a 3 :::a 8 b b 2 b 3 :::b 23 If exponent bitstring a :::a 8 is Then numerical value represented is ( ) 2 = ( Floating Point Numbers in Java by Michael L. Overton Virtually all modern computers follow the IEEE 2 floating point standard in their representation of floating point numbers. The Java programming language

More information

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

On Design of 3D and Multimedia Extension of Information System Using VRML

On Design of 3D and Multimedia Extension of Information System Using VRML On Design of 3D and Multimedia Extension of Information System Using VRML Jiří Žára Daniel Černohorský Department of Computer Science & Engineering Czech Technical University Karlovo nam 13 121 35 Praha

More information

Consider this m file that creates a file that you can load data into called rain.txt

Consider this m file that creates a file that you can load data into called rain.txt SAVING AND IMPORTING DATA FROM A DATA FILES AND PROCESSING AS A ONE DIMENSIONAL ARRAY If we save data in a file sequentially than we can call it back sequentially into a row vector. Consider this m file

More information

A programming language requires two major definitions A simple one pass compiler

A programming language requires two major definitions A simple one pass compiler A programming language requires two major definitions A simple one pass compiler [Syntax: what the language looks like A context-free grammar written in BNF (Backus-Naur Form) usually suffices. [Semantics:

More information

Structured Programming. Dr. Mohamed Khedr Lecture 4

Structured Programming. Dr. Mohamed Khedr Lecture 4 Structured Programming Dr. Mohamed Khedr http://webmail.aast.edu/~khedr 1 Scientific Notation for floats 2.7E4 means 2.7 x 10 4 = 2.7000 = 27000.0 2.7E-4 means 2.7 x 10-4 = 0002.7 = 0.00027 2 Output Formatting

More information

Introduction to MATLAB 7 for Engineers

Introduction to MATLAB 7 for Engineers Introduction to MATLAB 7 for Engineers William J. Palm III Chapter 3 Functions and Files Getting Help for Functions You can use the lookfor command to find functions that are relevant to your application.

More information

3D Modeling: Surfaces

3D Modeling: Surfaces CS 430/536 Computer Graphics I 3D Modeling: Surfaces Week 8, Lecture 16 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel

More information

Deceleration 141 Deep Sensation 218 Design Considerations 191 Device Coordinate System 12 Diffuse Reflection 119 Digital to Analog Converter 12

Deceleration 141 Deep Sensation 218 Design Considerations 191 Device Coordinate System 12 Diffuse Reflection 119 Digital to Analog Converter 12 I A Acceleration 141 Affine Transformations 58 Agnosticism 209 AIML Language 349 ALICE 349 Ambient Light 116 Ambient Reflection 119 Anchor Node 305 Angular Speed 153 Animating a Gears Mesh 154 Animation

More information

Research Article Polygon Morphing and Its Application in Orebody Modeling

Research Article Polygon Morphing and Its Application in Orebody Modeling Mathematical Problems in Engineering Volume 212, Article ID 732365, 9 pages doi:1.1155/212/732365 Research Article Polygon Morphing and Its Application in Orebody Modeling Hacer İlhan and Haşmet Gürçay

More information

2. Basic Elements of Fortran

2. Basic Elements of Fortran 2. Basic Elements of Fortran Structure of a Fortran Program 31 characters must be in the 1st line if present declaration section program my_first_program! Declare variables integer :: i, j, k! i, j, k

More information

Methods CSC 121 Fall 2014 Howard Rosenthal

Methods CSC 121 Fall 2014 Howard Rosenthal Methods CSC 121 Fall 2014 Howard Rosenthal Lesson Goals Understand what a method is in Java Understand Java s Math Class Learn the syntax of method construction Learn both void methods and methods that

More information

Using The EAI The process of using the EAI is best understood through example. Simplifying a bit, the overall process goes as follows:

Using The EAI The process of using the EAI is best understood through example. Simplifying a bit, the overall process goes as follows: To me, VRML has two distinct purposes: To provide a pleasing architecture to 3-D cyberspace and to provide educational and entertaining things to do within the confines of that architecture. Consider a

More information

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~elf Instructor: Eugene Fiume Office: BA 5266 Phone: 416 978 5472 (not a reliable way) Email:

More information

Tutorial and Workshop 30 September 2004

Tutorial and Workshop 30 September 2004 Tutorial and Workshop 30 September 2004 Ed Sims, CTO Vcom3D, Inc. eds@vcom3d.com www.vcom3d.com 1 Agenda Intro to H-Anim Concepts H-Anim Nodes Demos: Authoring and Applications for H-Anim Characters Future

More information

Chapter 2. Outline. Simple C++ Programs

Chapter 2. Outline. Simple C++ Programs Chapter 2 Simple C++ Programs Outline Objectives 1. Building C++ Solutions with IDEs: Dev-cpp, Xcode 2. C++ Program Structure 3. Constant and Variables 4. C++ Operators 5. Standard Input and Output 6.

More information

INTRODUCTION TO WEB DEVELOPMENT AND HTML. Lecture 15: JavaScript loops, Objects, Events - Spring 2011

INTRODUCTION TO WEB DEVELOPMENT AND HTML. Lecture 15: JavaScript loops, Objects, Events - Spring 2011 INTRODUCTION TO WEB DEVELOPMENT AND HTML Lecture 15: JavaScript loops, Objects, Events - Spring 2011 Outline Selection Statements (if, if-else, switch) Loops (for, while, do..while) Built-in Objects: Strings

More information

VRML FOR URBAN VISUALIZATION

VRML FOR URBAN VISUALIZATION Proceedings of the 1999 Winter Simulation Conference P. A. Farrington, H. B. Nembhard, D. T. Sturrock, and G. W. Evans, eds. VRML FOR URBAN VISUALIZATION Lee A. Belfore, II Department of Electrical and

More information

MPEG-4 BIFS and MPEG-2 TS: Latest developments for digital radio services. Cyril Concolato 25/05/2011

MPEG-4 BIFS and MPEG-2 TS: Latest developments for digital radio services. Cyril Concolato 25/05/2011 MPEG-4 BIFS and MPEG-2 TS: Latest developments for digital radio services Cyril Concolato 25/05/2011 Chronology of MPEG-4 BIFS new dev. for Digital Radio Services Requirement Phase (July 2008 July 2009)

More information

MPEG for Augmented Reality

MPEG for Augmented Reality MPEG for Augmented Reality ISMAR, September 23, 2016 Workshop on Standards for Mixed and Augmented Reality Marius Preda, MPEG 3DG Chair Institut Mines TELECOM http://www.slideshare.net/mariuspreda/mpeg-augmented-reality-tutorial

More information

CS 465 Program 5: Ray II

CS 465 Program 5: Ray II CS 465 Program 5: Ray II out: Friday 2 November 2007 due: Saturday 1 December 2007 Sunday 2 December 2007 midnight 1 Introduction In the first ray tracing assignment you built a simple ray tracer that

More information

Ohio Tutorials are designed specifically for the Ohio Learning Standards to prepare students for the Ohio State Tests and end-ofcourse

Ohio Tutorials are designed specifically for the Ohio Learning Standards to prepare students for the Ohio State Tests and end-ofcourse Tutorial Outline Ohio Tutorials are designed specifically for the Ohio Learning Standards to prepare students for the Ohio State Tests and end-ofcourse exams. Math Tutorials offer targeted instruction,

More information

Visualization Concepts

Visualization Concepts AML710 CAD LECTURE 36 Visualization Concepts Visible Lines and Surfaces Visibility - Hidden lines / Surfaces Many applications require the visibility determination for lines, points, edges, surfaces or

More information

Basics of Computational Geometry

Basics of Computational Geometry Basics of Computational Geometry Nadeem Mohsin October 12, 2013 1 Contents This handout covers the basic concepts of computational geometry. Rather than exhaustively covering all the algorithms, it deals

More information

Ratios and Proportional Relationships (RP) 6 8 Analyze proportional relationships and use them to solve real-world and mathematical problems.

Ratios and Proportional Relationships (RP) 6 8 Analyze proportional relationships and use them to solve real-world and mathematical problems. Ratios and Proportional Relationships (RP) 6 8 Analyze proportional relationships and use them to solve real-world and mathematical problems. 7.1 Compute unit rates associated with ratios of fractions,

More information

The feature set you are required to implement in your ray tracer is as follows (by order from easy to hard):

The feature set you are required to implement in your ray tracer is as follows (by order from easy to hard): Ray Tracing exercise TAU, Computer Graphics, 0368.3014, semester B Go to the Updates and FAQ Page Overview The objective of this exercise is to implement a ray casting/tracing engine. Ray tracing is a

More information

COURSE DELIVERY PLAN - THEORY Page 1 of 6

COURSE DELIVERY PLAN - THEORY Page 1 of 6 COURSE DELIVERY PLAN - THEORY Page 1 of 6 Department of Information Technology B.E/B.Tech/M.E/M.Tech : Information Technology Regulation: 2013 PG Specialisation : LP: IT6501 Rev. No: 01 Date: 30/06/2016

More information

MATELECT PDsoft v1.00

MATELECT PDsoft v1.00 MATELECT PDsoft v1.00 INSTRUCTION MANUAL TABLE OF CONTENTS SYSTEM REQUIREMENTS... 4 TECHNICAL SUPPORT... 4 INSTALLING THE LICENSE FILE... 5 ABOUT PDsoft... 6 A GUIDED TOUR OF THE USER INTERFACE... 6 CHART

More information

Extending Ninox with NX

Extending Ninox with NX Introduction Extending Ninox with NX NX, the Ninox query language, is a powerful programming language which allows you to quickly extend Ninox databases with calculations and trigger actions. While Ninox

More information

Chapter 9 Animation System

Chapter 9 Animation System Chapter 9 Animation System 9.1 Types of Character Animation Cel Animation Cel animation is a specific type of traditional animation. A cel is a transparent sheet of plastic on which images can be painted

More information

Chapter 1 Introduction to MATLAB

Chapter 1 Introduction to MATLAB Chapter 1 Introduction to MATLAB 1.1 What is MATLAB? MATLAB = MATrix LABoratory, the language of technical computing, modeling and simulation, data analysis and processing, visualization and graphics,

More information

Introduction to MATLAB. Computational Probability and Statistics CIS 2033 Section 003

Introduction to MATLAB. Computational Probability and Statistics CIS 2033 Section 003 Introduction to MATLAB Computational Probability and Statistics CIS 2033 Section 003 About MATLAB MATLAB (MATrix LABoratory) is a high level language made for: Numerical Computation (Technical computing)

More information

CS 4620 Program 4: Ray II

CS 4620 Program 4: Ray II CS 4620 Program 4: Ray II out: Tuesday 11 November 2008 due: Tuesday 25 November 2008 1 Introduction In the first ray tracing assignment you built a simple ray tracer that handled just the basics. In this

More information