Function-based Time-dependent Shape Modeling on the Web
|
|
- Cecily Hudson
- 5 years ago
- Views:
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 Qi Liu * and Alexei Sourin Nanyang Technological University, Singapore Abstract In this paper we propose FVRML a function-based extension of Virtual Reality
More informationFunction-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 informationVRML 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 informationIntroduction 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 informationVRML++: 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 informationVSPLUS: 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 informationEinfü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 informationIntroduction 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 informationHigh 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 informationFunction-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 informationExtending 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 informationApplication-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 informationShadow 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 informationThe 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 informationVirtual 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 informationIntroductory 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 informationTopics. 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 informationMultimedia 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 informationInformation 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 informationSummary 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 informationVirtual 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 informationVirtual 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 informationInteractive 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 informationThe 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 information1 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 informationAMS 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 informationInteractive 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 informationAPPENDIX 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 informationCSI31 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 informationIntroduction 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 informationIntegrating 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 informationTelemetry 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 informationHigh 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 informationMaths 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 information3D 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 informationProduct 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 informationGrouping 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 informationChapter 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 informationGoals 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 informationIntermediate 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
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 informationIntroduction 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 informationIntroduction 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 informationLinReg 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 information2.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 information2.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 informationReview 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 informationData 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 informationPython 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 informationComputer 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 informationSketchify 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 informationC++ 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 informationEfficient 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 informationPart 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 informationHive 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 informationMath 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 informationChapter 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 informationCOMPUTER 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 informationData 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 informationVirtual 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 informationWhat 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 informationCT 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 informationIntroduction. 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 informationJavascript Bignum Extensions
1 Javascript Bignum Extensions Version 2018-05-27 Author: Fabrice Bellard i Table of Contents 1 Introduction................................................... 1 2 Operator overloading..........................................
More informationScene 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 informationA 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 informationWelcome 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 informationTable : 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 information2D 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 informationOn 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 informationConsider 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 informationA 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 informationStructured 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 informationIntroduction 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 information3D 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 informationDeceleration 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 informationResearch 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 information2. 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 informationMethods 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 informationUsing 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 information0. 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 informationTutorial 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 informationChapter 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 informationINTRODUCTION 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 informationVRML 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 informationMPEG-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 informationMPEG 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 informationCS 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 informationOhio 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 informationVisualization 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 informationBasics 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 informationRatios 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 informationThe 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 informationCOURSE 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 informationMATELECT 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 informationExtending 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 informationChapter 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 informationChapter 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 informationIntroduction 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 informationCS 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