Home
Simulink 3D Animation User's Guide
Contents
1. 0005 7 55 Listen to Sound 1 0 cece ees 7 55 View a Virtual World in Stereoscopic Vision 7 57 Enable Stereoscopic Vision 0 0000 c eee eens 7 57 Control Stereoscopic Effects 0 0 0 cee eee 7 58 Active Stereoscopic Vision Configuration 7 59 Computer Platforms 0 0 0 cece ee eae 7 59 Graphics Cards 0 0 0 ec eee 7 59 Display Devices 0 0 0 ce ee eens 7 59 Graphic Card Connection to Display Devices 7 60 Examples of Stereoscopic Vision Setups 7 60 Simulink 3D Animation Stand Alone Viewer 8 Orbisnap Viewer 0 0 cc eens 8 2 What is Orbisnap resset ok aes huts we bee Sale Soe oes hes 8 2 Install Orbisnap eian fee ee Bhs PRS aes ER ah OS LE EOE 8 3 Section Overview occ nas see swears A eae ese wha Ba a 8 3 System Requirements 0 0 0 cece eee ee eee 8 3 Copying Orbisnap to Another Location 8 3 Adding Shortcuts or Symbolic Links 04 8 4 Start Or pismap niche se Pls ce fee ee lend a aE a Be Gone ones 8 5 Orbisnap Interface 0 00 00 eee 8 6 Menu Bar 4 s o be scene ers ein dace oe eo one Boe OR O a Bac aie whee 8 8 Woolbar merdesa n bee EAE OS we Ue A eee eee we E a 8 9 Navigation Panelis ee ee eaaa n Siva Sos SSS ie DAS 8 9 Navigate Using Orbisnap 0 0 0 0 eee 8 11 View Animations or Virtual Worlds with Orbisnap 8 14 View Virtual
2. Background gt Automobile Transform IV Open VRML Viewer automatically I Allow viewing from the Internet X addChildren MFNode i i xX removecChildren MFNode Description O center SFvec3t YR Car in the Mountains iy rotation SFRotation scale SFVec3t 0O scaleOrientation SFRotation HM translation SFvec3t Block properties 0 bboxCenter SF Vec3f Sample time 1 for inherit o bboxSize SF Vec3f m Select the Allow viewing from the Internet check box Note This option allows any computer connected to the network to view your model You should never select this box when you want your model to be private or confidential Click OK On the client computer open your HTML5 enabled or web browser In the Address line enter the address and Simulink 3D Animation port number for the host computer running the Simulink software For example if the IP address of the host computer is 192 168 0 1 enter http 192 168 0 1 8123 To determine your IP address on a Windows system type cmd and enter ipconfig To determine your IP address on a UNIX system type the command ifconfig device_name View Virtual World Remotely Click OK An IP Configuration dialog box opens with a list of your IP mask and gateway addresses Alternatively for Windows platforms you can open a DOS shell and type ipconfig The Web browser displays the main Simulink 3D
3. DefaultFigureWireframe Specifies whether objects are drawn as solids or wireframes by default for new vrfigure objects This preference also applies to new vr canvas objects Valid values are off and on DefaultViewer Specifies which viewer is used to view a virtual scene internal Default Simulink 3D Animation Viewer e web Web browser becomes viewer This is the current Web browser virtual world plug in DefaultWorldRecord3D Specifies the default 3 D animation file name FileName for new vrworld objects 10 63 10 Functions Alphabetical List Preference Description DefaultWorldRecordMode Specifies the default animation recording mode for new vrworld objects Valid values are manual and scheduled DefaultWorldRecord Interval Specifies the default start and stop times for scheduled animation recording for new vrwor ld objects Valid value is a vector of two doubles DefaultWorldRemoteView Specifies whether the virtual world is enabled by default for remote viewing for new vrworld objects Valid values are off and on DefaultWorldTimeSource Specifies the default source of the time for new vrwor ld objects Valid values are external and freerun Editor Path to the virtual world editor If this path is empty the MATLAB editor is used EditorPreserveLayout Specifies whether the 3D World Editor starts up with a saved v
4. 000005 Record Offline Animations 0 0 0 0 eens Animation Recording 0 0 eee Recordirig Formats caserie 408 5 lg we Bae ee ok enone et es Bile Names osc jig ei de She esis ae ee Pa hie bee ade ccs Start and Stop Animation Recording Play Animation Files 0 0 0 cece eee eee Record 3 D Animation Files 0 0 0 0 00 eee eee Record Files in the Audio Video Interleave AVI Format Schedule Files for Recording 000005 Play Animations with Simulink 3D Animation Viewer 7 4 7 6 7 7 7 8 7 8 7 18 7 18 7 20 7 22 7 23 7 24 7 24 7 24 7 25 7 26 7 28 7 30 7 30 7 30 7 34 7 38 7 38 7 38 7 39 7 40 7 40 7 41 7 41 7 44 7 46 xi xii Contents Configure Frame Capture Parameters 7 47 Capture Frames x 30266 cose ge See fu Nose Foe hed es acd a ge Ss ved 7 48 Simulink 3D Animation Web Viewer 7 49 Open the Web Viewer 0 000 eee eee eae 7 50 Set Up for Remote Viewing 0 000 enea 7 50 Connect the Web Viewer 0 00 cece eee eens 7 50 Navigate Using the Web Viewer 4 7 52 Display and Navigation 0 0 00 c eee ees 7 52 Keyboard Shortcuts 0 0 000 eee eae 7 52 Web Viewer Preferences 0 0 0 0 cece eee eens 7 53 Listen to Sound in a Virtual World 7 55 System Requirements for Sound
5. 3D World Editor Library Objects on page 6 25 Add a Library Object on page 6 25 Guidelines for Using Custom Objects on page 6 26 3D World Editor Library Objects The 3D World Editor includes a library of virtual world objects which you can insert into a virtual world The library consists of component texture and material objects These library objects supplement the default empty nodes available via the Nodes menu or the Insert From context menu item The library objects are predefined with specific nodes and property settings to represent common virtual world effects For example from the Component sublibrary you can choose from several vehicle objects such as a van or pickup truck After you add a library object to a virtual world you can modify its nodes and properties Add a Library Object To add a 3D World Editor library object to a virtual world 1 Select the parent node under which you want to insert the library object 2 Use one of these techniques to access the library objects Select the Nodes gt Insert From menu item Right click the parent node and select the Insert From menu item The set of objects displayed depends on the parent node that you select For example if you select a child node under a Transform node you can choose among Component sublibrary objects 3 Follow the folder paths to find the object that you want to insert You can also insert objects from oth
6. None Tetrahedron 9 35 9 Blocks Alphabetical List 9 36 e Pyramid Box e Octahedron Sphere Connect markers with line segments Select this check box to connect the traced object path with lines Place a triad at each marker position Select this check box to place a triad at each marker position A triad helps you orient the object trajectory in the x y z plane Marker scale Specify a three component vector that defines the scaling of predefined marker shapes and triads This parameter allows accommodation for scenes of various sizes Marker color selection From the list select Block input Disables Marker color parameter and relies on the second block input to define the marker color Selecting this option enables the second block input to which you can connect a signal for the marker color e Selected in block mask from color list Enables the Marker color parameter for selecting one color from of a list of colors for the marker Defined in block mask as RGB values Enables Marker color parameter to accept RGB values for the marker color Marker color If Marker color selection is Selected in block mask from color list select the color from the list yellow magenta cyan red green blue white black If Marker color selection is Defined in block mask as RGB values enter RGB values for the marker color Sample time Enter the sample time or 1 for inherited sam
7. The default value is 5 which is optimal for most purposes You should change this value only if the animation is significantly distorted or the reaction times are very slow On fast connections where delays are introduced more by the client rendering speed this value has very little effect Viewing on a host computer is equivalent to an extremely fast connection On slow connections the correct value can improve the rendering speed significantly but of course the absolute maximum is determined by the maximum connection throughput VrPort Specifies the network port to use for communication between the Simulink 3D Animation server host computer and its clients client computers Normally this communication is completely invisible to the user However if you view a virtual vrsetpref world from a client computer you might need to configure the security network system firewall so that it allows connections on this port The default value of this preference is 8124 See Also vrgetpref 10 111 10 Functions Alphabetical List 10 112 vrspacemouse Create space mouse object Syntax mouse vrspacemouse id Description mouse vrspacemouse id creates a space mouse object capable of interfacing with a space mouse input device The id parameter is a string that specifies the space mouse connection COM1 COM2 COM3 COM4 USB1 USB2 USB3 or USB4 The vrspacemouse object has several properties that inf
8. E directOutput SFBool FALSE mustEvaluate SFBool FALSE For a url node click the node and either specify the path to a JavaScript file or enter the URL code in the Object property edit pane GD Scl Script fl direction SFVec3f atollMaterial SFNode p ground MFColor P sky MFColor f directOutput SFBool FALSE H mustEvaluate SFBool FALSE i P ROUTE Sun DirectionalLight direction SFVec3f TO Sc1 Script direction SFVec3f Ta ROUTE Sc1 Script sky MFColor TO Bckg Background skyColor MFColor foo ROUTE Get Serint mrarind MECalar TA Reka Markar arnindCalar MECalnr lt T m r P MFString Value Comment 21 RBX 5 d vrmlscript function direction value y value 1 if the sun is below the horizon make the sky and ocean dark if y gt 0 I y lt 1 s new SFColor 0 0 0 sky 0 s sky 1 s sky 2 s ground 0 s ground 1 s otherwise set sky and ocean lightness according to sun position 6 19 6 Using the 3D World Editor Reduce Number of Polygons for Shapes 6 20 For a node that is or includes an IndexedFaceSet node you can improve rendering speed by reducing the number of polygons in the IndexedFaceSet Choose the polygon reduction factor that produces your desired balance of rendering performance and quality To reduce the number of polygons 1 Right click an IndexedFaceS
9. Pseudo orthographic view Examine pr A E dqa Q A gt Pseudo orthographic view Pos 180 00 100 00 180 00 Dir 0 66 0 36 0 66 Turning Wireframe on changes the scene s objects from solid to wireframe rendering The following is the vrpend example with Wireframe on 7 14 Specify Rendering Techniques Fite View Te Navigation Rendering Simulation Recording Help x Pseudo orthographic view bamine v M A 9 a aaa gt Pos 180 00 100 00 180 00 Dir 0 66 0 36 0 66 If Textures is on objects have texture in the virtual scene The following is the vrplanets example with Textures on 7 15 7 Viewing Virtual Worlds E Planets D ESR Ex File View Viewpoints Navigation Rendering Simulation Recording Help View from top Fly Jm aala a E B A gt m If Textures is off objects do not have texture in the virtual scene The following is the vrplanets example with Textures off 7 16 Specify Rendering Techniques B Planets o a File View Viewpoints Navigation Rendering Simulation Recording Help View from top x Fly T d S os amp q q ial gt You can specify the maximum size of a texture used in rendering the vrfigure object This option gives you a list of texture sizes to choose from See the vrf igure MaxTextureSize property for further details 7 17 7 Viewing Virtual Worlds Navigate Using the Simulink 3D Animation Viewer 7 18
10. Speed No transformations are done Outputs are translation and rotation speeds Position Translations and rotations are integrated Outputs are position and orientation in the form of roll pitch yaw angles e Viewpoint coordinates Translations and rotations are integrated Outputs are position and orientation in the form of an axis and an angle You can use these values as viewpoint coordinates in a virtual world Dominant mode If this check box is selected the mouse accepts only the prevailing movement and rotation and ignores the others This mode is very useful for beginners using space mouse input Disable rotation movement Fixes the positions at the initial values allowing you to change rotations only Disable position movement Fixes the rotations at initial values allowing you to change positions only Normalize output angle Determines whether the integrated rotation angles should wrap on a full circle 860 or not This is not used when you set the Output Type to Speed Limit position Determines whether you can limit the upper and lower positions of the mouse Position sensitivity Mouse sensitivity for translations Higher values correspond to higher sensitivity Rotation sensitivity Mouse sensitivity for rotations Higher values correspond to higher sensitivity Initial position Initial condition for integrated translations This is not used when you set the Output Type
11. off Tooltips display returned as on or off Transparency Transparency effect on default off Transparency effect returned as on or off Triad Triad location bottomleft default bottomright center topleft topright none Triad location returned as bottomleft bottomright center topleft topright or none Units Units for Position property pixels default normalized Units for Position property returned as pixels or normalized Viewpoint Active viewpoint of figure string Active viewpoint of a figure returned as a string Wireframe Wireframe display off default on vr canvas class Wireframe display returned as on or off World World containing canvas vrworld object World containing canvas represented by a vrworld object read only property ZoomFactor Camera zoom factor 1 default floating point number Camera zoom factor returned as a floating point number A zoom factor of 2 makes the scene look twice as large A zoom factor of 0 1 makes it look 10 times smaller and so forth Methods capture Capture virtual reality canvas image Examples Create a Canvas That Displays in a Figure Create and open a vrworld object myWorld vrworld vrlights wrl open myWorld Create a figure to use as the parent of the canvas fig figure Create a canvas Use a figure as the parent
12. vrworld get Property Value Description ClientUpdates tort On Client cannot or can update the virtual scene Read write Default on Description String Description of the virtual world as it appears on the main Web page Read write Default automatically taken from the virtual world 3D file property title Figures Vector of vrfigure objects Vector of handles to Simulink 3D Animation Viewer windows currently viewing the virtual world Read only FileName String Name of the associated virtual world 3D file Read only Nodes Vector of vrnode objects Vector of vrnode objects for all named nodes in the virtual world Read only Open Our om Indicates a closed or open virtual world Read only Default ofF Record3D off on Enables 3 D animation recording Read write Default off Record3DFileName String 3 D animation file name The string can contain tokens that are replaced by the Default f_anim_ n wrl corresponding information when the animation recording takes place For details see File Name Tokens on page 4 14 Read write Recording off on Animation recording toggle This property acts as the master recording switch Read Default off write RecordMode manual scheduled Animation recording mode Read write Default manual 10 133 10 Functions Alphabetical List Property Value Descripti
13. Apply In the Name box enter a unique and descriptive name for the viewpoint The state of the Placement field depends on the current viewpoint If the current viewpoint is at the top hierarchy level in the virtual world one of the children of the root the Placement field is grayed out In this case it is only meaningful to create the new viewpoint at the same top hierarchy level In this example the Placement field is editable Select Child of the root as the viewpoint type This option makes the viewpoint a static one Select the Jump to new viewpoint immediately check box to make the new viewpoint become the current viewpoint for the viewer If you do not select this check box you still create a new viewpoint but you remain bound to the current viewpoint not to the new viewpoint Click OK From the File menu click Save As to save the file with the new viewpoint If you do not save the file the new viewpoint will be lost during simulation From the Simulation menu click Start Observe the motion of the planets from the new static viewpoint Stop the simulation 7 31 7 Viewing Virtual Worlds 7 32 13 14 15 16 17 18 Repeat steps 2 to 6 In the Placement field select Sibling of the current viewpoint This option creates a new viewpoint at the same level in the virtual world object hierarchy as the child of the parent transform of the current viewpoint The local coordinate system of the par
14. In this section Basic Navigation on page 7 18 Navigation Panel on page 7 20 Viewer Keyboard Shortcuts on page 7 22 Mouse Navigation on page 7 23 Control Menu on page 7 24 Change the Navigation Speed on page 7 24 Sensors Effect on Navigation on page 7 24 Display a Coordinate Axes Triad on page 7 25 Pivot Point on page 7 26 Basic Navigation You can navigate around a virtual scene using the menu bar toolbar navigation panel mouse and keyboard The vrbounce example illustrates the several key features of the viewer Navigation Panel The center navigation wheel and two curved buttons on either side allow you to move about in the scene Experiment by moving backward and forward and side to side until you become comfortable with the controls Navigation view You can change the camera position From the menu bar select the Navigation menu Straighten Up option Alternatively from the toolbar you can click the Straighten Up control or on the keyboard you can press F9 This option resets the camera so that it points straight ahead Navigate Using the Simulink 3D Animation Viewer E VR Bouncing Ball File View Viewpoints Rendering Simulation Recording Help j pm am z Ball v Method E E eIn Speed Straighten Up N Undo Move vV Camera Bound to Viewpoint Navigation methods Navigation with the mouse depends on the nav
15. Maya do not use VRML or X8D as their native format They export their formats to VRML or X8D These tools have many features and are relatively easy to use 5 3 5 Build Virtual Reality Worlds 5 4 General 3 D editing tools target specific types of work For example they can target visual art animation games or technical applications They offer different working environments depending on the application area for which they are designed Some of these general 3 D editing tools are very powerful expensive and complex to learn but others are relatively inexpensive and might satisfy your specific needs The graphical user interfaces for many of the commercial general 3 D editors use features typical of the native VRML or X3D editing tools For example in addition to displaying 3 D scenes in various graphical ways they also offer hierarchical tree styles that provide an overview of the model structure and a shortcut to node definitions Native VRML and X3D Editors Native VRML and X8D editors use those languages as their native format Native VRML editors support features that are unique to the VRML and X3D format such as interpolators and sensors The Simulink 3D Animation software includes two native VRML and X3D editors 3D World Editor on page 6 2 which works on all platforms supported for Simulink 3D Animation product The Ligos V Realm Builder on page 5 6 which works on Windows platforms only 3D W
16. Orbisnap Web browser HTML5 enabled Web browser Installation Installed with product Host interface installed Separate installation with product Simulink 3D Yes Animation required Remote viewing Yes Yes Viewpoint creation Yes Animation start stop Yes Starts automatically Simulation start stop Yes Sound Yes Yes Stereoscopic viewing Yes Yes 7 3 7 Viewing Virtual Worlds Simulink 3D Animation Viewer 7 4 In this section What You Can Do with the Viewer on page 7 4 Viewer Uses MATLAB Figures on page 7 6 Set Viewer Appearance Preferences on page 7 7 What You Can Do with the Viewer This section provides an overview of the features and controls of the viewer This section uses the vrpend vrplanets and vrtut1 examples to illustrate the viewer features Simulink 3D Animation Viewer Select a Simulink 3D Animation example and type that example s name in the MATLAB Command Window For example vrpend The Simulink model is displayed By default the Simulink 3D Animation viewer for that model is loaded and becomes active If the viewer is not displayed double click the VR Sink block in the Simulink model Inspect the viewer window The Simulink 3D Animation viewer displays the virtual scene The top of the viewer contains a menu bar and toolbar By default the Simulink 3D Animation viewer displays the virtual scene with a na
17. See Also vrfigure 10 58 vrgetpref vrgetpref Values of Simulink 3D Animation preferences Syntax x vrgetpref x vrgetpref preference_name x vrgetpref preference_name factory x vrgetpref factory Arguments preference_name Name of the preference to read Description x vrgetpref returns the values of all the Simulink 3D Animation preferences in a structure array x vrgetpref preference_name returns the value of the specified preference If preference_name is a cell array of preference names a cell array of corresponding preference values is returned x vrgetpref preference_name factory returns the default value for the specified preference x vrgetpref factory returns the default values for all the preferences The following preferences are defined For preferences that begin with the string DefaultFigure or DefaultWor1d these values are the default values for the corresponding vrf igure or vrworld property 10 59 10 Functions Alphabetical List 10 60 Preference Description DataTypeBool Specifies the handling of the virtual world Bool data type for vrnode setfield and vrnode getfield Valid values are logical and char If set to logical the virtual world Bool data type is returned as a logical value If set to char the Bool data type is returned on or off Default is logical DataTypeInt32 Specifies handling of th
18. Test the Viewer Installation Trajectory Graph E lol x Trajectory Graph 10 8 Close the Simulink 3D Animation Viewer and close the Simulink window You can try other examples in Simulink Interface Examples on page 1 22 or you can start working on your own projects MATLAB Testing This model which can be viewed in three dimensions with the software has a MATLAB interface to control the figure in a virtual world viewer window Additional examples are listed in the table MATLAB Interface Examples on page 1 34 1 Inthe MATLAB window type vrmemb The MATLAB interface displays the following messages View the published version of this example to learn more about vrmemb m The Simulink 3D Animation Viewer opens with a 3 D model 2 31 2 Installation E VRML MATLAB Membrane o ha File View Viewpoints Navigation Rendering Simulation Recording Help x Original view Examine Jm EEE A e Rotating Memb Capyright 1998 3 HUMUSOFT s r o and The MathWorks Inc Pos 193 40 265 15 220 48 Dir 0 48 0 67 0 56 2 Use the viewer controls to move within the virtual world or use the example dialog box to rotate the membrane Note that sometimes the Simulink 3D Animation example dialog box is hidden behind the viewer window Simulink 2 32 Simulink Interface The Simulink 3D Animation product works with both the MATLAB and the Simulink products However the Simulink in
19. close close joy closes and invalidates the joystick object The object cannot be used once it is closed force force joy n f applies force feedback to joystick axis n The n parameter can be a vector to affect multiple axes f values should be in range of 1 to 1 and the number of elements in f should either match the number of elements of n or f can be a scalar to be applied to all the axes specified by n pov p pov joy n reads the status of joystick POV point of view of control number n pov is usually returned in degrees with 1 meaning not selected n can be a vector to return multiple POVs read axes buttons povs read joy reads the status of axes buttons and POVs of the specified joystick axes buttons povs read joy forces applies feedback forces in addition toa force feedback joystick where joy is the handle to the joystick object vrlib vrlib Open Simulink block library for Simulink 3D Animation Syntax vrlib Description The Simulink library for the Simulink 3D Animation product has a number of blocks and utilities You can access these blocks in one of the following ways In the MATLAB Command Window type vrlib From a Simulink block diagram select the View menu click Show Library Browser In the MATLAB Command Window click the Simulink icon 10 75 10 Functions Alphabetical List 10 76 vrnode Create node or handle
20. node_name node_type creates a new node called node_name of type node_type that is a child of the parent_node and resides in the field parent_field It returns the handle to the newly created node mynode vrnode parent_node parent_field USE othernode creates a USE reference to the node othernode as a child of node parentnode and resides in the field parentfield It returns the handle to the original node A vrnode object identifies a virtual world node in a way very similar to a handle If you apply the vrnode method to a node that does not exist the method creates a node the vrnode object and returns the handle to the vrnode object If you apply the vrnode method to an existing node the method returns the handle to the vrnode object associated with this node Method Summary Method Description delete Remove vrnode object fields Virtual world field summary of node object get Property value of vrnode object getfield Field value of vrnode object isvalid 1 if vrnode object is valid 0 if not set Change property of virtual world node 10 77 10 Functions Alphabetical List Method Description setfield Change field value of vrnode object sync Enable or disable synchronization of virtual world fields with client See Also vrnode delete vrnode get vrworld vrnode getfield vrnode set vrnode setfield 10 78 vrnode delete vrnode delete Remo
21. vrnode set Property Value Description World Handle Handle of the parent vrwor1d object This is a vrworld object that represents the node s parent world Read only Currently nodes have no settable properties See Also vrnode vrnode get vrnode getfield vrnode setfield 10 87 10 Functions Alphabetical List 10 88 vrnode settield Change field value of vrnode object Syntax x setfield vrnode_ object fieldname fieldvalue Arguments vrnode_ object Name of a vrnode object representing the node to be changed fieldname Name of the vrnode object field whose values you want to set fieldvalue Value of fieldname Description x setfield vrnode object fieldname fieldvalue changes the specified field of the vrnode object to the specified value You can specify multiple field names and field values in one line of code by grouping them in pairs For example X setfield vrnode object fieldnamei fieldvalue1 fieldname2 fieldvalue2 Note that field names are case sensitive while property names are not Note The dot notation is the preferred method for accessing nodes For example vrnode_object fieldname fieldvalue See Also vrnode vrnode get vrnode getfield vrnode set vrnode sync vrnode sync Enable or disable synchronization of fields with client Syntax sync vrnode_object field_name action Arg
22. Appearance textureTransform SFNode texture SFNode material SFNode geometry SFNode Wrap By gt Geometry gt Box SE Group Cone Interpolator gt Cylinder Light Elevation Grid Sensor Extrusion PROTO EXTERNPROTO Instanc PROTO Declaration EXTERNPROTO Declaration Indexed Face Set Indexed Line Set Sphere Text Coordinate Normal Point Set Texture Coordinate With all the nodes expanded the 3D World Editor now displays a box in the virtual world display pane 3D World Editor H Documents MATLAB vrtut3 wrl en File Edit ViewPane Tree Nodes Help a DE6SHEa SEE AX 0O E E E o gt ROOT gt B1 Transform H center SFVec3f 0 0 0 E rotation SFRotation 0 0 1 0 HP scale SFVec3f 1 1 1 f scaleOrientation SFRotation 0 0 1 0 f translation SFVec3f 0 0 0 B bboxCenter SFVec3f 0 0 0 B bboxSize SFVec3f 1 1 1 3 children MFNode e Shape appearance SFNode 3 Appearance textureTransform SFNode texture SFNode H material SFNode geometry SFNode i e 8 Make the box smaller by editing its size property 5 14 Build and Connect a Virtual World Select the size property of the Box node In the object properties edit pane at the bottom of the 3D World Editor enter 0 3 in the first column and 1 in the second and third columns c Click Apply
23. Figure Preferences on page 2 16 7 7 7 Viewing Virtual Worlds Open the Simulink 3D Animation Viewer 7 8 In this section Open from the VR Sink Block on page 7 8 Open from the Command Line on page 7 8 Open from the VR Sink Block You can open the Simulink 3D Animation Viewer by double clicking a VR Sink block in the Simulink Editor You can configure a VR Sink block to automatically open the Simulink 3D Animation Viewer 1 In the Simulink Editor double click the VR Sink block to open the Simulink 3D Animation Viewer 2 From the Simulink 3D Animation Viewer Simulation menu select Block parameters 3 Select Open Viewer automatically 4 Click OK Open from the Command Line Use vrview For example to open the vrbounce virtual world in the Simulink 3D Animation Viewer use vrview vrbounce Simulate with the Simulink 3D Animation Viewer Simulate with the Simulink 3D Animation Viewer You can start and stop simulations of the virtual world from the Simulink 3D Animation viewer through the menu bar toolbar or keyboard From the menu bar select the Simulation menu Start or Stop option From the toolbar click Start pause continue simulation or Stop simulation From the keyboard press Ctrl T to toggle between starting or stopping the simulation Note The Ctrl T operation is available only if you started the viewer from a Simulink model If you start the viewer th
24. Note that the recording can be slow Run the Simulink model From the Simulation menu select Mode gt Normal then click Simulation gt Run Alternatively if you are using the Simulink 3D Animation default viewer you can run the Simulink model with one of the following from the viewer From the menu bar select the Simulation menu Start option to start the simulation From the toolbar click Start pause continue simulation to start the simulation From the keyboard press Ctrl T to start the simulation The simulation runs The Simulink 3D Animation software starts recording when the simulation time reaches the specified start time and creates the file vrplanets_anim_N wrl in the current working folder when finished where N is either 1 or more depending on how many file iterations you have When you are done stop the simulation You can use one of the following from the viewer From the menu bar select the Simulation menu Stop option to stop the simulation From the toolbar click Stop simulation to stop the simulation Scheduled 3 D Recording with MATLAB From the keyboard press Ctrl T to stop the simulation 9 Close and delete the objects if you do not want to continue using them 4 23 MATLAB Interface Scheduled 2 D AVI Recording with MATLAB This topic describes how to schedule the recording of a 2 D animation using the MATLAB interface for a virtual world that is associated with a Sim
25. R Signal Expander 4 2 x VR Signal Expander mask link Expand input vector into a fully qualified YAML field signal filling the blank positions in the output port with the YR Placeholder signal Input The vector of inputs to be mapped into the output port Output width The width of the output port Output signal indices Positions of output vector at which the input signal elements appear The remaining positions are filled with the YR Placeholder signal m Parameters Output width 4 Output signal indices 24 Output width How long the output vector should be Output signal indices Vector indicating the position at which the input signals appear at the output The remaining positions are filled with VR Placeholder signals For example suppose you want an input vector with two signals and an output vector with four signals with the first input signal in position 2 and the second input signal in position 4 In the Output width box enter 4 and in the Output signal indices box enter 2 4 The first and third output signals are unspecified VR Sink VR Sink Write data from Simulink model to virtual world Library Simulink 3D Animation Description v Six The VR Sink block writes values from its ports to virtual world fields specified in the Block Parameters dialog box For an example of how to use the VR Sink block see the Foucault Pendulum Model with Virtual Reality Scene
26. The box becomes smaller 3D World Editor H Documents MATLAB vrtut3 wrl rc fot fata File Edit ViewPane Tree Nodes Help pDagedeBuUJg AE OS0H8 e44 gt ROOT i 3 B1 Transform af center SFVec3f 0 0 0 a rotation SFRotation 0 0 1 0 8 scale SFVec3f 1 1 1 a scaleOrientation SFRotation 0 010 af translation SFVec3f 0 0 0 E bboxCenter SFVec3f 0 0 0 E bboxSize SFVec3 1 1 1 children MFNode Shape appearance SFNode Appearance textureTransform SFNode texture SFNode i material SFNode 5 geometry SFNode E e Box E size SFVec3 0 3 1 4 m 9 Move the box to the right by changing the translation SFVec3f property of the B1 Transform node In the object properties edit pane set the first column to 3 and leave the second and third columns set to 0 5 15 Build Virtual Reality Worlds 5 16 9 3D World Editor H Documents MATLAB vrtut3 wrl File Edit ViewPane Tree Nodes Help DESG6SHBu 9 A gt ROOT i ci 5 P B1 Transform HP center SFVec3f 0 0 0 rotation SFRotation 0 0 1 0 a scale SFVec3f 1 1 1 4 scaleOrientation SFRotation 0 010 f translation SFVec3 3 0 0 f bboxCenter SFVec3 0 0 0 f bboxSize SFVec3f 1 1 1 children MFNode Shape appearance SFNode Appearance textureTransform SFNod
27. internal Default Simulink 3D Animation Viewer web Viewer is the default Web browser with the virtual world plug in 10 109 10 Functions Alphabetical List 10 110 Editor Contains a path to the virtual world editor executable file When you use the edit command Simulink 3D Animation runs the virtual world editor executable with all parameters required to edit the virtual world file When you run the editor Simulink 3D Animation uses the Editor preference value as if you typed it into a command line The following tokens are interpreted matlabroot Refers to the MATLAB root folder file Refers to the virtual world 3D file name For instance a possible value for the Editor preference is matlabroot bin win32 meditor exe file If this preference is empty the MATLAB editor is used HttpPort Specifies the network port to be used for remote Web access The port is given in the Web URL as follows http server name port_number The default value of this preference is 8123 TransportBuf fer Defines the size of the message window for client server communication This value determines how many messages at a maximum can travel between the client and the server at one time Generally higher values for this preference make the animation run more smoothly but with longer reaction times More messages in the line create a buffer that compensates for the unbalanced delays of the network transfer
28. Animation e AMD FirePro W series of cards for example W5000 connected with an HDMI 1 4 cable to a 3D television set NVIDIA Quadro cards for example Quadro K4000 a 3D vision ready monitor connected using dual DVI cable and a 3D Vision Pro kit an RF hub and active shutter glasses Simulink 3D Animation Stand Alone Viewer The Simulink 3D Animation stand alone viewer Orbisnap allows you to visualize virtual worlds or prerecorded animation files without running the MATLAB or Simulink 3D Animation products Orbisnap Viewer on page 8 2 Install Orbisnap on page 8 3 Start Orbisnap on page 8 5 Orbisnap Interface on page 8 6 Navigate Using Orbisnap on page 8 11 View Animations or Virtual Worlds with Orbisnap on page 8 14 View Virtual Worlds Remotely with Orbisnap on page 8 15 8 Simulink 3D Animation Stand Alone Viewer Orbisnap Viewer What is Orbisnap The Simulink 3D Animation product includes Orbisnap Orbisnap is a free optional stand alone virtual world viewer that does not require you to have either the MATLAB or Simulink 3D Animation products running You can use Orbisnap to View prerecorded WRL animation files For example you might want to show prerecorded animation files in a meeting at which you do not have access to the MATLAB or Simulink 3D Animation products e Remotely view from a client machine a virtual world loaded in a current session
29. Animation software then adjusts the property to the next smaller suitable value Data Types int32 Name Name of figure string Name of figure specified as a string NavMode Navigation mode examine default fly walk none set Navigation mode specified as examine fly walk or none See Mouse Navigation on page 7 23 NavPanel Navigation panel appearance none default halfbar bar opaque translucent Navigation panel appearance specified as none halfbar bar opaque or translucent Navspeed Navigation speed normal default slow veryslow fast veryfast Navigation speed specified as normal slow veryslow fast or veryfast NavZones Navigation zones display off default on Navigation zones display specified as on or off Position Figure location and size vector with four doubles Location and size of virtual figure specified as the vector in the form left bottom width height Specify measurements in pixels Element Description the inner left edge of the figure window You can specify a negative value on systems that have more than one monitor left Distance from the left edge of the primary display to bottom Distance from the bottom edge of the primary display to the inner bottom edge of the figure window You can specify a negative value
30. Default on Position Matrix with upper right and Specifies the default location of lower left corner position the figure window Default 5 92 576 380 Figure Rendering Preferences To access the virtual figure rendering preferences 1 From the MATLAB Toolstrip in the Home tab in the Environment section select Preferences In the left pane of the Preferences dialog box select Simulink 3D Animation In the left pane under Simulink 3D Animation select Figure The Simulink 3D Animation Figure Preferences dialog box opens in the right pane Select the Rendering tab The Simulink 3D Animation Figure Preferences dialog box opens in the right pane with the Rendering tab selected 2 Installation Simulink 3D Animation Figure Preferences Appearance Rendering 2 D Recording Frame Capture V Antialiasing V Lighting V Transparency Wireframe V Textures Maximum texture size auto v 5 Set the preferences as desired See the following table for the rendering preferences you can change Click OK to save the settings 2 18 card limit where x is a power of 2 video card limit is typically 1024 or 2048 Property Value Description Antialiasing on off Determines whether antialiasing is used when Default on rendering scene Antialiasing smooths textures by interpolating values between texture points Lighting off on Specifies whether
31. Many people prefer to create simple virtual worlds using MATLAB Editor or other text editor For more information see Text Editors on page 5 3 The primary way to create a virtual world is with a 3 D editing tool These tools allow you to create complex virtual worlds without a deep understanding of the VRML or X3D language These 3 D editing tools offer the power and versatility for creating many types of practical and technical models For example you can import 3 D objects from some CAD packages to make the authoring process easier and more efficient The Simulink 3D Animation software includes the 3D World Editor which you can use on all supported platforms for Simulink 3D Animation The 3D World Editor is the default editor for Simulink 3D Animation For details about specifying an editor see Set the Default Editor on page 2 7 For Windows platforms you can also use Ligos V Realm Builder software to create and edit code For information on using V Realm Builder software with the Simulink 3D Animation product see Ligos V Realm Builder on page 5 6 For a description of the benefits and limitations of different types of editors see the next section Text Editors on page 5 3 General 3 D Editors on page 5 3 Virtual World Editors e Native VRML and X3D Editors on page 5 4 3D World Editor on page 5 4 Text Editors A virtual world 3D file uses a standard text format that you can re
32. This property specifies the right camera filter for vr canvas or vrf igure objects vr utils stereo3d class Example stereo3d_object RightCameraFilter 0 1 0 5 0 5 0 0 0 0 0 0 1 0 0 5 0 51 Example stereo3d_object RightCameraFilter CAMERA_FILTER RED Examples Define and Apply Stereoscopic Vision Settings Create a virtual world w vrworld octavia_scene open w c vr canvas w Specify stereoscopic vision settings s3d vr utils stereo3d ANAGLYPH_RED_CYAN s3d CameraOffset 0 05 s3d CameraAngle pi 128 Modify the red component of filter for the left camera s3d LeftCameraFilter 1 3 s3d LeftCameraFilter 1 3 0 1 0 05 0 05 Apply stereoscopic vision settings of vr utils stereo3d object 3d to vr canvas object C set c Stereo3D s3d View a Virtual World in Stereoscopic Vision on page 7 57 See Also vr canvas vrfigure Introduced in R201 5a 10 119 10 Functions Alphabetical List 10 120 vrview View virtual world using Simulink 3D Animation viewer or Web browser Syntax vrview x vrview filename x vrview filename internal x vrview filename web Description vrview opens the default Web browser and loads the Simulink 3D Animation software Web page containing a list of virtual worlds available for viewing x vrview filename creates a virtual world associated with the wrl file opens the virtual world and display
33. To copy and paste a node In the tree structure pane select the node that you want to copy 2 Copy the node using one of these techniques Select Edit gt Copy Right click the node and select Copy 3 Under the appropriate node paste the copied node Paste the node using one of the following techniques e Select the Edit gt Paste or the Paste As Reference menu item Right click the parent node and select Paste Node and then select Paste or Paste As Reference Copy and Paste Between Virtual Worlds In the same editing session you can copy nodes from a virtual world in one virtual world 3D file to another virtual world in a different virtual world 3D file After you copy the nodes from one virtual world select File gt Open to open the second file where you want to paste the nodes Edit Object Properties To define the characteristics of an object in the tree structure pane select the appropriate property At the bottom of the 3D World Editor use the object properties edit pane to change property values Then click Apply The tree structure pane shows the current property values which reflect your edits 6 13 6 Using the 3D World Editor When you enter a numeric field value in the 3D World Editor you can use MATLAB expressions and MATLAB variables For example to convert an angle from degrees to radians enter a MATLAB expression such as 25 pi 180 Set Viewpoint Values in the 3D World Editor Based o
34. To create the myworld see Create vrworld Object for a Virtual World on page 4 2 1 Inthe MATLAB Command Window type nodes myworld The MATLAB Command Window displays a list of the vrnode objects and their fields that are accessible from the Simulink 3D Animation software Tunnel Transform My first virtual world Road Shape My first virtual world Bridge Shape My first virtual world River Shape My first virtual world ElevApp Appearance My first virtual world Canal Shape My first virtual world Wood Group My first virtual world Treei Group My first virtual world Wheel Shape My first virtual world Automobile Transform My first virtual world VPfollow Viewpoint My first virtual world Camera_car Transform My first virtual world View1 Viewpoint My first virtual world 2 Type mynodes get myworld Nodes The MATLAB software creates an array of vrnode objects corresponding to the virtual world nodes and displays Interact with a Virtual World with MATLAB mynodes vrnode object 13 by 1 Tunnel Transform My first virtual world Road Shape My first virtual world Bridge Shape My first virtual world River Shape My first virtual world ElevApp Appearance My first virtual world Canal Shape My first virtual world Wood Group My first virtual world Treei Group My first virtual world Wheel Shape My first virtual world Automobile
35. Update to a future version of the Simulink 3D Animation product without compatibility issues relating to mixing custom objects with the 3D World Editor objects Viewing Virtual Worlds Virtual World Viewers on page 7 2 Simulink 3D Animation Viewer on page 7 4 Open the Simulink 3D Animation Viewer on page 7 8 Simulate with the Simulink 3D Animation Viewer on page 7 9 Specify Rendering Techniques on page 7 10 Navigate Using the Simulink 3D Animation Viewer on page 7 18 e Viewpoints on page 7 28 Define and Reset Viewpoints on page 7 30 e Navigate Through Viewpoints on page 7 34 e Record Offline Animations on page 7 38 e Play Animations with Simulink 3D Animation Viewer on page 7 46 Configure Frame Capture Parameters on page 7 47 e Capture Frames on page 7 48 Simulink 3D Animation Web Viewer on page 7 49 Open the Web Viewer on page 7 50 e Navigate Using the Web Viewer on page 7 52 e Listen to Sound in a Virtual World on page 7 55 e View a Virtual World in Stereoscopic Vision on page 7 57 e Active Stereoscopic Vision Configuration on page 7 59 7 Viewing Virtual Worlds Virtual World Viewers In this section Host and Remote Viewing on page 7 2 Comparison of Viewers on page 7 2 After you create a virtual world in VRML or X3D as described in Build Vir
36. a1b3 j a1b2 a2b1 k Cancel Help Apply Joystick Input Joystick Input Process input from asynchronous joystick device Library Simulink 3D Animation Axes p Ons p Description ostia input The Joystick Input block provides interaction between a Simulink model and the virtual world associated with a Simulink 3D Animation block The Joystick Input block uses axes buttons and the point of view selector if present You can use this block as you would use any other Simulink source block Its output ports reflect the status of the joystick controls for axes and buttons The Joystick Input block also supports force feedback devices When building a model using Simulink Desktop Real Time use the Simulink Desktop Real Time Joystick Input driver instead of the Joystick Input block 9 3 9 Blocks Alphabetical List 9 4 Block Parameters Dialog Box Source Block Parameters Joystick Input x Joystick Input mask link Joystick input device driver m Parameters Joystick ID il JV Adjust 1 0 ports according to joystick capabilities I Enable force feedback input Cancel Help Joystick ID The system ID assigned to the given joystick device You can find the properties of the joystick that is connected to the system in the Game Controllers section of the system Control Panel Adjust I O ports according to joystick capabilities If yo
37. vrwho myworld worlds strcmp Planets get worlds Description Scheduled 2 D AVI Recording with MATLAB To retrieve the handle to the currently displayed Simulink 3D Animation Viewer figure type f get myworld Figures To have the Simulink 3D Animation software manually record the animation set the RecordMode property to manual Type set myworld RecordMode scheduled Direct the Simulink 3D Animation software to record the animation as an avi format file Type set f Record2D on Select the start and stop times during which you want to record the animation For example enter 5 as the start time and 15 as the stop time set myworld RecordInterval 5 15 Ensure that the recording start time value is not earlier than the start time of the Simulink model the recording operation cannot start in this instance If the stop time exceeds the stop time of the Simulink model or if it is an out of bounds value such as a negative number the recording operation stops when the simulation stops Note that the recording can be slow Disable the Navigation Panel The Navigation Panel appears at the bottom of the virtual scene view You might want to turn off this panel for a cleaner view of the virtual scene Type set f NavPanel none Ensure that the virtual reality figure window is the topmost window Run the Simulink model From the Simulation menu select Mode gt Normal then click Simulation g
38. 1 inclusive The number of pixels for stereo 3D horizontal image translation HIT derives from this number Horizontal image translation is the horizontal relationship of the two stereo images By default the background image is at zero and the foreground image appears to pop out from the monitor toward the person viewing the virtual world The larger the value the further back the background appears to be This property sets the Stereo3DHIT property of a vr canvas or vrf igure object LeftCameraFilter Color filter of left camera row vector of nine floating point numbers predefined filter Color filter of the left camera specified as a row vector of nine floating point numbers or using a predefined filter If you specify a row vector use floating point numbers from 0 through 1 The first three numbers represent the red value the second three numbers represent the blue value and the last three numbers represent the green value For example specifying 1 for the first three numbers and zeros for the other numbers produces a pure red filter The predefined filters are e CAMERA FILTER_FULL e CAMERA_FILTER_RED e CAMERA_FILTER_CYAN e CAMERA _FILTER_GREEN e CAMERA _FILTER_MAGENTA e CAMERA _FILTER_YELLOW e CAMERA_FILTER_ BLUE This property specifies the left camera filter for vr canvas or vrf igure objects Example stereo3d_object LeftCameraFilter 0 1 0 5 0 5 0 0 0 0 0 0 1 0 0 5 0 5 10 117 10 Functions Alphab
39. 3D Animation Figure Preferences dialog appears in the right pane with the 2 D Recording tab selected 2 Installation Simulink 3D Animation Figure Preferences Appearance Rendering 2 D Recording Frame Capture 2 D animated file name f_anim_ n avi Recording compression method auto Recording compression quality Frames per second 75 15 lt gt h 5 Set the preferences as desired See the following table for the rendering preferences you can change Click OK to save the settings Property Value Description 2 D animated file name String Default f_anim_ n avi Specifies the 2 D offline animation file name The string can contain tokens that are replaced by the corresponding information when the animation recording takes place For further details see File Name Tokens on page 4 14 Recording compression method auto lossless codec _code Default auto Specifies the compression method for creating 2 D animation files The codec code must be registered in the system See the MATLAB documentation for VideoWriter Recording compression quality Integer 0 100 Default 75 Specifies the default quality of 2 D animation file compression for new vrfigure objects Frames per second Default 15 Specifies the default frames per second playback speed 2 20 Set Simulink 3D Animation Preferen
40. Alphabetical List 10 148 Simulink 3D Animation Player Play recorded 3D animation files Description Use the Simulink 3D Animation Player to play 3D animation files created using the Simulink 3D Animation animation recording functionality You can control the playing of the animation using toolbar buttons or Playback menu options For example you can step forward or reverse fast forward or jump For keyboard shortcuts see vrplay To create an additional Simulink 3D Animation Player window in the Simulink 3D Animation Player select File gt New Window Open the Simulink 3D Animation Player App MATLAB command prompt Enter vrplay Examples Play an Animation File To play the animation file based on the vr_octavia example run vrplay octavia_scene anim wrl 1 Inthe MATLAB Apps tab in the Simulation Graphics and Reporting section click 3D Animation Player 2 Inthe Simulink 3D Animation Player select File gt Open Navigate to matlab toolbox sl3d sl3ddemos octavia_scene_anim wrl 3 Select Playback gt Play More About Animation Recording on page 4 10 Simulink 3D Animation Player File Name Tokens on page 4 14 See Also Apps Functions vrsetpref vrview 10 149 10 Functions Alphabetical List 10 150 3D World Editor Edit virtual worlds for 3D animation Description Use the 3D World Editor to create virtual worlds for visualizing and verifying dynamic
41. Animation Files 0 0 0 0 cece ees 4 30 Play Virtual World Animation Files 4 30 Play AVI Animation Files 0 0 00 cece nee 4 31 Build Virtual Reality Worlds 5 Virtual World Editors 0 0 0 0 cc cece eee 5 2 Editors for Virtual Worlds 0 000000 eee e eee 5 2 Build and Connect a Virtual World 5 7 Tnitroduction cece ented ee f aches eee bea tee dco We Be 5 7 Define the Problem 0 0 00 ccc cece eee 5 7 Add a Simulink 3D Animation Block 5 9 Open a New Virtual World 0 000000 eee 5 10 Add Nod s is 2 525 82s B a wt Rea ea ba lade are BS art ee aes 5 11 Link to a Simulink Model 00 0 0 00 5 20 Virtual World Data Types 0 00000 cece nee 5 24 Section Overview 0 00 eee eee eee 5 24 Field Data Types sese 8 ee kee be EE OE OEE OS 5 24 Virtual World Data Class Types 00005 5 26 Simulink 3D Animation Textures 5 29 Add Sound to a Virtual World 004 5 30 Using CAD Models with the Simulink 3D Animation PROGUCES 6 fh FO Ee hoe ia a a A ck ieee Beak Meese 5 31 Use of CAD Designs 0 0 0 eee 5 31 Import CAD Designs eroh a ba RKA REEE ee es 5 31 CAD Virtual World Modeling 000 5 31 Link to CAD Virtual Worlds 0000505 5 34 Import STL and Physical Modeling XML Files Directly into a Vir
42. Animation HTML page Only one virtual world is in the list because you have only one Simulink model open x QO 7 E htp 17228219109 8123 indexhtmi 4 x E zing 2 x jConvert v P Select lt File Edit View Favorites Tools Help avorites eneratin ut Web Slice Gallery v uggested Sites v Favori E Generating HTML Output Web Slice Gallery Suggested Si a O deh v Pager Safetyy Toos Simulink 3D Animation Simulink 3D Animation Worlds currently available Developed by e VR Car in the Mountains e Humusoft ber Powered by Local intranet Protected Mode Off fa gt 100 7 Click VR Car in the Mountains The Web browser displays a 3 D model of the virtual world associated with the model 3 19 3 Simulink Interface 3 20 Z Simulink 3D Animation Microsoft Internet Explorer provided by The Mathworks I Mi Eq File Edit View Favorites Tools Help ay Address a http localhost 8123 worlds 4 index html fsi H S Applet com mathworks toolbox vr client AppYR notir zal me cal E Local intranet h On the host computer in the Simulink window from the Simulation menu click Run On the client computer the animation of the scene reflects the process simulated in the Simulink diagram on the host computer You can tune communication between the host and the client computer by setting the Sample time and Transport buffer size para
43. Compensation ot Pilot Input La VR Sink VR Signal Expander Equstions of Motion Body Axes Note Virtual world degrees of freedom have different requested input vector sizes depending on the associated virtual world field types If the vector size of the connected signal does not match the associated virtual world field size an Incorrect input vector size error is reported when you start the simulation Virtual World Connection to a Model 15 16 Double click the VR Sink block in the Simulink model Select the View button A viewer window containing the plane s virtual world opens BB VR Plane Take Off oso B ls File View Viewpoints Navigation Rendering Simulation Recording Help x Airport sly aE aa Cae SaM WIE F Airport I Fiy Pos 48 61 11 89 30 00 Dir 0 98 0 20 0 00 Note When you next open the model the associated virtual scene opens automatically This behavior occurs even if the Simulink 3D Animation block associated with the virtual scene is in a subsystem of the model In the Simulink 3D Animation Viewer from the Simulation menu click Run to run the simulation A plane moving right to left starts down the runway and takes off into the air 3 7 3 Simulink Interface E vr Plane Take Off fo e sx File View Viewpoints Navigation Rendering Simulation Recording Help x Airport z Fy Ja EAZ aa 8S A gt i gt Airport i F
44. Editor For more information see V Realm Builder Help on page 2 6 Open an Empty Virtual World Use one of these approaches to open an empty virtual world in the 3D World Editor From the MATLAB Toolstrip in the Apps tab in the Simulation Graphics and Reporting section click 3D World Editor Ifthe 3D World Editor is your default virtual world editor open an empty virtual world from the MATLAB command line using the edit command edit vrworld Regardless of Default Editor preference setting you can use use the vredit command without arguments From within the 3D World Editor select either File gt Newor File gt New From Template If there is already a file open in the 3D World Editor these options open a new instance of the editor Multiple instances of the editor makes it easier to work on multiple virtual worlds at the same time and to copy and paste from one virtual world to another 6 5 6 Using the 3D World Editor 6 6 Open a Saved Virtual World Use one of these approaches to open a saved virtual world From the MATLAB Current Folder panel right click a virtual world 3D file and from the context menu select Edit If 3D World Editor is your default virtual world editor start it from the MATLAB command line using the edit command For example edit vrworld myVRMLfile wr1 Regardless of what your default virtual world editor is from the MATLAB command line use the v
45. Environment section select Preferences 2 Ihn the left pane of the Preferences dialog box select Simulink 3D Animation In the left pane under Simulink 3D Animation select World The Simulink 3D Animation World Preferences dialog box opens in the right pane 2 22 Set Simulink 3D Animation Preferences Vuur Alidlyzer Simulink 3D Animation Preferences Default VRML viewer internal VRML Editor Built in 3D World Editor a VRML data types representation in MATLAB Bool Command History logical Int32 double Float double Communication HTTP Port VR Port Computer Vision System Toolbo emcee adler Database Toolbox DSP System Toolbox Transport Timeout image Acquisition mage Processing instrument Control System Objects Simulink Simscape nk sVDA 3D World Editor 4 Set the preferences as desired See the following table for the rendering preferences you can change Click OK to save the settings Allowing viewing from off on the Internet Remote access flag If the virtual world is enabled for 2 23 2 Installation Property Value Description Default of f remote viewing it is set to on otherwise it is set to off 3 D animated file name String Default f_anim_ n wrl 3 D animation file name The string can contain tokens that are re
46. New Virtual World You must create a virtual world to connect to a Simulink model for visualizing signals This procedure opens a new virtual world in which you add nodes for visualizing the signals of the model vrtut3 The connection between the virtual world and the Simulink model requires that the model includes a VR Sink block as described in Add a Simulink 3D Animation Block on page 5 9 1 Start the 3D World Editor with an empty virtual world From the MATLAB Toolstrip in the Apps tab in the Simulation Graphics and Reporting section click 3D World Editor The 3D World Editor displays Build and Connect a Virtual World In the left pane a virtual scene tree with only a ROOT node In the right pane an empty virtual world In the bottom pane an empty pane for editing objects 2 You can save the virtual world at any point Save the virtual world as vrtut3 wrl in the same working folder where your vrtut3 file resides Do not close the 3D World Editor Your next two tasks create a virtual world to use with the vrtut3 model Add Nodes on page 5 11 Build and Connect a Virtual World on page 5 7 Add Nodes Create Boxes Defining virtual world objects involves defining a hierarchy of nodes This example shows how to define Transform nodes under the ROOT node with each Transform node including a hierarchy of children Shape Appearance Geometry and specific shape in this case a BOX nodes 1
47. P Play pause toggle S Stop R Page Up Rewind Right arrow key Step forward Left arrow key Step reverse Up arrow key First Down arrow key Last Examples To play the animation file based on the vr_octavia example run vrplay octavia_scene_anim wrl More About Record Offline Animations on page 7 38 See Also vrview 10 100 vrrotvec vrrotvec Calculate rotation between two vectors Syntax r vrrotvec a b r vrrotvec a b options Description r vrrotvec a b calculates a rotation needed to transform the 3D vector a to the 3D vector b r vrrotvec a b options calculates the rotation with the default algorithm parameters replaced by values defined in options The options structure contains the parameter epsilon that represents the value below which a number will be treated as zero default value is le 12 The result r is a four element axis angle rotation row vector The first three elements specify the rotation axis and the last element defines the angle of rotation See Also vrrotmat2vec vrrotvec2mat 10 101 10 Functions Alphabetical List 10 102 vrrotmat2vec Convert rotation from matrix to axis angle representation Syntax r vrrotmat2vec m r vrrotmat2vec m options Description r vrrotmat2vec m returns an axis angle representation of rotation defined by the rotation matrix m r vrrotmat2vec m options converts the rotation with the default algori
48. Record2D 2 D offline animation file recording 10 41 10 Functions Alphabetical List vrfigure Property Meaning Record2DCompress Compression method for creating 2 Method D animation files See profile in the MATLAB VideoWriter documentation Record2DCompress Quality of 2 D animation file compression Quality See the MATLAB VideoWriter documentation Record2DFileName Name of 2 D offline animation file The string can contain tokens that animation recording replaces with information See File Name Tokens on page 4 14 Record2DFPS Rate of playback for the 2 D offline animation video in frames per second fps Sound Sound effects StatusBar Status bar display Stereo3D Stereoscopic vision mode Stereo3DCameraO0ffset Distance in virtual world units of left and right camera from parallax for stereoscopic vision Parallax is the difference in the apparent position of an object viewed from two cameras StereosDHIT Horizontal image translation HIT of the two stereo images in stereoscopic vision represented by a value from 0 to 1 inclusive The larger the value the further back the background appears Textures Texture use ToolBar Toolbar display Tooltips Tooltips display in navigation panel Transparency Transparency effect Triad Location of the triad Viewpoint Active viewpoint of figure Wireframe Wireframe display get vrfigur
49. Simulink model you can connect the two with Simulink 3D Animation blocks The example in this procedure simulates a plane taking off and lets you view it in a virtual world Note The examples in this topic are based on the Simulink 3D Animation default viewer 1 Inthe MATLAB Command Window type vrtut2 A Simulink model opens without a Simulink 3D Animation block that connects the model to a virtual world Virtual World Connection to a Model Pa vrtut2 100 Pitch Aus of Rotation Display Pitch Plane Weight Ground ee Compensstion VR Display Pesition VR Signal Expander Clock Pilot Input Equations of Motion Body Axes 2 From the Simulation menu select Mode gt Normal then click Simulation gt Run Observe the results of the simulation in the scope windows 3 Inthe MATLAB Command Window type vrlib The Simulink 3D Animation library opens 4 From the Library window drag and drop the VR Sink block to the Simulink diagram The VR Sink block writes data from the Simulink model to the virtual world You can then close the Library vrlib window Now you are ready to select a virtual world for the visualization of your simulation A simple virtual world with a runway and a plane is in the virtual world 3D file vrtkoff wrl located in the vrdemos folder 5 In the Simulink model double click the block labeled VR Sink The Parameters VR Sink dialog box opens 3 3 3 Simulink Interf
50. Their values are displayed using the Scope Two outputs of the 2D setpoint area are used to achieve the following behavior The value of the SetPoint_Changed eventOut is continuously updated when the pointer is over the sensor area This value is triggered by the second output isActive that is true only on clicking the pointer button Triggered value coordinates of the active point on the sensor plane are displayed using the XY Graph and sent back to the virtual world in two ways as a position of green cone marker and as text that the VR Text Output block displays on the control panel 1 25 1 Getting Started 1 26 Portal Crane with Predefined Trajectory Example vrcrane_traj The vrcrane_traj example is based on the vrcrane_joystick example but instead of interactive control it has a predefined load trajectory The vrcrane_traj model illustrates a technique to create the visual impression of joining and splitting moving objects in the virtual world A crane magnet attaches the load box moves it to a different location then releases the box and returns to the initial position This effect is achieved using an additional geometrically identical shadow object that is placed as an independent object outside of the crane objects hierarchy At any given time only one of the Load or Shadow objects is displayed using two Switch nodes connected by the ROUTE statement After the crane moves the load to a new position at the time
51. Turn the navigation zones on and experiment by clicking and dragging your mouse in the different zones of a virtual world Orbisnap Mouse Navigation Movement Mode Zone and Description Walk Outer Click and drag the mouse up down left or right to slide the camera in any of these directions in a single plane Inner Click and drag the mouse up and down to move forward and backward Drag the mouse left and right to turn left or right 8 11 8 Simulink 3D Animation Stand Alone Viewer Movement Mode Zone and Description Examine Outer Click and drag the mouse up and down to move forward and backward Drag the mouse left and right to slide left or right Inner Click and drag the mouse to rotate the viewpoint around the origin of the scene Fly Outer Click and drag the mouse to tilt the view either left or right Inner Click and drag the mouse to pan the camera up down left or right within the scene Center Click and drag the mouse up and down to move forward and backward Move the mouse left or right to turn in either of these directions If your virtual world contains sensors these sensors take precedence over mouse navigation at the sensor s location In this case mouse navigation is still possible through the right or middle mouse buttons Keyboard You can also use the keyboard to navigate through a virtual world It can be faster and easier to issue a keyboard com
52. World 5 30 To add sound to a virtual world use a Sound node You can include an AudioClip node in a Sound node For an AudioC1lip node use a mono or stereo WAV file in uncompressed PCM format To listen to the sound use a computer that supports sound For details see Listen to Sound in a Virtual World on page 7 55 Note A stereo sound source retains its channel separation during playback Simulink 3D Animation attenuates the sound based on the distance of the viewer from the sound location The stereo channels are not affected by the relative position of the viewer to the sound location and the viewer direction in the virtual world even if the Sound node has the spatialize field set to true The following code adds to a virtual world a sound that switches on and off based on a logical signal DEF SoundSwitch Switch choice DEF MySound Sound source DEF CraneNoise AudioClip url sound crane_run wav loop TRUE Using CAD Models with the Simulink 3D Animation Product Using CAD Models with the Simulink 3D Animation Product In this section Use of CAD Designs on page 5 31 Import CAD Designs on page 5 31 CAD Virtual World Modeling on page 5 31 Link to CAD Virtual Worlds on page 5 34 Use of CAD Designs When you work with models of dynamic systems it is often necessary to visualize them in a three dimensional virtual reality environment If most of th
53. Worlds Remotely with Orbisnap 8 15 Blocks Alphabetical List 9 Functions Alphabetical List 10 Glossary xiii Getting Started Simulink 3D Animation Product Description on page 1 2 e Expected Background on page 1 3 e Build Virtual Worlds to Visualize Dynamic Simulations on page 1 4 MATLAB Compiler Support on page 1 10 X8D Support on page 1 11 Virtual Reality Modeling Language on page 1 14 Virtual Reality World and Dynamic System Examples on page 1 22 1 Getting Started Simulink 3D Animation Product Description 1 2 Animate visualize and interact with models in 3D Simulink 3D Animation provides apps for linking Simulink models and MATLAB algorithms to 3D graphics objects It lets you visualize and verify dynamic system behavior in a virtual reality environment Objects are represented in the Virtual Reality Modeling Language VRML a standard 3D modeling language You can animate a 3D world by changing position rotation scale and other object properties during desktop or real time simulation You can also inject virtual sensor signals and access 3D animation data in Simulink or MATLAB for post processing Simulink 3D Animation includes viewers for rendering and interacting with virtual scenes With the 3D World Editor you can author detailed scenes assembled from 3D models exported from CAD based or web based sources You c
54. X X 1 34 Car in the Mountains Example vrcar This example illustrates the use of the Simulink 3D Animation product with the MATLAB interface In a step by step tutorial it shows commands for navigating a virtual car along a path through the mountains 1 Inthe MATLAB Command Window type vrear 2 A tutorial script starts running Follow the instructions in the MATLAB Command Window Heat Transfer Example vrheat This example illustrates the use of the Simulink 3D Animation product with the MATLAB interface for manipulating complex objects In this example matrix type data is transferred between the MATLAB software and a virtual reality world Using this feature you can achieve massive color changes or morphing This is useful for representing various physical processes Precalculated data Virtual Reality World and Dynamic System Examples of time based temperature distribution in an L shaped metal block is used The data is then sent to the virtual world This forms an animation with relatively large changes This is a step by step example Shown are the following features Reshaping the object Applying the color palette to represent distributed parameters across an object shape Working with VRML or X8D text objects Animating a scene using the MATLAB interface Synchronization of multiple scene properties At the end of this example you can preserve the virtual world object in the MA
55. X8D is the successor of the VRML 97 standard see Virtual Reality Modeling Language on page 1 14 X8D and VRML share many similar approaches such as their coordinate systems and the description of objects using nodes and their fields X3D provides several extensions including additional nodes fields encoding scene access interfaces additional rendering control and geospatial support VRML97 is still a widely supported 3D format for tools and viewers and is a direct subset of X3D Many CAD tools and 3D editors support import from and export to the X3D format Because many 3D virtual world tools and CAD tools have adopted X3D Simulink 3D Animation software provides both X3D and VRML support VRML97 is the default virtual world file format 1 Getting Started 1 12 X3D Support in Simulink 3D Animation You can use XML encoded x3d files and Classic VRML encoded x3dv files X3D file formats X3D support is for versions from version 3 0 up to version 3 3 Support is for X3D files that contain components that comply to the Immersive profile You can use Simulink blocks and MATLAB command line interfaces to create and access virtual worlds X3D Support Limitations In the 3D World Editor you can edit only VRML and VRML compliant X3D files files that contain only X3D features that have VRML97 counterparts Simulink 3D Animation does not support X3D for Ligos V Realm Builder The X3D support has these limitations
56. according to their respective node types You can change the nesting levels of certain nodes to modify the virtual world In the tree viewer give the nodes unique names Virtual world display pane Observe the virtual world as you create it The 3D World Editor renders inlined objects grouped objects It uses the same renderer as the Simulink 3D Animation viewer Using the same renderer for the editor and the viewer provides consistent navigation and display throughout the development process Object property edit pane Change values for node items 5 5 5 Build Virtual Reality Worlds 5 6 For details see Build and Connect a Virtual World on page 5 7 and 8D World Editor on page 6 2 Ligos V Realm Builder The Ligos V Realm Builder interface is available only for Windows operating systems The V Realm Builder application is a flexible graphically oriented tool for 3 D editing It provides similar functionality as the 3D World Editor The V Realm Builder offers these features that the 3D World Editor does not Manipulators for dragging objects in the 3 D world Keyframe animation animation involving interpolated linear movements Compared to the 3D World Editor the V Realm Editor interface Supports only VRML not X3D e Provides dialog boxes for editing properties which can be less streamlined than the 3D World Editor object properties edit pane Does not always render virtual worlds t
57. always the field name with a set_ prefix The name of the eventOut is always the field name with a_changed suffix The exposedField class defines how the corresponding eventIn and eventOut behave For all exposedField classes when an event occurs the field value is changed with a corresponding change to the scene appearance and an eventOut is sent with the new field value This allows the chaining of events through many nodes The exposedField class is accessible to scripts whereas the field class is not 5 28 Simulink 3D Animation Textures Simulink 3D Animation Textures The following are texture file recommendations for Simulink 3D Animation models Where possible scale source texture files to a size equal to a power of 2 in both dimensions Doing so ensures optimal performance for the Simulink 3D Animation viewer If you do not perform this scaling the Simulink 3D Animation viewer might attempt to descale the image or create textures with undesired resolutions Use source texture files whose size and detail are no more than what you need for your application Where possible use the Portable Network Graphics PNG format as the static texture format You can also use the GIF and JPG graphic formats For movie textures use the MPEG format For optimal performance be sure to scale source texture files to a size equal to the power of 2 in both dimensions 5 29 5 Build Virtual Reality Worlds Add Sound to a Virtual
58. block When this value appears on the VR Sink input whether as a single value or as an element of a vector the appropriate value in the virtual world stays unchanged Use this block to change only one value from a larger vector For example use this block to change just one coordinate from a 3 D position The value output by the VR Placeholder block should not be modified before being used in other VR blocks Data Type Support A VR Placeholder block outputs signals of type double 9 15 9 Blocks Alphabetical List Block Parameters Dialog Box Block Parameters YR Placeholder xj VR Placeholder mask link Generate a vector of VR Placeholder signals used for masking the unused or unaffected components of VRML fields m Parameters Output width 1l Cancel Hep Output Width Length of the vector containing placeholder signal values 9 16 VR Signal Expander VR Signal Expander Expand input vectors into fully qualified virtual world field vectors Library Simulink 3D Animation px w Description VR Signal Expander The VR Signal Expander block creates a vector of predefined length using some values from the input ports and filling the rest with placeholder signal values Data Type Support A VR Signal Expander block accepts and outputs signals of type double 9 17 9 Blocks Alphabetical List 9 18 Block Parameters Dialog Box El Block Parameters
59. client computer is a PC platform with a Simulink 3D Animation Web Viewer For a similar example using the Orbisnap viewer see View Virtual Worlds Remotely with Orbisnap on page 8 15 In the following example a Simulink window opens with the model of a simple automobile The automobile trajectory vehicle position and angle is viewed in virtual reality 1 On the host computer in the MATLAB Command Window type vrtut1 A Simulink window opens with the model of an automobile View Virtual World Remotely 2 3 Automabile rotation A a Speed Z Integrstor Double click the VR Sink block This block is in the right part of the model window A virtual world viewer also opens with a 3 D model of the virtual world associated with the model In the virtual world viewer select the Simulation menu Block Parameters option A Parameters VR Sink dialog box opens 3 17 3 Simulink Interface 3 18 Parameters R Sink A Egl x VR Sink Writes Simulink values to virtual world node fields Fields to be written are marked by checkboxes in the tree view Every marked field corresponds to an input port of the block World properties gt RML Tree r Source file fvrmourt wl Browse View Edit Reload rOutput IV Show nodetypes IV Show field types gt ROOT H Worldinfo e Navigationinfo H P view Viewpoint P Camera_car Transform DirectionalLight
60. created with the CATIA software take into account the following known features for further use with the Simulink 3D Animation software Object Exporting to VRML does not preserve CATProduct and CATPart names The CATIA environment only creates synthetic VRML DEF names for sub parts materials and object coordinate fields These synthetic names change between two or more consecutive export operations To work with the Simulink 3D Animation software provide meaningful DEF names for the objects that you want to control from the MATLAB Simulink environment The CATIA software saves all vertex coordinates for a part in one VRML coordinate field which resides in the first exported IndexedFaceSet for the part This field is referenced from several sub parts throughout the file with the USE directive Preserve this reference Do not delete or rename the original Coordinate field DEF name The VRML file stores only one material per part If the part consists of several sub parts in VRML their material also uses the USE reference to the material of the first sub part e Textures are supported LOD exporting parts in several levels of detail for more efficient visualization is not supported The CATIA software exports models in millimeters VRML units are meters Scale resulting objects to visualize them effectively The VRML file does not save user defined CATIA viewpoints The main Transform representing the CATIA produ
61. defined by a box SphereSensor Maps pointing device motion into spherical rotation about the origin of the local coordinate system TimeSensor Generates events as time passes TouchSensor Tracks the location and state of the pointing device and detects when you point at geometry contained by the TouchSensor node parent group VisibilitySensor Detects visibility changes of a rectangular box as you navigate the world 3 22 Modify Remote Virtual World via Sensor Events Modify Remote Virtual World via Sensor Events Interactive mode allows clients to modify a remote virtual world via events from sensor nodes defined in the virtual world Interactive mode is useful when a virtual world includes a sensor Interactive mode is disabled by default on clients You can enable or later disable interactive mode on a client via context menu in the Web Viewer or by pressing the I key shortcut You can disable interactive mode for a particular virtual world on the host computer For details see the ClientUpdates property using vrworld get or vrworld set 3 23 3 Simulink Interface Read Sensor Values 3 24 To read a value of a readable field either exposedField or eventOut first synchronize that field with the vrnode sync method After synchronization each time the field changes in the scene the field value updates on the host You can then read the value of the field with the vrnode getfield method or directly access th
62. e eee 2 6 Set the Default Editor 0 00 00 2 7 Use Preferences to Set the Default Editor 2 7 Use MATLAB Commands to Set the Default Editor 2 8 Set Simulink 3D Animation Preferences 2 10 Ways to Access Simulink 3D Animation Preferences 2 10 Access the Preferences Dialog Box 2 11 38D World Editor Preferences 00000 eee 2 14 Canvas Preferences 0 0 00 ee ee eens 2 15 Figure Preferences 0 0 00 cece ee ee ees 2 16 Figure Appearance Preferences 000 eee 2 16 Figure Rendering Preferences 0000 eeeeee 2 17 Figure 2 D Recording Preferences 00000005 2 19 Figure Frame Capture Preferences 5 2 21 Virtual World Preferences 0 0 00 c eee ees 2 22 Uninstall V Realm Builder 4 2 25 Test the Viewer Installation 00045 2 26 Section Overview 0 0 ccc ee eens 2 26 Simuhnk Testing soute os aad E E ate aw eed E a e 2 26 MATLAB Testing 0 0 0 0 ee eee 2 31 Simulink Interface 3 Virtual World Connection to a Model 3 2 Add a Simulink 3D Animation Block 0 0 3 2 vi Contents Changing the Virtual World Associated with a Simulink BLOG ket te ass tes raph als Bil rae aes Raita ac O ea Oe N A 3 8 Open a Viewer Window 0 0000 cece ees 3 10 Display Virtual World and Start S
63. example The VR Sink block is equivalent to the VR To Video block except that the Show video output port parameter for the VR Sink block is cleared by default The VR Sink block cannot be compiled by the Simulink Coder software but it can be used as a SimViewing device on the host computer Note The current internal viewer window vrfigure properties are saved together with the Simulink model The next time you open the model the internal viewer window opens with the same parameters that were last saved such as position size and navigation mode When closing the viewer window the Simulink software does not alert you if these properties have changed The VR Sink block is a Sim Viewing Device You can include it in models that you compile with Simulink Coder software If you use External mode to compile build 9 19 9 Blocks Alphabetical List 9 20 and deploy the model on a target platform such as Simulink Real Time or Simulink Desktop Real Time some sink blocks and Sim Viewing Device blocks stay in Normal mode during simulation receive data from the target and display that data For more information see Sim Viewing Devices in External Mode in the Simulink documentation Data Type Support A VR Sink block accepts all meaningful data types on input The block converts these data types to natural virtual world types as necessary These data types include logicals many types of signed and unsigned int
64. example by running vrplay octavia_scene_anim wrl vrplay works only with VRML animation files created using the Simulink 3D Animation recording functionality In the Current Folder pane of MATLAB double click the animation file and from the context menu select Run At the MATLAB command line use vrview A fourth option is to use the MATLAB command vrview For example enter w vrview vrplanets_anim_1 wrl set w TimeSource freerun Play Animation Files The vrview command displays the default Simulink 3D Animation Viewer for the animation file Setting the TimeSource property of the set method to freerun directs the viewer to advance its time independent of the MATLAB software To stop the animation type set w TimeSource external To close the viewer and delete the world get the handle of the vrfigure object and close it as follows f get w Figures close f delete w Or to close all vr figure objects and delete the world type vrclose delete w Play AVI Animation Files To view an AVI animation file use one of these approaches Double click the AVI animation file The program associated with avi files in your system for example Windows Media Player Media Player opens for the avi file If your avi file is not yet running start it now from the application The animation file runs Use the MATLAB VideoReader function 4 31 Build Virtual Reality Wor
65. file extension wrl x3d or x3dv as the extension of the virtual world that drives the animation By default the e token uses the file extension of the virtual world 3D file that drives the animation The VR Sink and VR Source block Source file parameter specifies the file extension of the virtual world You can specify a different extension However if the file extension in the Source file parameter is xX3d or x3dv you cannot set e token to wrl VRML You can specify other file name tokens For details see File Name Tokens on page 4 14 Start and Stop Animation Recording You can start or stop recording animations of the virtual world from the Simulink 3D Animation viewer through the menu bar toolbar or keyboard This section assumes that you have specified animation files into which the animation is to be recorded From the menu bar choose the Simulation menu Run option to start recording the animation select Stop to stop the recording From the toolbar click the Start stop recording button to start or stop recording the animation select Stop to stop the recording Alternatively you can use the Recording menu Start Recording and Stop Recording options From the keyboard press Ctrl R to toggle between starting or stopping the animation recording Stop the simulation or let the model simulate until the defined simulation stop time Note If you stop the simulation while recording is enabled the viewer
66. given node or property on lines that begin with Display Event Fields You can display eventIn and eventOut fields in the 3D World Editor tree pane Either click the Show Events button or select Tree gt Show Events You can perform an IS mapping for events in a PROTO declaration 6 15 6 Using the 3D World Editor 6 16 Expand and Collapse Nodes To expand a node in the tree structure pane click the plus sign to the left of the node To collapse a node click the minus sign to the left of the node To expand or collapse all nodes in one step select Tree gt Expand All or Tree gt Collapse All To expand subtrees within a node 1 In the tree structure pane right click a node 2 From the context menu select Expand Subtree Alternative approaches for expanding the subtree for a node that you select in the tree structure pane are Select Tree gt Expand Subtree Click the Expand Subtree toolbar button Hide Default Values To simplify the tree view you can hide default values Select Tree gt Hide Default Values To display default values clear the Hide Default Values option Wrap Nodes as Children of Another Node To wrap contiguous nodes as children of another node 1 Select the nodes You can use the Shift key to select contiguous nodes and the CTRL key to select discontiguous nodes 2 Right click the selected nodes and from the context menu select Wrap By As an alternative
67. horizontal image translation programmatically using vr canvas vrfigure and vr utils stereo3d If you use avr utils stereo3d object you can also control the color filters for the left and right cameras Active Stereoscopic Vision Configuration Active Stereoscopic Vision Configuration In this section Computer Platforms on page 7 59 Graphics Cards on page 7 59 Display Devices on page 7 59 Graphic Card Connection to Display Devices on page 7 60 Examples of Stereoscopic Vision Setups on page 7 60 This section identifies system requirements for active stereoscopic vision configuration For detailed information to determine whether a system meets the Simulink 3D Animation active stereoscopic vision requirements consult the documentation for your systems Computer Platforms You can use stereoscopic vision on properly configured Windows and Linux platforms You cannot use active stereoscopic vision on Macintosh platforms Graphics Cards Your computer must have a stereo 3D graphic card that supports OpenGL based stereoscopic vision together with appropriate system driver such as AMD FirePro W series of cards for example W5000 that support HD3D Pro technology NVIDIA Quadro cards that support 3D Vision Pro technology Display Devices To display the stereoscopic video output of a graphic card use one of these 3D display devices e 3D compliant monit
68. i VR Tracer mask link Trace the trajectory of an object in the associated virtual scene Markers are objects created in regular time steps to mark traced object positions You can create several types of markers predefined shape markers axis aligned triads line segments connecting object positions to approximate their trajectories and line segments that project object positions to a plane or to a point Object position input must correspond to the placement of the object in the scene hierarchy If the traced object resides as a child of some parent object define the parent object DEF name in the Parent node field If the traced object resides at the top of the scene hierarchy its position is defined in global scene coordinates leave this field empty Inputs Position determines the position of the marker Color if enabled represents the marker RGB color Projection Point if enabled represents the coordinates of the point to which to connect the line from the current marker position Main Marker Projections m Project positions on a plane Project positions X a point None hd Cox cancer utletpases __ Apply J ba Associated VRML file Virtual world 3D file name specifying the associated virtual world Parent node leave empty for root Specify the location of the traced object in the scene hierarchy Marker shape From the list select one shape
69. isvalid vrnode isvalid vrworld nodes vrworld nodes List nodes available in virtual world Syntax nodes vrworld_ object full x nodes vrworld_object full Arguments vrworld_ object A vrworld object representing a virtual world full Optional switch to obtain a detailed list of nodes and fields Description If you give an output argument the method nodes returns a cell array of the names of all available nodes in the world If you do not give an output argument the list of nodes is displayed in the MATLAB window You can use the full switch to obtain a detailed list that contains not only the nodes but also all their fields This switch affects only the output to the MATLAB Command Window The virtual world must be open for you to use this method See Also vrworld vrworld open 10 137 10 Functions Alphabetical List 10 138 vrworld open Open virtual world Syntax open vrworld_ object Arguments vrworld_ object A vrworld object representing a virtual world Description The open method opens the virtual world When the virtual world is opened for the first time the virtual world internal representation is created based on the associated virtual world 3D file If the input argument is an array of virtual world handles all the virtual worlds associated with those handles are opened The virtual world must be open for you to use it You can close the virtual world with t
70. node Under the Transform node include nodes in a hierarchy such as children Shape appearance Appearance material Material texture textureTransform Geometry Box Use the object properties edit pane to change default property values to create the effects that you want Insert 3D World Editor library objects to define aspects such as textures for virtual world objects Give a DEF name to each object that you create so that you can access them using Simulink 3D Animation 6 Using the 3D World Editor 6 10 You can use Orbisnap to view library objects to determine which objects you want to insert into the virtual world In the virtual world display pane use the context menu to specify display characteristics such as View characteristics for example zooming and a navigation panel Viewpoints Navigation characteristics for example methods such as fly or walk and speed Rendering techniques for example antialiasing lighting and transparency Save or export the virtual world 3D file Basic Editing Basic Editing In this section Add Objects on page 6 11 Copy and Paste a Node on page 6 12 Edit Object Properties on page 6 13 Document a Virtual World Using Comments on page 6 15 Display Event Fields on page 6 15 Expand and Collapse Nodes on page 6 16 Wrap Nodes as Children of Another Node on page 6 16 Remove Nodes on page 6 17 Sa
71. of the Simulink 3D Animation product For example if you want to visualize a virtual world active in a Simulink 3D Animation session that is running on a computer in another part of the building or across the network This functionality allows you to remotely view a simulation but not control it e View and navigate but not simulate a virtual world You can navigate render and otherwise visualize a virtual world without simulating it e View virtual worlds using stereoscopic vision Orbisnap is multiplatform You can run Orbisnap on any of the platforms that the Simulink 3D Animation product supports You do not need a MathWorks license to run Orbisnap Install Orbisnap Install Orbisnap In this section Section Overview on page 8 3 System Requirements on page 8 3 Copying Orbisnap to Another Location on page 8 3 Adding Shortcuts or Symbolic Links on page 8 4 Section Overview The collection of Orbisnap files includes the Orbisnap starter file Orbisnap executable file and supporting files These files are located under the Simulink 3D Animation orbisnap folder for example matlabroot toolbox s13d orbisnap bin for the Windows platform No further installation is necessary but you might want to copy the Orbisnap files to another location or create shortcuts or symbolic links to the Orbisnap starter file for convenience System Requirements Orbisnap has the same hardware and sof
72. of the load release a VRMLScript script assigns the new shadow object position according to the current Load position The Shadow object becomes visible Because it is independent from the rest of the crane moving parts hierarchy it stays at its position as the crane moves away Lighting Example vrlights The vrlights example uses light sources In the scene you can move Sun modeled as DirectionalLight and Lamp modeled as PointLight objects around the Simulink model This movement creates the illusion of changes between day and night and night terrain illumination The associated virtual world 3D file defines several viewpoints that allow you to observe gradual changes in light from various perspectives Magnetic Levitation Model Example vrmaglev The vrmaglev example shows the interaction between dynamic models in the Simulink environment and virtual worlds The Simulink model represents the HUMUSOFT CE 152 Magnetic Levitation educational presentation scale model The plant model is controlled by a PID controller with feed forward to cope with the nonlinearity of the magnetic levitation system To more easily observe and control the ball set the virtual world viewer to the Camera 3 viewpoint You can set the ball position setpoint in two ways e Using a Signal Generator block Clicking in the virtual reality scene at a position that you want Virtual Reality World and Dynamic System Examples To achieve a dragging effe
73. often VRML97 according to the adoption year of the ISO standard The Simulink 3D Animation software uses VRML97 so select VRML97 as the export format If your CAD tool allows only VRML1 export you can use the Ligos V Realm Builder application a native VRML scene editor supplied with the Simulink 3D Animation software to convert models from VRML1 to VRML97 Simply open a VRML1I file and resave it in V Realm so that the file is automatically saved in the VRML97 format Note All references to the general abbreviation VRML refer to the VRML97 standard Import VRML Models from CAD Tools Level of Detail Considerations CAD models are usually parametric models that use proprietary object rendering methods for use in various contexts During model export the internal parametric model of the assembly is tessellated In this process the model surface is divided into triangular meshes represented by the IndexedFaceSet nodes During tesselation it is important to set the granularity of the mesh so that it is suitable for further use Modifying the polygon count afterwards would not only be very difficult but also not practical as the resolution independent information of the object shape and structure is lost and cannot be reconstructed based on the tessellated model For the effective rendering of moving parts virtual world models should be as simple as possible However usually little if any visible model degradation is desired I
74. on Navigation on page 7 24 Control Menu Access the control menu by right clicking in the viewer window You can use the control menu to specify a predefined viewpoint or change the appearance of the control panel You can also control the navigation method speed and rendering of the virtual world For more information about navigation methods see Navigate Using the Simulink 3D Animation Viewer on page 7 18 For more information about rendering see Specify Rendering Techniques on page 7 10 Change the Navigation Speed You can change the speed at which you navigate around the view In the menu bar select the Navigation menu Select the Speed option Select the specific speed that you want Aa ON Navigate the virtual world Note Your navigation speed controls the distance that you move with each keystroke It does not affect rendering speed Consider setting a higher speed for large scenes and a slower speed for more controlled navigation in smaller scenes To change the default navigation speed for a virtual scene modify the speed field of the NavigationInfo node in the scene virtual world 3D file Sensors Effect on Navigation 1 At the MATLAB command prompt type vrpend The Inverted Pendulum example starts and the viewer displays the following scene Navigate Using the Simulink 3D Animation Viewer File View Viewpoints Navigation Rendering Simulation Recording Help x Pseud
75. on systems that have more than one monitor width Distance between the right and left inner edges of the figure height Distance between the top and bottom inner edges of the figure All measurements are in units specified in pixels 10 51 10 Functions Alphabetical List 10 52 Example 230 250 570 510 Data Types double Record2D 2 D offline animation file recording off default on 2 D offline animation file recording specified as on or off Record2DCompressMethod Compression method for creating 2 D animation files auto default lossless none string with name of a compression method Compression method for creating 2 D animation files specified as lossless none or a string specifying the name of a compression method See profile in the MATLAB VideoWriter documentation Record2DCompressQuality Quality of 2 D animation file compression 75 default floating point number from 0 through 100 inclusive Quality of 2 D animation file compression specified as a floating point number from 0 through 100 inclusive See the MATLAB VideoWriter documentation Data Types int32 Record2DFileName Name of 2 D offline animation file string Name of 2 D offline animation file specified as a string The string can contain tokens that animation recording replaces with the corresponding information See File Name Tokens on page 4
76. on the 3D World Editor menu bar select Nodes gt Wrap By 3 From the list of nodes select the node in which you want to wrap the selected nodes Basic Editing gt ROOT WorldInfo H e NavigationInfo 4 Background H e Transform DM Membrane Transform gt MEDI Viewpoi WraprBy gt Anchor gt Witenes Viewpoi ah Billboard il H DirLight Directi Delete Da H P PointLight PointLight Comsion Group Transform LOD Switch Remove Nodes To delete one or more nodes select the nodes and use one of these methods On the toolbar click the red X button Click the Delete button Select Edit gt Delete Right click the node and select Delete From the Edit menu you can also delete a specific child node or all the children nodes of a selected parent node without deleting the parent node To cut a node and save it to the clipboard select the node and use one of these techniques On the toolbar click the scissors button Select Edit gt Cut Right click the node and select Cut Save and Export Virtual World Files You can save your virtual world files as virtual world using the File gt Save or File gt Save As menu items 6 17 6 Using the 3D World Editor 6 18 If you use the Save option the 3D World Editor renames the previous version of the file by appending bak after the wrl x3dv or X3d extension If you use the Save As option the 3D World Editor
77. on the blue surface and left click The pendulum set point represented by the green cone moves to a new location Next the path is drawn on the trajectory graph and then the pendulum itself moves to the new location In the Simulink 3D Animation Viewer you see the animated movement of the pendulum Use the viewer controls to navigate through the virtual world change the viewpoints and move the set point For more information about using the Simulink 3D Animation Viewer controls see Simulink 3D Animation Viewer on page 7 4 In the Simulink window double click the Trajectory Graph block The Block Parameters Trajectory Graph dialog box opens From the Stipend mode list choose Mouse then click OK 2 29 2 Installation i Block Parameters Trajectory Graph K 2 x m Trajectory scope mask Trajectory scope using MATLAB graph window Enter plotting ranges m Parameters min fa 0 Max pepe ymin a 0 ymax fi 0 Sample time fo 2 Setpoint mode VR sensor zl Mouse Input signal VR sensor You can now use the trajectory graph as a 2 D input device to set the position of the pendulum 6 Move the mouse pointer into the graph area and click The set point red circle for the pendulum position moves to a new location 7 Inthe Simulink window from the Simulation menu click Stop The trajectory for the pendulum is displayed in the graph as a blue line 2 30
78. perpendicular to the screen coming through the center of the Orbisnap window and the closest visible surface to the camera Pressing the arrow keys without releasing Ctrl rotates the viewpoint about the acquired center point Shift Alt Left Right Arrow Tilt the camera right and left 8 13 8 Simulink 3D Animation Stand Alone Viewer View Animations or Virtual Worlds with Orbisnap This topic assumes that you have a prerecorded WRL animation file or an existing virtual world file This procedure uses a file named vr_bounce_anim wrl 1 6 Start Orbisnap For example in Windows double click orbisnap bat in matlabroot toolbox s13d orbisnap bin This is an Orbisnap starter file that calls the Orbisnap executable Orbisnap is displayed In Orbisnap select File gt Open A file browser is displayed Browse to the folder that contains the prerecorded WRL animation file or virtual world you want to view Select the virtual world or prerecorded WRL file you want to view Click Open The file is displayed If the file is an animation file the simulation begins To close Orbisnap select File gt Close Using the menus toolbar and navigation panel you can perform many of the same operations on the virtual world that you can with the Simulink 3D Animation Viewer See Orbisnap Interface on page 8 6 for an overview of the Orbisnap interface See Start Orbisnap on page 8 5 for a description
79. procedure uses the Simulink model vrtut3 to show how to add a Simulink 3D Animation block to your model The model generates the values for the position of B1 the position of B2 and the dimensions of S as described in Define the Problem on page 5 7 1 Open the Tutorial 3 example a At the top of the page that opens select Open this Example b Save thevrtut3 file to your MATLAB working folder 2 In MATLAB change the current folder to your MATLAB working folder In the MATLAB Command Window type vrtut3 A Simulink window opens with a model that contains Simulink 3D Animation VR Signal Expander blocks but no VR Sink block to write data from the model to Simulink 3D Animation Instead this model uses Scope blocks to temporarily monitor the relevant signals 5 9 5 Build Virtual Reality Worlds 5 10 B1 Velocity B1 X Position B1 Translation VR Signal Expander D gt a Symmety eS B2 Translation VR Signal Expander B1 Thickness 2 S Deformation in X Conversion Position to Scale Sscale Initial S Radius at Stop Condition 4 From the MATLAB Command Window type vrlib The Simulink 3D Animation library opens 5 From the Library window drag and drop the VR Sink block to the Simulink diagram You can then close the Library Browser window Your next task is to create a virtual world that you will associate with the VR Sink block See Open a New Virtual World on page 5 10 Open a
80. product Standalone applications that include Simulink 3D Animation functionality have the following limitations No Simulink software support which results in no access to the Simulink 3D Animation Simulink library vr1ib No Simulink 3D Animation server which results in no remote connection for the Orbisnap viewer e No animation recording ability No editing world ability The following Simulink 3D Animation Viewer features cannot be used in standalone applications File gt Open in Editor Recording menu Simulation menu Help access 1 10 X3D Support X3D Support In this section X3D on page 1 11 Relationship of X3D and VRML on page 1 11 X3D Support in Simulink 3D Animation on page 1 12 Convert a VRML File to X3D Format on page 1 12 X3D The X3D Xtensible 3D ISO standard is an open standards file format and runtime architecture for representing and communicating 3D scenes and objects X3D has a rich set of componentized features that you can customize You can use X8D in applications such as engineering and scientific visualization CAD and architecture medical visualization training and simulation multimedia entertainment and education For information about supported X3D specification see ISO IEC 19775 1 2013 For information about supported X3D encoding see ISO IEC 19776 1 3 201x and ISO IEC 19776 2 3 201x Relationship of X3D and VRML
81. remote computers to view all opened virtual worlds with a Web browser in the MATLAB Home tab in the Environment section use the Preferences gt Simulink 3D Animation gt Allow viewing from the Internet preference Connect the Web Viewer 1 2 In Simulink 3D Animation open the virtual world that you want to view On the computer from which you want to open the Web Viewer open an HTML5 enabled browser supporting WebGL and WebSocket The browser must have Javascript enabled Note For a list of HTML5 enabled browsers see http www x3dom org page_id 9 Connect to the local host HTTP port To open the Web Viewer on The same computer on which Simulink 3D Animation runs enter the following in your Web browser http localhost 8123 A remote computer that does not have Simulink 3D Animation in the http localhost 8123 URL replace localhost with the HTTP port of the host computer Open the Web Viewer Note If you need to change the HTTP port for example if a firewall blocks a port set a different port number and restart MATLAB To change the HTTP port in the MATLAB Home tab in the Environment section use the Preferences gt Simulink 3D Animation gt HTTP Port gt preference In the Web Viewer from the list of open virtual worlds select the one that you want to view 7 51 7 Viewing Virtual Worlds Navigate Using the Web Viewer 7 52 In this section Display and
82. s viewpoints using the menu bar toolbar navigation panel or keyboard shortcut keys These navigation methods are inactive if the author has specified no or only one viewpoint in the virtual world From the menu bar use the Viewpoints menu to move between viewpoints Use the Previous Viewpoint and Next Viewpoint options to sequentially move up and down the list of existing viewpoints To move focus to a particular viewpoint choose a viewpoint from the list of viewpoints From the toolbar use the drop down list of viewpoints to select a particular viewpoint From the navigation panel use the Previous Viewpoint and Next Viewpoint controls to sequentially move up and down the list of existing viewpoints From the keyboard press Page Up and Page Down To reset a camera to the initial position of the current viewpoint use one of the methods listed in Reset Viewpoints on page 7 30 Resetting the viewpoint is useful when you have been moving about the scene and need to reorient yourself This topic illustrates viewpoints using the vrplanets example 1 Select a Simulink 3D Animation example and type that example s name in the MATLAB command window For example vrplanets The Simulink model is displayed By default the Simulink 3D Animation viewer for that model is loaded and becomes active If the viewer is not displayed double click the VR Sink block in the Simulink model From the menu bar select the Viewpoints menu
83. specified position virtual figure vrfigure returns an empty vrfigure object that does not have a visual representation virtual_figure vrfigure returns an empty vector of type vrfigure Input Arguments world Virtual world vrworld object Virtual world specified as a vrwor1d object Note Open the virtual world that you specify before you create a vrf igure object using that virtual world 10 31 10 Functions Alphabetical List 10 32 Position Figure location and size vector with four elements Location and size of virtual figure specified as the vector in the form left bottom width height Specify measurements in pixels Note On Windows systems figure windows cannot be less than 104 pixels wide regardless of the value of the Position property Element Description left Distance from the left edge of the primary display to the inner left edge of the figure window This value can be negative on systems that have more than one monitor bottom Distance from the bottom edge of the primary display to the inner bottom edge of the figure window This value can be negative on systems that have more than one monitor width Distance between the right and left inner edges of the figure height Distance between the top and bottom inner edges of the figure Example 230 250 570 510 Data Types double Output Arguments virtual_figure Virtual reality figure
84. such assemblies The Simulink 3D Animation software includes the following functions for working with SimMechanics files vrcadcleanup vrphysmod and stl2vrml Link to a SimMechanics Model Depending on the virtual world hierarchy you can use one of two methods to help visualize SimMechanics machines Using CAD Models with the Simulink 3D Animation Product When the virtual world has a flat structure of independent objects you can obtain the positions and rotations of machine parts using Body Sensor blocks connected to appropriate coordinate systems attached to the bodies with positions and rotations defined using global coordinates In most cases it is appropriate to connect the sensor to a body coordinate system with origin at 0 0 0 and with an initial rotation matrix defined as the identity matrix 1 0 0 0 1 0 O O 1 in the global coordinate When the virtual world has a hierarchical structure of nested objects the body positions and rotations can be obtained using Body Sensor blocks with output set to use local body coordinates In some special cases e g when two bodies are connected through a revolving joint it is possible to get the angle between the objects using a Joint Sensor block Linking the Virtual World to a MATLAB Model For interacting with virtual worlds the Simulink 3D Animation product also offers a set of MATLAB functions and constructs referred to collectively as its MATLAB interface Circums
85. the Root node or an MFNode node usually the children node of a Transform or Group node 2 From the Nodes gt Import From menu item select either STL File or Physical Modeling XML File Tip Alternatively you can right click the Root node or an MFNode node and use the Import From menu item However to insert the new node in the middle of a node list after the selected node both at the main level or inside a MFNode node use the Nodes gt Import From menu path Note To import a Physical Modeling XML file the target folder must be writable Alternatively you can use the stl2vrml1 function Results Importing an STL file creates a Transform node containing a Shape node with IndexedFaceSet geometry that represents the original STL shape The new Transform is created either at the main level of the scene hierarchy at the end of the file or as a child of a selected grouping node Import STL and Physical Modeling XML Files Directly into a Virtual World Importing a Physical Modeling XML file creates an individual VRML file for each STL file that is referenced from that XML file The created VRML files are stored in the folder where the edited VRML file is located In the edited VRML file the newly created Transform contains hierarchical structure Transforms that correspond to the structure of objects described in the XML file Individual VRML shape files in this structure are referenced using Inline nodes No
86. the changed position vrdrawnow end If you set the Time property at or outside the end boundary of RecordInterval the Simulink 3D Animation software stops recording You can then view the resulting animation file For a complete example of how to perform this kind of animation recording refer to the Simulink 3D Animation vrheat_anim example 4 29 MATLAB Interface Play Animation Files In this section Play Virtual World Animation Files on page 4 30 Play AVI Animation Files on page 4 31 Play Virtual World Animation Files You can view virtual world animation files using one of these approaches 4 30 Open the 3D Animation Player from the MATLAB Toolstrip To open the 3D Animation Player from the MATLAB Toolstrip in the Apps tab in the Simulation Graphics and Reporting section click 3D Animation Player Select or specify an virtual world 3D animation file From the operating system locate and double click the VRML animation file Double click the virtual world 3D file An HTML5 enabled web browser opens with the animation running To view the resulting animation file you must have an HTML5 enabled web browser installed on your system Use vrplay filename where filename is the name of your virtual world 3D file This opens the 3D Animation Player and your file Using the player you can control the playback of your file For example play the animation file based on the vr_octavia
87. the following topics Record 3 D Animation Files on page 7 41 Describes how to configure the record simulation parameters to create 3 D format animation files Record Files in the Audio Video Interleave AVI Format on page 7 41 Describes how to configure the record simulation parameters to create 2 D format animation files Schedule Files for Recording on page 7 44 Describes how to schedule record simulation operations to occur automatically File Names By default the Simulink 3D Animation Viewer records simulations or captures virtual scene frames in a file named with the following format f_anim_ n e This format creates a unique file name each time you capture a frame or record the animation The file name uses the f n and e tokens 7 39 7 Viewing Virtual Worlds 7 40 The f token is replaced with the name of the virtual world associated with the model The n token is a number that increments each time that you record a simulation for the same virtual world If you do not change the default file name for example if the name of the virtual world file is vrplanets vrml and you record a simulation for the first time the animation file is vrplanets_anim_1 wrl1 If you record the simulation a second time the animation file name is vrplanets_anim_2 wrl In the case of frame captures capturing another frame of the scene increments the number The e token represents the virtual world 3D
88. the virtual world in Orbisnap You can see a simulation on Orbisnap only if the virtual world is simulated in the Simulink 3D Animation server The simulation might slow when you connect Orbisnap remotely to the Simulink 3D Animation server Start Orbisnap For example in Windows double click orbisnap bat in matlabroot toolbox s13d orbisnap bin This is an Orbisnap starter file that calls the Orbisnap executable Orbisnap is displayed In Orbisnap select File gt Connect to Server The Connect to Server dialog is displayed 8 15 8 Simulink 3D Animation Stand Alone Viewer 8 16 Enter the IP address or hostname of the host computer running the Simulink 3D Animation server 127 0 0 1 by default The HTTP port number is 8123 by default and the port number at which the Simulink 3D Animation server is listening is 8124 by default Connect To Server x 0 1 Host name Using HTTP port 8123 and VR port 8124 OK Cancel The Choose a world dialog is displayed This dialog lists all the virtual worlds that are currently active on the Simulink 3D Animation server Choose a world E xj Choose a world to connect to Planets zi OK Cancel If no virtual world has ever been opened in this session of the Simulink 3D Animation server Orbisnap displays a message If you see this message contact your counterpart running the Simulink 3D Animation server to better synchronize your activities A virtual
89. their CATParts as VRML transforms The structure of these transforms corresponds to the CATIA model hierarchy In addition to transforms that represent physical elements the CATIA software creates several transforms and groups in the VRML file to represent relationships between objects and other model properties defined in the CATIA environment Some of these additional nodes can be empty Many CATIA model properties do not have equivalents in the VRML language Each part transform contains a hierarchy of nested transforms groups and shapes that correspond to the part internal structure Some of these elements have synthetic DEF names for example 0161DC70 For the most part you will only need to work with the main transforms that represent each part The following contains the VRML model of a cylinder assembly consisting of four parts 5 51 5 Build Virtual Reality Worlds Scene Tree Fl E E E E By he Be By he By Be he 5 52 WorldInfo NavigationInfo Background Viewpoint Viewpoint Viewpoint viewpoint viewpoint viewpoint viewpoint viewpoint Transform scale l children Fe Transform B children Transform Transform Transform Transform Group Viewpoint position orientatio
90. three doubles in world coordinates Headlight Headlight from camera on default off Headlight from camera returned as on or off Ifset to off the camera does not emit light and the scene can appear dark Lighting Lighting effect on default off Lighting effect returned as on or off Ifset to off the camera does not emit light and the scene can appear dark MaxTextureSize Maximum pixel size of textures auto default integer in a power of 2 Maximum pixel size of a texture used The smaller the size the faster the texture can render A value of auto means the texture is set to the maximum pixel size Data Types int32 NavMode Navigation mode fly default examine walk none 10 15 10 Functions Alphabetical List 10 16 Navigation mode returned as fly examine walk or none See Mouse Navigation on page 7 23 NavPanel Navigation panel appearance none default halfbar bar opaque translucent Navigation panel appearance returned as none halfbar bar opaque or translucent Navspeed Navigation speed normal default slow veryslow fast veryfast Navigation speed returned as normal slow veryslow fast or veryfast NavZones Display navigation zones of f default on Navigation zones display returned as on or off Parent Handl
91. to HTML5 enabled Web browser You can verify the TCP IP connection between the host and client computers by using the ping command from a command line prompt If there are problems you must first fix the TCP IP protocol settings according to the documentation for your operating system LD_LIBRARY_PATH Environment Variable UNIX If your system does not have the OpenGL software properly installed when you run the Simulink 3D Animation Viewer you might see an error message like the following in the MATLAB window 1 5 1 Getting Started 1 6 Invalid MEX file matlab toolbox s13d s13d vrsfunc mexg1x 1ibGL so cannot open shared object file If you see an error like this set the LD_LIBRARY_PATH environment variable If the LD_LIBRARY_PATH environment variable already exists use a line like the following to add the new path to the existing one setenv LD_LIBRARY_PATH matlabroot sys opengl lib lt PLATFORM gt LD_LIBRARY_PATH If the LD_LIBRARY_PATH environment variable does not already exist use a line like the following setenv LD_LIBRARY_PATH matlabroot sys openg1 1ib lt PLATFORM gt In both cases lt PLATFORM gt is the UNIX platform you are working in Build a Virtual Reality World Use a VRML editor to build a virtual reality world A non VRML CAD model created with another tool can be a good basis for a virtual reality world to use with Simulink 3D Animation You may be able to convert the CAD model to a VRML
92. using antialiasing which interpolates values between texture points CameraBound Camera movement with the current viewpoint CameraDirection Camera direction in the current viewpoint local coordinates get vrfigure Property Meaning CameraDirectionAbs Camera direction in the world coordinates read only property CameraPosition Camera position in the current viewpoint local coordinates CameraPositionAbs Camera position in world coordinates read only property CameraUpVector Camera up vector CameraUpVectorAbs Camera up vector in world coordinates read only property CaptureFileFormat File format for a captured frame file CaptureFileName Frame capture file name DeleteFcn Callback invoked when closing the vrfigure object ExaminePivotPoint Pivot point about which camera is rotated in examine navigation mode in world coordinates Fullscreen Full screen display of figure Headlight Headlight from camera Lighting Lighting effect MaxTextureSize Maximum pixel size of a texture used The smaller the size the faster the texture can render A value of auto means the texture is set to the maximum pixel size Name Name of figure NavMode Navigation mode See Mouse Navigation on page 7 23 NavPanel Navigation panel appearance NavSpeed Navigation speed NavZones Navigation zones display Position Screen coordinates of figure
93. vr utils stereo3d ANAGLYPH_RED_GREEN enables red green anaglyph stereoscopic vision stereoVision vr utils stereo3d ANAGLYPH_RED_BLUE enables red blue anaglyph stereoscopic vision stereoVision vr utils stereo3d ANAGLYPH_YELLOW_BLUE enables yellow blue anaglyph stereoscopic vision Output Arguments stereoVision Stereoscopic vision settings for vr canvas and vrfigure objects vr utils stereo3d object Stereoscopic vision settings for vr canvas and vrfigure objects represented by a vr utils stereo3d object Properties CameraAngle Camera angle vr utils stereo3D DEFAULT CAMERA ANGLE radians Camera angle specified using the predefined DEFAULT CAMERA ANGLE or in radians This property is in effect when you enable stereoscopic vision This property does not apply to vr canvas or vrfigure objects CameraOffset Camera offset 0 1 default floating point number between 0 and 1 Camera offset specified as a number representing the distance in virtual world units of left right camera from parallax The parallax is the difference in the apparent position of an object viewed from two cameras vr utils stereo3d class This property sets the Stereo3DCameraOffset property of a vr canvas or vrfigure object HIT Horizontal image translation predefined DEFAULT HIT floating point number Horizontal image translation specified as either the predefined DEFAULT_HIT or as a floating point number from 0 through
94. vrfigure object empty vector of type vrfigure If you use a vrworld object as an input argument virtual_figure is a virtual reality figure represented by a vrf igure object If you use an empty array as an input argument the vrf igure constructor returns a vector of type vrfigure If you do not use an input argument the vrf igure constructor returns an empty vector of type vrfigure vrfigure class Methods capture capture close get isvalid set set Examples Create and Display a vrworld Object Capture virtual reality figure image Capture virtual reality figure image Close virtual reality figure Return property value of vrf igure object Check validity of vrfigure object handles Set property values of vrf igure object Set property values of vrf igure object Create a vrworld object that is associated with the virtual world vrmount wrl Open and view the virtual world myworld vrworld vrmount wrl open myworld f vrfigure myworld 10 33 10 Functions Alphabetical List VR Car in the Mountains 2 amp x File View Viewpoints Navigation Rendering Simulation Recording Help View 1 Observer Examine apr p qq im gt u View 1 Observer T 0 00 Examine Pos 20 00 8 00 50 00 Dir 0 00 0 20 0 98 Create vrworld Object for a Virtual World on page 4 2 MATLAB Interaction View a Virtual World in Stereoscopic Vis
95. 10 145 10 Functions Alphabetical List 10 146 vrworld view View virtual world Syntax view vrworld object x view vrworld_ object x view vrworld_object internal x view vrworld_object web Arguments vrworld_ object A vrworld object representing a virtual world Description The view method opens the default virtual world viewer on the host computer and loads the virtual world associated with the vrwor1d object into the viewer window You specify the default virtual world viewer using the DefaultViewer preference The virtual world must be open for you to use this method x view vrworld_ object opens the default virtual world viewer on the host computer and loads the virtual world associated with the vrworl1d object into the viewer window If the Simulink 3D Animation Viewer is used view also returns the vrf igure handle of the viewer window If a Web browser is used view returns an empty array of vrfigure handles x view vrworld object internal opens the virtual world in the Simulink 3D Animation Viewer x view vrworld_object web opens the virtual world in the Web browser If the virtual world is disabled for viewing that is the View property for the associated vrworld object is set to Of f the view method does nothing vrworld view Examples myworld vrworld vrpend wrl open myworld view myworld See Also vrview vrworld 10 147 10 Functions
96. 14 Record2DFPS Playback rate for 2 D offline animation file auto default scalar Playback rate for 2 D offline animation file specified as auto or as a scalar The auto setting aligns simulation time with actual time and uses an appropriate frame rate Data Types int32 Sound Sound effects on default off set Sound effects specified as on or off StatusBar Status bar display on default off Status bar display specified as on or off Stereo3D Stereoscopic vision mode of f default anaglyph active vr utils stereo3d object Stereoscopic vision mode specified as off anaglyph active ora vr utils stereo3d object Specifying a vr utils stereo3d object sets the Stereo3D Stereo3DCamaraOf fset and Stereo3DHIT properties Specifying a vr utils stereo3d object also sets color filters for the left and right cameras Stereo3DCamera0ffset Distance of left and right camera for stereoscopic vision vector of three doubles Distance of left and right camera from parallax for stereoscopic vision specified as a vector of three doubles representing virtual world units or as a vr utils stereo3d object Specifying a vr utils stereo3d object sets the Stereo3D Stereo3DCamaraOf fset and Stereo3DHIT properties Specifying a vr utils stereo3d object also sets color filters for the left and right cameras Stereo3DHIT Horizontal image tran
97. 2D AVI animation play back at approximately the same playback speed as the 3D virtual world animation set this preference to auto DefaultFigureStatusBar Specifies whether the status bar appears by default at the bottom of the Simulink 3D Animation Viewer for new vrf igure objects Valid values are Off and on DefaultFigureTextures Specifies whether textures should be rendered by default for new vrfigure objects This preference also applies to new vr canvas objects See vrfigure get for detailed description Default is on DefaultFigureToolBar Specifies whether the toolbar appears by default on the Simulink 3D Animation Viewer for new vrf igure objects Valid values are off and on DefaultFigure Transparency Specifies whether or not transparency information is taken into account when rendering for new vrfigure objects This preference also applies to new vr canvas objects Valid values are Off and on DefaultFigureWireframe Specifies whether objects are drawn as solids or wireframes by default for new vrf igure objects This preference also applies to new vr canvas objects Valid values are off and on 10 107 10 Functions Alphabetical List Preference Description DefaultViewer Specifies which viewer is used to view a virtual scene e internal Default Simulink 3D Animation Viewer web Web browser becomes viewer This is the cur
98. 3F gt children MFNode Shape Block Transform Shape E ok Cancel Help Apply Click OK In the Simulink diagram the VR Sink block is updated with two inputs Plane ptation Alane vance VR Sink 3 5 3 Simulink Interface 13 14 The first input is Plane rotation The rotation is defined by a four element vector The first three numbers define the axis of rotation In this example it should be 1 0 0 for the x axis see the Pitch Axis of Rotation block in the model The pitch of the plane is expressed by the rotation about the x axis The last number is the rotation angle around the x axis in radians In the Simulink model connect the line going to the Scope block labeled Display Pitch to the Plane rotation input The second input is Plane translation This input describes the plane s position in the virtual world This position consists of three coordinates x y z The connected vector must have three values In this example the runway is in the x z plane see the VR Signal Expander block The y axis defines the altitude of the plane In the Simulink model connect the line going to the Scope block labeled Display Position to the Plane translation input After you connect the signals and remove the Scope blocks your model should look similar to the figure shown Pal vrtut2 Plane rotation Pisne tranststion Takeoff Lift Ground Lift Plane Weight Ground
99. 4 ad gt Appearance gt Appearance 5 B1 Transform Insert From gt Bindable gt Color 8 center SFVec3 0 0 0 Inline VRML File Common Font Style jH rotation SFRotation 0 Wrap By Geometry gt Image Texture scale SFVec3f 1 1 1 Grou gt Mathial scaleOrientation SFRot US 7 i f translation SFVec3 0 ROUTE intepoisinr Movie Texture E bboxCenter SFVec3f 0 0 0 Light Pixel Texture f bboxSize SFVec3f 1 1 1 S children MFNode Z e Shape 5 appearance SFNode e Appearance textureTransform SFNode texture SFNode e geometry SFNode 4 i r Sensor PROTO EXTERNPROTO Instance PROTO Declaration EXTERNPROTO Declaration Texture Transform 7 Add a Box node to the geometry node a Select the geometry SFNode node of the Shape node b Add a Box node using the following sequence of menu selections 5 13 5 Build Virtual Reality Worlds 3D World Editor H Documents MATLAB vrtut3 wel toj a Jma File Edit ViewPane Tree Nodes Help 2 DOECGCZHEBY Add gt Appearance gt roor InsertFrom gt Bindable gt B1 Transform Inline VRML File Common a center SFVec3 0 0 0 a rotation SFRotation 0 s scale SFVec3f 1 1 1 scaleOrientation SFRot ROUTE a translation SFVec3 0 0 0 E bboxCenter SFVec3f 0 0 0 E bboxSize SFVec3f 1 1 1 children MFNode Shape appearance SFNode
100. A menu of the viewpoint options is displayed Included is a list of the existing viewpoints Navigate Through Viewpoints Viewpoints Navigation Rendering Sin Previous Viewpoint PgUp Next Viewpoint PgDn Return to Viewpoint Home Go to Default Viewpoint Esc Create Viewpoint Remove Current Viewpoint List of viewpoints Perspective view Select the drop down list on the leftmost side of the toolbar to see the list of existing viewpoints from the toolbar The status bar at the bottom of the viewer displays the current viewpoint 7 35 7 Viewing Virtual Worlds E Planets E En File View Viewpoints Navigation Rendering Simulation Recording Help View from top gt Fly r E A e E OE A Perspective view View on Earth View from top Fly Pos 0 00 150 00 0 00 Dir 0 00 1 00 0 00 When you add new viewpoints to the world these lists are updated to reflect the new viewpoints The current viewpoint is also displayed in the left pane of the status bar You manage and navigate through viewpoints from the menu bar toolbar navigation panel and keyboard In particular you can e Navigate to a previous or next viewpoint Return to the initial position of the current viewpoint 7 36 Navigate Through Viewpoints Go to the virtual world s default viewpoint Create and remove viewpoints e Navigate to an existing viewpoint 7 37 7 Viewing Virtual Worlds Record Offline Anima
101. AB patch objects Note This function converts only geometry and color data of the source IndexedFaceSet node Examples Convert IndexedFaceSet Nodes to MATLAB Patches This command converts three IndexedFaceSet nodes to MATLAB patch objects Open virtual world containing an IndexedFaceSet node w1 vrworld s13d1ib objects Components Shapes torus_high wrl open w1 View the virtual world as a virtual figure vrfigi vrfigure w1 Name Vrtual world containing source IndexedFaceSet node set vrfigi CameraPosition 0O 40 0 set vrfigi CameraDirection 0O 1 0 10 67 10 Functions Alphabetical List Convert the IndexedFaceSet a MATLAB patch and show it set vrfigi CameraUpVector O O 1 figure Name Resulting patch tp vrifs2patch w1 torushi children geometry 10 68 vrifs2patch Change the patch color show the axes grid rotate the camera and enable mouse rotation tp FaceColor red axs gca axs XGrid on axs YGrid on axs ZGrid on camorbit 45 20 rotate3d on Input Arguments ifs IndexedFaceSet nodes to convert array IndexedFaceSet nodes specified as an array 10 69 10 Functions Alphabetical List 10 70 More About Introduction to Patch Objects See Also patch vrpatch2ifs Introduced in R2015a vrinstall vrinstall Install and check Simulink 3D Animation compo
102. Also Apps Functions vrsetpref vrview 10 151 Glossary simulation The process of running a dynamic system in nonreal time to observe its behavior virtual figure object A handle to a Simulink 3D Animation viewer window virtual node object A handle to a node in a virtual world that allows access to the node s properties Virtual Reality Modeling The specification for displaying three dimensional objects Language using a VRML viewer virtual world An imaginary world where you can navigate around objects in three dimensions virtual world object A handle to a virtual world that allows you to interact with and control the world VRML Virtual Reality Modeling Language See Virtual Reality Modeling Language on page 1 14 X3D Extensible 3D ISO standard is an open standards file format and runtime architecture for representing and communicating 3D scenes and objects X3D and VRML share many similar approaches such as their coordinate systems and the description of objects using nodes and their fields X3D provides several extensions including additional nodes fields encoding scene access interfaces additional rendering control and geospatial support See X3D Support on page 1 11 Glossary 1
103. B types For a detailed description of the VRML fields refer to the VRML97 Standard You can use MATLAB commands to read and save X3D files and to associate X3D files with Simulink models For additional information about X3D support in Simulink 3D Animation see X3D Support on page 1 11 For information about the supported X8D specification see ISO IEC 19775 1 2013 For information about supported X3D encoding see ISO IEC 19776 1 3 201x and ISO IEC 19776 2 3 201x VRML Type Description Simulink 3D Animation Type SFBool Boolean value true or false logical SFFloat 32 bit floating point value single SFInt32 32 bit signed integer value int32 SFTime Absolute or relative time value double Virtual World Data Types VRML Type Description Simulink 3D Animation Type SFVec2Ff Vector of two floating point Single array 1 by 2 values that you usually use for 2 D coordinates For example texture coordinates SFVec3Ff Vector of three floating point Single array 1 by 3 values that you usually use for 3 D coordinates SFColor Vector of three floating point Single array 1 by 3 values you use for RGB color specification SFRotation Vector of four floating point Single array 1 by 4 values you use for specifying rotation coordinates x y Z of an axis plus rotation angle around that axis SFImage Two dimensional array uint8 array n by m by 3 repre
104. Center SFVec3f 0 0 0 Sensor BE bboxSize SFVec3 1 1 1 CM children MFNode PROTO EXTERNPROTO Instance PROTO Declaration EXTERNPROTO Declaration 5 Add an Appearance node for the Shape node a Under the Shape node select the appearance SFNode node b Add an Appearance node using the following sequence of menu selections 5 12 Build and Connect a Virtual World 3D World Editor H Documents MATLAB vrtut3 wrl ec fina File Edit ViewPane Tree Help DEGSHEW S ad gt Appearance gt Appearance N gt ROOT Insert From gt Bindable gt Color S P BL Transform Inline VRML File Common gt Font Style afp center SFVec3 0 0 0 Wrap By A Geometry gt TARE af rotation SFRotation 0 en A AE scale SFVec3f 1 1 1 h scaleOrientation SFRot ROUTE SE gt Movie Texture sP translation SFVec3 0 0 0 Light Pixel Texture E bboxCenter SFVec3f 0 0 0 Sensor Texture Transform E bboxSize SFVec3f 1 1 1 5 children MFNode e Shape geometry SFNode PROTO EXTERNPROTO Instance PROTO Declaration EXTERNPROTO Declaration 6 AddaMaterial node to the Appearance node a Expand the Appearance node and select the material SFNode node b Add a Material node using the following sequence of menu selections 3D World Editor H Documents MATLAB vrtut3 wrl J a File Edit ViewPane Tree Nodes Help a DEGSHEABW
105. D animation file name The string can contain tokens that are replaced by the Default f_anim_ n e corresponding information when the animation recording takes place For details see File Name Tokens on page 4 14 Read write Recording off on Animation recording toggle This property acts as the master recording Default off switch Read write RecordMode manual scheduled Animation recording mode Read write Default manual Recordinterval Vector of two doubles Start and stop times for scheduled animation recording Corresponds to Default 0 0 the virtual world object Time property Read write RemoteView off on Remote access flag If the virtual world is enabled for remote viewing it is set Default of F to on otherwise it is set to off Read write Time Double Current time in the virtual world Read write 10 144 vrworld set Property Value Description TimeSource external freerun Source of the time for the virtual world If set to external time in the scene Default external is controlled from the MATLAB interface by setting the Time property or the Simulink interface simulation time If set to freerun time in the scene advances independently based on the system timer Read write View off on Indicates an unviewable or viewable virtual world Read write Default on See Also vrworld vrworld get
106. Editor supports all VRML97 types and language elements except as noted in this section For general VRML limitations relating to the Simulink 3D Animation software as a whole see VRML Compatibility on page 1 16 3D World Editor For general X3D limitations relating to the Simulink 3D Animation software as a whole see X3D Support on page 1 11 PixelTexture Nodes You cannot create or edit PixelTexture node image contents Existing PixelTexture node image contents are fully preserved VRML Nodes Library Objects and Templates Use the 3D World Editor to specify VRML to create 3 D virtual worlds that you can connect to a Simulink model Use the 3D World Editor to e Assemble nodes to create a virtual world You can add nodes that specify many aspects of a virtual world such as Appearance for example font style color and material e Navigation information for example navigation mode and headlights Geometry for example boxes text and elevation grids Groups for example transforms Interpolators Light Sensors Select objects from a set of supplied libraries or from custom libraries for Components for example geometric objects backgrounds aircraft vehicles landscapes and architecture e Materials e Textures e Use a supplied template as a starting point for a virtual world Template VRML Virtual World 3D Files The 3D World Editor includes template virtual world 3D files that you c
107. F or PNG format file For details see Capture Frames on page 7 48 Recording Formats You can save the virtual world offline animation data in the following formats Record Offline Animations 3D file The Simulink 3D Animation software traces object movements and saves that data into a virtual world 3D file using standard interpolators You can then view these files with the Simulink 3D Animation Viewer 3 D files typically use much less disk space than Audio Video Interleave AVT files If you make any navigation movements in the Simulink 3D Animation Viewer while recording the animation the Simulink 3D Animation software does not save any of these movements Note If you distribute virtual world 3D animation files be sure to also distribute all the inlined object and texture files referenced in the original virtual world 3D file 2 D Audio Video Interleave AVI file The Simulink 3D Animation software writes animation data into an avi file The Simulink 3D Animation software uses vrfigure objects to record 2 D animation files The recorded 2 D animation reflects exactly what you see in the viewer window It includes any navigation movements you make during the recording Note While recording 2 D avi animation data always ensure that the Simulink 3D Animation Viewer is the topmost window and fully visible Graphics acceleration limitations might prevent the proper recording of 2 D animation otherwise See
108. In the MATLAB Command Window type vrplanets at the MATLAB command prompt The Planets example starts From the Recording menu choose Capture and Recording Parameters The Capture and Recording Parameters dialog box is displayed Find the Frame Capture section of the dialog This is located at the top of the dialog The file name f_anim_ n tif appears in the first text field File Leave this file name as is In the File Format list tif or png specify the graphic file format for the captured frame The default is tif For this procedure leave this format setting at tif Capture and Recording Parameters xj r Frame Capture File zt _anim_ n tif File Format ti Browse You can disable the navigation panel The navigation panel appears at the bottom of the virtual scene view You might want to turn off this panel for a cleaner view of the virtual scene Choose View gt Navigation Panel gt None You can re enable the Navigation Panel for example choose View gt Navigation Panel gt Halfbar after you finish recording the tif file Click OK With this configuration each subsequent capture of a scene in the same world increments the file name number n and saves it in a tif file 7 47 7 Viewing Virtual Worlds Capture Frames 7 48 The Simulink 3D Animation product allows you to save a frame snapshot capture of the current Simulink 3D Animation viewer scene You can save this frame as e
109. In the tree in the left pane click ROOT the topmost item 2 Adda Transform node using the following sequence of menu selections 3D World Editor H Documents MATLAB vrtut3 wrl Colle File Edit ViewPane Tree Nodes Help x DEGSABw 4 Ad gt Appearance oho O setom gt Bindable Inline VRML File Common Wrap By gt Geometry ROUTE Interpolator Billboard Light Sensor gt USE Group gt Anchor gt Collision gt Group PROTO EXTERNPROTO Instance Transform p PROTO Declaration EXTERNPROTO Declaration Inline LOD Switch 3 This Transform node is for the B1 box To name the Transform node 5 11 5 Build Virtual Reality Worlds a Right click the Transform node b Select the Edit Name menu item c In the edit box to the left of the Transform node type B1 4 Adda Shape node a Expand the B1 Transform node b Select the children node c Adda Shape node using the following sequence of menu selections 3D World Editor H Documents MATLAB vrtut3 wel SEA File Edit ViewPane Tree Nodes Help x DESCBSHEY 4 Add gt Appearance yrooT Insert From gt Bindable 5 P B1 Transform Inline VRML File Common Audio Clip 4 center SFVec3 0 0 0 Wrap By N Geometry Script P rotation SFRotation 0 e N S 8 scale SFVec3f 1 1 1 ie scaleOrientation SFRot ROUTE SEA 4 SEL af translation SFVec3 0 0 0 Light World Info E bbox
110. Navigation on page 7 52 Keyboard Shortcuts on page 7 52 Web Viewer Preferences on page 7 53 Display and Navigation Most of the navigation features for the Web Viewer are the same as for the Simulink 3D Animation Viewer and the 3D World Editor Virtual world display pane For details about Simulink 3D Animation Viewer navigation see Navigate Using the Simulink 3D Animation Viewer on page 7 18 Some differences between the two viewers include The Web Viewer does not include a menu bar For virtual worlds with undefined background colors the Web Viewer uses the default canvas color of the browser the Simulink 3D Animation Viewer uses a black background The supported navigation features depend on what Web browser you use For example at the time R2013b was released Firefox was the only supported Web browser that supports context menu options that are specific to Simulink 3D Animation such as viewpoints options To determine whether the HTML5 enabled browser that you want to use supports WebGL Web Graphics Library see http www x3dom org page_id 9 Keyboard Shortcuts Navigation Function Keyboard Shortcut Straighten up and make the camera stand on the U horizontal plane of its local coordinates Toggle the headlight on and off H Toggle the navigation zones on and off Z Go to default viewpoint Ese Navigate Using the Web Viewer Navigation Func
111. No support for binary encoded files x3db The Simulink 3D Animation Web Viewer supports only X8D files that contain nodes complying to the HTML profile specified by the X3DOM developer community You cannot use the Simulink 3D Animation to import CAD tool VRML models to X3D files in Simulink 3D Animation You cannot inline X8D files x3d or x3dv No support for syntax highlighting for X3D encodings No support for the scene access interface specified by ISO IEC 19775 2 201x To access virtual worlds use Simulink blocks or the MATLAB commands e LineProperties node support is limited to solid lines The engine ignores UNIT and additional COMPONENT statements and elements A PROTO node cannot have a VRML file wr 1 that references an X3D file x3d or X3dv Convert a VRML File to X3D Format You can save VRML wr1 files as X3D format files The conversion process determines whether the X3D file is an x3d or x3dV file This example code converts a VRML file to X3D format X3D Support w vrworld octavia_scene wrl open w save to XML encoding save w octavia_scene x3d Q save to VRML syntax encoding save w octavia_scene x3dv Related Examples Using CAD Models with the Simulink 3D Animation Product on page 5 31 More About Virtual Reality Modeling Language on page 1 14 1 Getting Started Virtual Reality Modeling Language 1 14 In this sect
112. OV selector in degrees Output corresponds to the current status of the joystick point of view selector Input Port Value Description Force Vector of doubles Port active only for force feedback in the range devices Inputs correspond to the lt 1 1 gt force to be applied in the given axis Usually not all of the device axes have force feedback The size of the Force vector is then smaller than the Axes vector size 9 Blocks Alphabetical List Normalize Vector Unit vector parallel to input vector Library Simulink 3D Animation Description Normalize Vector Takes an input vector of any size and outputs the unit vector parallel to it Block Parameters Dialog Box Function Block Parameters Normalize ector x m Subsystem mask link Normalize a vector Output is the unit vector parallel to the input vector Input can be vector of any size If the modulus of the input is lower or equal than specified the output is set to zeros size u Parameters Maximum modulus to treat vector as zero ia Cancel Help Apply Maximum modulus to treat vector as zero The output is set to zeroes if the modulus of the input is equal to or lower than this value Rotation Between 2 Vectors Rotation Between 2 Vectors Virtual world rotation between two 3 D vectors Library Simulink 3D Animation D4 VR Rotation Between Description 2ve os
113. Position property specified as pixels or normalized Viewpoint Active viewpoint of figure string Active viewpoint of a figure specified as a string If the active viewpoint has no description use an empty string Wireframe Wireframe display off default on Wireframe display specified as on or off ZoomFactor Camera zoom factor 1 default floating point number Camera zoom factor specified as a floating point number A zoom factor of 2 makes the scene look twice as large A zoom factor of 0 1 makes it look 10 times smaller and so forth Output Arguments virtualCanvas Virtual reality canvas vr canvas object Virtual reality canvas represented by a vr canvas object 10 13 10 Functions Alphabetical List 10 14 Properties Antialiasing Smooth textures using antialiasing off default on Smooth textures using antialising returned as on or off Antialiasing smooths textures by interpolating values between texture points CameraBound Camera movement with current viewpoint on default off Camera movement with the current viewpoint returned as on or off CameraDirection Camera direction in the current viewpoint local coordinates vector of three doubles Camera direction in the current viewpoint local coordinates specified as a vector of three doubles The doubles represent the x y and z vectors in current viewpoint local co
114. Preferences for 3D World Editor Startup 6 6 3D World Editor Panes 0 000 cece ee nes 6 7 Tree Structure Pane Icons 0 0 00 cee eee 6 8 Create a Virtual World 0 00 cece eee 6 9 Basic Editing 4 25 he ih a he aA ES Ws Lae eaters See 6 11 Add Obj GCs ie eran ee ad Lek ak th Lee Wm en 2 a o eS 6 11 Copy and Paste a Node 0 eee eens 6 12 Edit Object Properties 0 0 0 0 cece eee eee 6 13 Document a Virtual World Using Comments 6 15 Display Event Fields 0 0 00 00 cee eee ens 6 15 Expand and Collapse Nodes 0000 eeeues 6 16 Wrap Nodes as Children of Another Node 6 16 Remove Nodes 0 ccc eee ee eee eens 6 17 Save and Export Virtual World Files 6 17 Edit VRML and X8D Scripts 0 00000000005 6 18 Reduce Number of Polygons for Shapes 6 20 Virtual World Navigation in 3D World Editor 6 21 Specify Virtual World Rendering 04 6 21 Basic Navigation 5 00008 246436 Ed at ee Sh wa PEE at eee 6 21 Coordinate Axes Triad 0 0 00 cee eee nee 6 21 View Panes Posu dad ob pa unai wes ih Gob te dtu bua od 6 22 Pivot POmMt 2c t cra uh olarak hee dt custo ote acts Bette ee Oe 6 24 3D World Editor Library 0 0 00 eee 6 25 3D World Editor Library Objects 000 6 25 Add a Library Object s roes nrd II raS ERROREA ERIEK 6 25 Gui
115. Quality 75 Record2DFPS auto Record2DFileName f_anim_ n avi Sound on StatusBar on Stereo3D anaglyph Stereo3DCameraOffset 0 1 Stereo3DHIT 0 Textures on ToolBar on Tooltips on Transparency on Triad none Viewpoint View 1 Observer Wireframe off World vrworld object 1 by 1 ZoomFactor 1 MATLAB Interaction Create vrworld Object for a Virtual World on page 4 2 View a Virtual World in Stereoscopic Vision on page 7 57 See Also vrfigure vrfigure get vr utils stereo3d Introduced before R2006a vrgcbf vrgcbf Current callback vrfigure object Syntax f vrgcbf Description f vrgcbf returns a vrfigure object representing the virtual reality figure that contains the callback currently being executed When no virtual reality figure callbacks are executing vrgcbf returns an empty array of vrfigure objects 10 57 10 Functions Alphabetical List vrgct Handle for active virtual reality figure Syntax h vrgcf Description h vrgcf returns the handle of the current virtual reality figure The current virtual reality figure is the currently active virtual reality figure window in which you can get and set the viewer properties If no virtual reality figure exists the MATLAB software returns an empty vrfigure object This method is most useful to query and set virtual reality figure properties
116. S function synchronizes Read Sensor Values the sensor field in the setup method and periodically reads its value in the mdlUpdate method To examine the S function parameters right click vrextin and select S Function Parameters The parameters defined in the mask supply the sample time virtual world and the node field to read Note the following about the vrextin S function Instead of setting its own block outputs the vrextin S function sets the value of the adjacent Constant block value_holder This setting makes the VR Sensor Reader block compatible with Simulink Coder code generation so that the model can run on Simulink Coder targets The signal loop between user action grabbing the ball to a desired position using a mouse closes through the associated Simulink model vrmaglev As a result grabbing the ball to a new position works only when the model is running and when the model sets the blue selection method switch to the virtual reality sensor signal path To experience the behavior of the PlaneSensor using the virtual scene only save the maglev wrl1 file under a new name and remove the comment symbol to enable the last line of this file This action activates direct routing of sensor output to a ball translation You can then experiment with the newly created scene instead of the original maglev wrl world ROUTE Grab_Sensor translation_changed TO Ball translation You can use this method to input information fro
117. Shape nodes vrworld object vrpatch 2ifs Virtual world that contains Shape nodes specified as a vrwor1d object parent Parent grouping node vrnode object Parent grouping node specified as a vrnode object shape Shape array array of Shape nodes Shape array specified as an array of Shape nodes ifs IndexedFaceSet nodes array IndexedFaceSet nodes specified as an array Output Arguments node Conversion result vrnode array Conversion result returned as a vrnode array More About Introduction to Patch Objects See Also patch vrifs2patch Introduced in R2015a 10 95 10 Functions Alphabetical List 10 96 vrphysmod Add virtual reality visualization framework to block diagrams Syntax vrphysmod virtualWorldFile model vrphysmod vrmlfile subsystem Description vrphysmod virtualWorldFile model or vrphysmod vrmlfile subsystem updates the model or subsystem that the SimMechanics mech_import function generates The model must be on the MATLAB path or already open prior to calling the vrphysmod function As necessary vrphysmod adds additional blocks to visualize the mechanical system in virtual reality You can then save rename modify and run the model The wrl extension for vrm1file is optional The association between mechanical system bodies and corresponding nodes found in the virtual world 3D file is based on the name correspondence If your model con
118. Simulink 3D Animation User s Guide MATLAB amp SIMULINK R201 5b J MathWorks How to Contact MathWorks Latest news www mathworks com Sales and services www mathworks com sales_and_ services User community www mathworks com matlabcentral Technical support www mathworks com support contact_us Phone 508 647 7000 The MathWorks Inc 3 Apple Hill Drive Natick MA 01760 2098 Simulink 8D Animation User s Guide COPYRIGHT 2001 2015 by HUMUSOFT s r o and The MathWorks Inc The software described in this document is furnished under a license agreement The software may be used or copied only under the terms of the license agreement No part of this manual may be photocopied or reproduced in any form without prior written consent from The MathWorks Inc FEDERAL ACQUISITION This provision applies to all acquisitions of the Program and Documentation by for or through the federal government of the United States By accepting delivery of the Program or Documentation the government hereby agrees that this software or documentation qualifies as commercial computer software or commercial computer software documentation as such terms are used or defined in FAR 12 212 DFARS Part 227 72 and DFARS 252 227 7014 Accordingly the terms and conditions of this Agreement and only those rights specified in this Agreement shall pertain to and govern the use modification reproduction release performance display and discl
119. Specifying a vr utils stereo3d object sets the Stereo3D Stereo3DCameraOf fset and Stereo3DHIT properties Specifying a vr utils stereo3d object also sets color filters for the left and right cameras Stereo3DCamera0ffset Distance of left and right camera for stereoscopic vision non negative floating point double precision number Distance of left and right camera from parallax for stereoscopic vision specified as a non negative floating point double precision number Specifying a vr utils stereo3d object for the Stereo3D property also sets the Stereo3DCameraOffset and Stereo3DHIT properties and sets color filters for the left and right cameras Stereo3DHIT Horizontal image translation HIT of two stereoscopic images double from 0 to 1 10 17 10 Functions Alphabetical List 10 18 Horizontal image translation HIT of two stereoscopic images returned as a double from 0 through 1 inclusive The larger the value the further back the background appears By default the background image is at zero and the foreground image appears to pop out from the monitor toward the person viewing the virtual world Specifying a vr utils stereo3d object for the Stereo3D property also sets the Stereo3DCameraO0ffset and Stereo3DHIT properties and sets color filters for the left and right cameras Textures Texture use on default off Texture use returned as on or off Tooltips Tooltips display on default
120. TLAB workspace then save the resulting scene to a corresponding virtual world 8D file or carry out other subsequent operations on it Heat Transfer Visualization with 2 D Animation vrheat_anim This example illustrates the use of the Simulink 3D Animation C interface to create 2 D offline animation files You can control the offline animation recording mechanism by setting the relevant vrworld and vrfigure object properties You should use the Simulink 3D Animation Viewer to record animations However direct control of the recording is also possible This example uses the heat distribution data from the vrheat example to create an animation file You can later distribute this animation file to be independently viewed by others For this kind of visualization where the static geometry represented by VRML IndexedFaceSet is colored based on the simulation of some physical phenomenon it is suitable to create 2 D avi animation files The software uses a MATLAB VideoWriter object to record 2 D animation exactly as it appears in the viewer figure There are several methods you can use to record animations In this example we use the scheduled recording When scheduled recording is active a time frame is recorded into the animation file with each setting of the virtual world Time property Recording is completed when you set the scene time at the end or outside the predefined recording interval When using the Simulink 3D Animation MATLAB inter
121. Takes input of two 3 by 1 vectors and returns a virtual world rotation specified as a four element vector defining axis and angle that is needed to transform the first input vector to the second input vector Block Parameters Dialog Box E Function Block Parameters Rotation Between 2 Yectors j xj m Subsystem mask link Calculates a rotation between two vectors Output is a VAML rotation specified as 4 element vector defining axis and angle needed to transform the first input to the second input Both inputs must be 3x1 vectors Cancel Help Apply 9 Blocks Alphabetical List Rotation Matrix to VRML Rotation Convert rotation matrix into representation used in virtual world Library Simulink 3D Animation VR Rotation Matrix Description to VRML Rotation Takes an input of a rotation matrix and outputs the axis angle rotation representation used for defining rotations in a virtual world The rotation matrix can be either a 9 element column vector or a 3 by 3 matrix defined columnwise Note This block works with VRML and X3D virtual worlds Block Parameters Dialog Box Function Block Parameters Rotation Matrix to RML Rotation xi m Subsystem mask link Converts Rotation Matrix defined columnwise as 343 matrix or as 9 element column vector into the Axis Angle rotation representation used for defining rotations in YAML Parameters Maximum value t
122. Transform My first virtual world VPfollow Viewpoint My first virtual world Camera_car Transform My first virtual world View1 Viewpoint My first virtual world Type whos The MATLAB Command Window displays the messages Name Size Bytes Class ans 1x1 132 vrfigure object mynodes 13x1 3564 vrnode object myworld 1x1 132 vrworld object Now you can get node characteristics and set new values for certain node properties For example you can change the position of the automobile by using Automobile which is the fourth node in the virtual world Access the fields of the Automobile node by typing fields myworld Automobile or fields mynodes 10 The MATLAB Command Window displays information like the following table Field Access Type Sync MATLAB Interface addChildren eventIn MFNode off removeChildren eventIn MFNode off children exposedField MFNode off center exposedField SFVec3f off rotation exposedField SFRotation off scale exposedField SFVec3f off scaleOrientation exposedField SFRotation off translation exposedField SFVec3f off bboxCenter field SFVec3f off bboxSize field SFVec3f off The Automobile node is of type Transform This node allows you to change its position by changing its translation field values From the list you can see that translation requires three values representing the x y z coordinates of the object Type view myworld Your default viewer opens and displays the virtual world
123. Type to Speed InitialRotation Initial condition for integrated rotations This is not used when you set the Output Type to Speed Methods Method Description button b button mouse n reads the status of space mouse button number n Button status is returned as logical 0 if not pressed and logical 1 if pressed n can be a vector to return multiple buttons close close mouse closes and invalidates the space mouse object The object cannot be used once it is closed position p position mouse n reads the position of space mouse axis number n n can be a vector to return positions of multiple axes Translations and rotations are integrated Outputs are the position and orientation in the form of roll pitch yaw angles speed s speed mouse n reads the speed of space mouse axis number n n can be a vector to return the speeds of multiple axes No transformations are done Outputs are the translation and rotation speeds 10 113 10 Functions Alphabetical List Method Description viewpoint p viewpoint mouse reads the space mouse coordinates in virtual world viewpoint format Translations and rotations are integrated Outputs are the position and orientation in the form of an axis and an angle You can use these values as viewpoint coordinates in virtual world 10 114 vr utils stereo3d class vr utils stereo3d class Stereoscopic visio
124. V2 0 utf8 1 19 1 Getting Started 1 20 This is a comment line WorldInfo title Bouncing Ball Viewpoint position 0 5 30 description Side View DEF Floor Box size 6 0 2 6 DEF Ball Transform translation 0100 children Shape appearance Appearance material Material diffuseColor 100 geometry Sphere The first line is the VRML header line Every VRML file must start with this header line It indicates that the file is a VRML 2 file and that the text objects in the file are encoded according to the UTF8 standard You use the number sign to comment VRML worlds A VRML viewer ignores everything on a line after the sign is ignored except for the first header line Most of the box properties are left at their default values distance from the center of the coordinate system material color and so on Only the name Floor and the dimensions are assigned to the box To be able to control the position and other properties of the ball it is defined as a child node of a Transform type node Here the default unit sphere is assigned a red color and a position 10 m above the floor In addition the virtual world title is used by VRML viewers to distinguish between virtual worlds A suitable initial viewpoint is defined in the virtual world VRML file When displayed in a VRML viewer you see the floor and red ball Virtual Reality Modeling Language More About X38D S
125. VR Source provides access to virtual world fields as chosen in the Block Parameters dialog box as input signals during simulation The VR Source block supports several activities For example use the VR Source block to Provide interactivity between a user navigating the virtual world and the Simulink model The VR Source block can register user interaction with the virtual world The block can pass to the model those values which then can affect the simulation of the model Read into the model events from the virtual world such as time ticks or outputs from scripts Read into the model static information about the virtual world for example the size of a box defined in the virtual world 3D file Access values of 3D object nodes that are not driven by simulation but whose monitoring is essential For an example of how to use the VR Source block see the Set the Setpoint subsystem in the vrcrane_panel example Note The current internal viewer window vrfigure properties are saved together with the Simulink model The next time that you open the model the internal viewer window opens with the same parameters that were saved such as position size and VR Source navigation mode When closing the viewer window the Simulink software does not alert you if these properties have changed You cannot use the Simulink Coder software to compile a model that includes a VR Source block Data Type Support A VR Sourc
126. VRML format Syntax stl2vrml source stl2vrml source destination Description stl2vrml1 source Converts the STL file that you specify with source to a VRML file Converts both ASCII and binary STL files The resulting files are VRML97 compliant UTF 8 encoded text files VRML files have the same name as the source STL files except that the extension is WRL instead of STL The stl2vrm1 function places the VRML files into the current folder stl2vrml source destination creates the converted VRML files in the destination folder Input Arguments source The name of the source STL or Physical Modeling XML file If source is a Physical Modeling XML file stlL2vrm1 converts all STL files that the XML file references The stl2vrml1 function also creates a main assembly VRML file that contains inline references to all converted individual VRML files All inlines are wrapped by transform nodes with DEF names corresponding to the part names defined in their respective STL source files Default stl2vrml destination Optional Folder in which to create converted files If the destination folder does not exist stl2vrml attempts to create the destination folder Default Examples These examples use STL files that SimMechanics product includes If you do not have the SimMechanics product installed then substitute another STL file Convert the STL file fourbar Bar1 1 STL which is in matlab toolbox physmod me
127. a type for vrnode setfield and vrnode getfield Valid values are logical and char If set to logical the virtual world boolean data type is returned as a logical value If set to char the virtual world boolean data type is returned on or off DataTypeInt32 Specifies the int32 data type for vrnode setfield and vrnode getfield Valid values are int32 and double If set to int32 the virtual world int32 data type is returned as int32 If set to double the virtual world int32 data type is returned as double DataTypeFloat Specifies the float data type for vrnode setfield and vrnode getfield Valid values are single and double If set to Single the virtual world float and color data types the types of most virtual world fields are returned as single If set to double the virtual world float and color data types are returned as double Virtual World Data Class Types A node can contain four classes of data field exposedField eventIn and eventOut These classes define the behavior of the nodes the way the nodes are stored in the computer memory and how they can interact with other nodes and external objects Virtual World Data Types VRML Data Class Description eventin An event that can be received by the node eventOut An event that can be sent by the node field A private node member holding node data exposedField A public node mem
128. according to the current size of the signal on the input See the Plane Manipulation Using Space Mouse MATLAB Object example Vehicle Dynamics Visualization with Video Output Example vr_octavia_video The vr_octavia_video example illustrates how to use video output from the VR To Video block This model performs simple operations on the video output It requires the Computer Vision System Toolbox product 1 31 1 Getting Started 1 32 Inverted Pendulum Example vrpend The vrpend example illustrates the various ways a dynamic model in the Simulink interface can interact with a virtual reality scene It is the model of a two dimensional inverted pendulum controlled by a PID controller What distinguishes this model from common inverted pendulum models are the methods for setting the set point You visualize and interact with a virtual world by using a Trajectory Graph and VR Sink blocks The Trajectory Graph block allows you to track the history of the pendulum position and change the set point in three ways Mouse Click and drag a mouse pointer in the Trajectory Graph two dimensional window Input Signal External Trajectory Graph input in this model driven by a random number generator VR Sensor Activates the input from a VRML TouchSensor When the pointing device in the virtual world viewer moves over an active TouchSensor area the cursor shape changes The triggering logic in this model is set to apply the
129. ace ox VR Sink Writes Simulink values to virtual world node fields Fields to be written are marked by checkboxes in the tree view Every marked field corresponds to an input port of the block World properties RML Tree p Source file IV Show node types JV Show field types DOO O Browse gt No world loaded New Reload xX No world filename specified Output JT Open VRML Viewer automatically IT Allow viewing from the Internet Description Block properties Sample time 1 For inherit es ooo J7 Show video output port Video output signal dimensions OO Set up and preview video output 6 Inthe Description text box enter a brief description of the model This description appears on the list of available worlds served by the Simulink 3D Animation server For example type VR Plane taking off 7 At the Source File text box click the Browse button The Select World dialog box opens Find the folder matlabroot toolbox s13d sl3ddemos Select the file vrtkoff wrl and click Open 8 Select the Open Viewer automatically parameter 9 Inthe Parameters VR Sink dialog box click Apply A virtualscene tree appears on the right side showing the structure of the associated virtual reality scene 10 On the left of the Plane Transform node click the square Virtual World Connection to a Model 11 12 The Plane Transform
130. ad with any text editor Reading the code in a text editor is useful for debugging and for directly changing the code as well as for automated processing of the code If you use the correct syntax you can use the MATLAB Editor or any common text editor to create virtual worlds Consider using a text editor to work on a virtual world when you want to Create a very simple virtual world Debug syntax and formatting errors in a virtual world 3D file Corrupted files do not open in most 3 D tools Learn about VRML syntax by using VRML syntax highlighting in the MATLAB Editor For details see VRML Syntax Highlighting in the MATLAB Editor on page 5 3 Perform global search editing operations across one or more virtual world 3D files Combine several virtual world models Combining models can involve temporary model inconsistencies which most 3 D tools cannot handle VRML Syntax Highlighting in the MATLAB Editor You can display VRML syntax highlighting in the MATLAB Editor To change MATLAB Editor properties for VRML syntax highlighting for example the color for highlighting comments or not using the smart indentation feature 1 In MATLAB select Preferences gt Editor Debugger gt Language 2 Inthe Editor Debugger Language Preferences dialog box set the Language field to VRML 3 Change the highlighting properties that you want General 3 D Editors General 3 D editors such as 3D Studio SolidWorks or Autodesk
131. age 6 7 e Create a Virtual World on page 6 9 e Basic Editing on page 6 11 Reduce Number of Polygons for Shapes on page 6 20 Virtual World Navigation in 3D World Editor on page 6 21 3D World Editor Library on page 6 25 6 Using the 3D World Editor 3D World Editor 6 2 In this section Supported Platforms on page 6 2 Use with Other Editors on page 6 2 VRML Support and X8D Support on page 6 2 VRML Nodes Library Objects and Templates on page 6 3 The 3D World Editor is a native VRML and X3D editor For an example that shows how to see the 3D World Editor to create a virtual world see Build and Connect a Virtual World on page 5 7 Supported Platforms The 3D World Editor works on all supported platforms for the Simulink 3D Animation product For details see http www mathworks com products 3d animation requirements html The 3D World Editor is installed as part of the Simulink 3D Animation installation It is the default virtual world editor Use with Other Editors As you create a virtual world you can use different editors for different phases of the process Choose an editor that best meets your needs For a description of the benefits and limitations of different types of editors see Virtual World Editors on page 5 2 VRML Support and X3D Support The file formats for the 3D World Editor are VRML and X3D The 3D World
132. also stops recording the animation Play Animation Files You can view animation files using the 3D Animation Player or vrplay For details see Play Animation Files on page 4 30 Record Offline Animations Record 3 D Animation Files To create a 3 D animation files from a Simulink model execution set recording parameters You can start the simulation before setting up the recording 1 5 In the MATLAB Command Window type the model name For example vrplanets The Simulink model is displayed Also by default the Simulink 3D Animation viewer for that model is loaded and becomes active If the viewer is not displayed double click the VR Sink block in the Simulink model From the Recording menu choose Capture and Recording Parameters The Capture and Recording Parameters dialog box is displayed Find the Recording section of the dialog This is located under the Frame Capture dialog Select the Record to 3D file check box The File text field becomes active and the default file name f_anim_ n wrl appears in the text field To save files to other file names see File Name Tokens on page 4 14 Click OK After you define an animation file you can manually record simulations See Start and Stop Animation Recording on page 7 40 If you want to record simulations on a schedule see Schedule Files for Recording on page 7 44 Record Files in the Audio Video Interleave AVI Format To cr
133. an incorporate multiple 3D scene views inside MATLAB figures and interact with these views via a force feedback joystick space mouse or other hardware device Key Features Simulink blocks and MATLAB apps and functions for connecting models to virtual reality worlds 3D World Editor for authoring 3D worlds Viewers for 3D model visualization Video recording and animation playback Visualization of real time simulations Remote access to simulations via standalone viewers or web browsers Interaction with 3D views via a joystick space mouse or other hardware device Expected Background Expected Background To help you effectively read and use this guide here is a brief description of the chapters and a suggested reading path As a general rule you can assume that Simulink 3D Animation software on the Apple Mac OS X platform works as described for the UNIX Linux platforms This guide assumes that you are already familiar with MATLAB product to write scripts and functions with MATLAB code and to use functions with the command line interface Simulink and Stateflow charts products to create models as block diagrams and simulate those models VRML or X3D to create or otherwise provide virtual worlds or three dimensional scenes to connect to Simulink or MATLAB software 1 3 1 Getting Started Build Virtual Worlds to Visualize Dynamic Simulations 1 4 In this section Virtual Reality W
134. an use as a starting point for creating virtual reality worlds Some examples of templates are the Earth road sea and terrain virtual world templates 6 Using the 3D World Editor To access templates use one of the following approaches Select File gt New From Template Select the New File From Template button B A template file name displayed in the 3D World Editor always starts with Template Edit the file to adapt the template world for your application To save your changes use the File gt Save As option You cannot overwrite an existing template file You can create your own template files Store them in a different folder than that used for template files provided with Simulink 3D Animation In virtual worlds that you create you can reference nodes such as texture files that appear in the template files provided with Simulink 3D Animation Open the 3D World Editor Open the 3D World Editor In this section 3D World Editor Is the Default Editor on page 6 5 Open an Empty Virtual World on page 6 5 Open a Saved Virtual World on page 6 6 Preferences for 3D World Editor Startup on page 6 6 3D World Editor Is the Default Editor When you install the Simulink 3D Animation product the 3D World Editor is configured to be the default editor For details about changing the default editor see Set the Default Editor on page 2 7 Note You can also use the V Realm
135. and specify the position myCanvas vr canvas myWorld Parent fig Units normalized y Position 0 0 1 1 10 19 10 Functions Alphabetical List 10 20 CA Figurel Sc File Edit View Insert Tools Desktop Window Help DOSGasS F AAU9EKL B 08 an Create a Canvas in a Virtual World Create a figure pf figure Create a canvas in the figure and specify a title ppi Parent pf pp1 Title Panel with Title Create and open a virtual world w vrworld vrlights wrl open w vr canvas class Create a canvas in the virtual world c vr canvas w pp1 File Edit View Insert Tools Desktop Window Help NGMS h 88e9e4 82 08 e0 Panel with Title Set Property Values of Canvas Set the camera direction navigation mode and stereoscopic vision properties of a canvas Create and open a vrworld object vrmountWorld vrworld vrmount wrl open vrmountWorld Create avr utils stereo3d object to use to specify stereoscopic vision properties 10 21 10 Functions Alphabetical List myStereo3D vr utils stereo3d ANAGLYPH_RED_CYAN Create a canvas Define non default values for some properties myCanvas vr canvas vrmountWorld Antialiasing on NavPanel opaque NavZones on Stereo3D myStereo3D Stereo3DCameraOffset 0 25 Stereo3DHIT 0 02 myCanvas canvas with properties Antialiasing on Came
136. andles of the vrfigure object are valid The first check shows that the figure handle is valid but the second check shows that the handle is invalid because the figure is closed myworld vrview vrpend wrl f vrfigure myworld firstCheck isvalid T close f secondCheck isvalid f firstCheck 1 secondCheck 0 MATLAB Interaction Create vrworld Object for a Virtual World on page 4 2 See Also vrfigure vrworld Introduced before R2006a 10 47 10 Functions Alphabetical List 10 48 set Class vrfigure Set property values of vrf igure object Syntax set figure PropertyName Value PropertyName Value Description set figure PropertyName Value PropertyName Value sets the values of the vrf igure properties specified by one or more PropertyName Value pair arguments Input Arguments figure Virtual reality figure vrfigure object Virtual reality figure specified as a vrf igure object PropertyName Value Pair Arguments Specify comma separated pairs of PropertyName Value arguments PropertyName is the argument name and Value is the corresponding value PropertyName must appear inside single quotes You can specify several name and value pair arguments in any order as PropertyName1 Value1 PropertyNameN ValueN Example set myFigure Antialising on CameraPosition 0 100 100 Antialiasing Smooth textures using antialiasing off
137. as specified as a vr canvas object Output Arguments image_capture Virtual reality canvas image array Virtual reality canvas image captured as an array The array is an m by n by 3 data array that defines red green and blue color components for each individual pixel Examples Capture an RGB Image of a Figure Create and open a vrworld object and associate it with the virtual world vrmount wr 1 capture lights_world vrworld vrlights wrl open lights_world Create a vr canvas object for lights_world c vr canvas lights_world gcf 30 30 300 200 Capture an image of the canvas image_capture capture c Display an RGB image of the canvas in a MATLAB figure window image image_capture MATLAB Interaction Create vrworld Object for a Virtual World on page 4 2 See Also vrworld image Introduced before R2006a 10 25 10 Functions Alphabetical List 10 26 vrclear Remove all closed virtual worlds from memory Syntax vrclear vrclear force Description The vrclear function removes from memory all virtual worlds that are closed and invalidates all vrworld objects related to them This function does not affect open virtual worlds Open virtual worlds include those loaded from the Simulink interface You use this command to Ensure that the maximum amount of memory is freed before a memory consuming operation takes place Perform a general cleanup of m
138. as possible or split the computing and rendering over two machines Manipulator with Space Mouse Example vrmanipul The vrmanipul example illustrates the use of Simulink 3D Animation software for virtual reality prototyping and testing the viability of designs before the implementation phase Also this example illustrates the use of a space mouse input for manipulating objects in a virtual world You must have a space mouse input to run this example 1 27 1 Getting Started 1 28 The virtual reality model represents a nuclear hot chamber manipulator It is manipulated by a simple Simulink model containing the Space Mouse Input block This model uses all six degrees of freedom of the space mouse for manipulating the mechanical arm and uses mouse button 1 to close the grip of the manipulator jaws A space mouse is an input device with six degrees of freedom It is useful for navigating and manipulating objects in a virtual world A space mouse is also suitable as a general input device for Simulink models You can use a space mouse for higher performance applications and user comfort Space mouse input is supported through the Space Mouse Input block which is included in the Simulink 3D Animation block library for the Simulink environment The Space Mouse Input block can operate in three modes to cover the most typical uses of such a device in a three dimensional context Speeds e Positions Viewpoint coordinates Manipulat
139. associated virtual scene Library Simulink 3D Animation Position we Color VR Description vF Ta Trace the trajectory of an object in the associated virtual scene This block creates marker nodes in regular time steps either as children of the specified parent node Parent node parameter or at the top level of scene hierarchy root You can specify one of three types of markers General shape Line segments connecting object positions in every time step Axis aligned triads for orienting the trajectory in the 3 D space Also you can project traced object positions to a plane or to a point Object position input must correspond to the placement of the object in the scene hierarchy If the traced object resides as a child of a parent object define the parent object DEF name in the parent node field If the traced object resides at the top of the scene hierarchy its position is defined in global scene coordinates leave this field empty The first block input vector determines the position of the marker The second block input if enabled by the Marker color selection parameter represents the marker color The second or third block input vector depending on whether the marker color input vector is enabled specifies the project point coordinates VR Tracer Block Parameters Dialog Box Following is the Main pane of the VR Tracer block dialog box 9 33 9 Blocks Alphabetical List 9 34 Ca x VR T
140. ation to virtual world Syntax addexternproto vrworld_object protofile protoname addexternproto vrworld_object protofile protoname protodef Arguments vrworld_ object A vrwor1d object representing the virtual world protofile String containing the name of the prototype file from which the EXTERNPROTO declaration is added protoname String containing the name of the EXTERNPROTO declaration protodef String containing a new name for the EXTERNPROTO declaration Description addexternproto vrworld object protofile protoname adds an EXTERNPROTO declaration from file protofile to the virtual world The handle vrworld_object refers to the virtual world The EXTERNPROTO declaration is identified as protoname If protoname is a cell array of identifiers the function adds multiple EXTERNPROTOs from one file to the virtual world addexternproto vrworld object protofile protoname protodef adds an EXTERNPROTO declaration from file protofile to the virtual world The handle vrworld_object refers to the virtual world The EXTERNPROTO declaration is identified as protoname If protoname is a cell array of identifiers the function adds multiple EXTERNPROTOs from one file to the virtual world This command then renames the new EXTERNPROTO declaration to protodef In both cases the EXTERNPROTO declaration becomes equivalent to the PROTO declaration In other words protoname or protodef becomes an internal PROTO type vrworld addexternp
141. ationInfo Background DirectionalLight DirectionalLight DirectionalLight Car_1 Octavia Car_2 Octavia FlyingCamera Viewpoint RoadSystem Transform Surrounding_Objects Transform Startline Transform Viewpoint Viewpoint Viewpoint You can also use toolbar buttons to set view panes Oa o 8 When the grid view panes are open if you change the view pane option the 3D World Editor displays the following view panes from the grid view Horizontal Split Left two panes Vertical Split Top two panes Single View Top left pane To change the relative size of a panes select one of the gray borders for a view pane and drag the cursor To delete a pane when there are multiple panes click the dot in the border between view panes You can control the navigation of each pane independently For example you can set viewpoints manipulate the triad and specify rendering techniques independently for each pane The navigation panel in the active pane is blue For example 6 23 6 Using the 3D World Editor Pivot Point In Examine mode you can use a pivot point for rotating a virtual world around a point using a mouse The default pivot point is 0 0 0 world coordinates To set a new pivot point hold CRTL and double click the spot where you want the pivot point 6 24 3D World Editor Library 3D World Editor Library In this section
142. be set by the user If the virtual world is loaded from a virtual world 3D file containing a WorldInfo node with a title property the Description property is loaded from the virtual world 3D file instead The Nodes property is valid only when the virtual world is open If the virtual world is closed Nodes always contains an empty vector vrworld get The RemoteView property is set to of f by default and can be set by the user If it is set to on all viewers can access the virtual world through the Web interface If it is set to off only host viewers can access it The View property is set to on by default and can be set by the user When it is set to off the virtual world is not accessible by the viewer You rarely use this property See Also vrworld vrworld set 10 135 10 Functions Alphabetical List 10 136 vrworld isvalid 1 if vrworld object is valid O if not Syntax x isvalid vrworld_object Arguments vrworld_ object A vrworld object representing a virtual world Description A vrwor ld object is considered valid if its associated virtual world still exists x isvalid vrworld_ object returns an array that contains a 1 when the elements of vrworld_object are valid vrworld objects and returns a 0 when they are not You use this method to check whether the vrwor1d object is still valid Using a delete or vrclear command can make a vrworld object invalid See Also vrfigure
143. ber holding node data eventin Usually eventIn events correspond to a field in the node Node fields are not accessible from outside the node The only way you can change them is by having a corresponding eventin Some nodes have eventIn events that do not correspond to any field of that node but provide additional functionality for it For example the Transform node has an addChildren eventin When this event is received the child nodes that are passed are added to the list of children of a given transform You use this class type for fields that are exposed to other objects eventOut This event is sent whenever the value of a corresponding node field that allows sending events changes its value You use this class type for fields that have this functionality field A field can be set to a particular value in the VRML file Generally the field is private to the node and its value can be changed only if its node receives a corresponding eventIn It is important to understand that the field itself cannot be changed on the fly by other nodes or via the external authoring interface You use this class type for fields that are not exposed and do not have the eventOut functionality exposedField This is a powerful data class that serves many purposes You use this class type for fields that have both eventIn and eventOut functionality The alternative name of the 5 27 5 Build Virtual Reality Worlds corresponding eventIn is
144. bject x get vrnode_object x get vrnode_ object property_name Arguments vrnode_ object Name of a vrnode object representing the node to be queried property_name Name of the property to be read Description get vrnode_ object lists all vrnode properties in the MATLAB Command Window x get vrnode_ object where vrnode object isa scalar returns a structure where each field name is the name of a property and each field contains the value of that property x get vrnode object property_name returns the value of given property If vrnode_object is a vector of vrnode handles get returns an M by 1 cell array of values where M is equal to length vrnode_ object The vrnode property values are case sensitive Property names are not case sensitive The vrnode object properties allow you to control the behavior and appearance of objects The vrnode objects have the following properties All these properties are read only Property Value Description Fields Cell array Valid field names for the node 10 81 10 Functions Alphabetical List 10 82 Property Value Description Name String Name of the node Type String Type of the node The value is a string for example Transform Shape World Handle Handle of the parent vrworld object This is a vrwor1d object that represents the node s parent world See Also vrnode vrnode getfield vrnode set
145. bject For 2 D animations the Simulink 3D Animation software records exactly what you see in the viewer window Because 2 D animations record exactly what you see in the Simulink 3D Animation Viewer window the properties that control 2 D file recording belong to vrfigure objects 2 Set the Record2D vrfigure property 3 To override default filenames for animation files set the vrfigure Record2DFileName property To create 3 D animation files 4 27 MATLAB Interface 4 28 1 Retrieve the corresponding vrwor1d object 2 Set the Record3D vrworld property 3 To override default filenames for animation files set the vrworld Record3DFileName property Set the RecordMode vrwor 1d object property to manual or scheduled For optimal results select scheduled If you select scheduled for RecordMode be sure to also set the vrworld RecordInterval property to a desired time interval To specify that the virtual world time source is an external one set the vrworld property TimeSource to external This ensures that the MATLAB software controls the virtual world scene time Type set virtual_world TimeSource external To specify time values at which you want to save animation frames iteratively set the vrworld Time property Note that for a smoother animation you should set the time at equal intervals for example every 5 seconds Use a sequence like set virtual_world Time time_value For example to set th
146. bove the road surface Use of VR Placeholder and VR Signal Expander The VR Sink block accepts only inputs that define fully qualified field values Dynamic models that describe the system behavior in only one dimension still require full 3D positions for all controlled objects for their virtual reality visualization To simplify the modeling in such cases you can use the VR Placeholder and VR Expander blocks of the Simulink 3D Animation library The VR Placeholder block sends out a special value that is interpreted as unspecified by the VR Sink block When this placeholder value appears on a VR Sink input whether as a single value or as an element of a vector the appropriate value in the virtual world remains unchanged The VR Signal Expander block creates a vector of predefined length using some values from the input ports and filling the rest with placeholder signal values To control the position of a virtual object in a one dimensional dynamic model use the VR Signal Expander block with the controlled dimension as its input For its output use 5 37 5 Build Virtual Reality Worlds 5 38 a three component vector in the VR Sink block The remaining vector elements are filled with placeholder signals Use of the VR Signal Expander block is also a possibility when defining rotations When the axis of rotation as a part of the initial rotation of an object Transform node is defined in the virtual world 3D file it is po
147. c Systems 1 4 Set up Your Working Environment 1 4 Build a Virtual Reality World 0 00005 1 6 Link to a Virtual Reality World 05 1 7 View Dynamic System Simulations 000 1 8 Share Dynamic System Simulation Visualizations 1 8 MATLAB Compiler Support 00000005 1 10 XID SUPPOLts oc Ase see Sod eo AS ew SA ae A a a a aT 1 11 DUDA 2 Secoken tet E os dues waa acaba E benke mates scala tee iba con te 1 11 Relationship of X3D and VRML 1 11 X3D Support in Simulink 3D Animation 1 12 Convert a VRML File to X3D Format 1 12 Virtual Reality Modeling Language 1 14 Relationship of VRML and X8D 5 1 14 VRM pa deen od oe A tad Oo Anya ob an EAA ey rds 1 14 VRME Support nst sonaa eh dots nk G4 a fe he a 1 14 VRML Compatibility 2 0 0 0 ee 1 16 VRML Coordinate System 00 000 ee eee 1 17 VRML File Format 00 00 cee ee 1 18 Virtual Reality World and Dynamic System Examples 1 22 Simulink Interface Examples 00005 1 22 MATLAB Interface Examples 00000005 1 34 Installation 2 Set the Default Viewer 0 0 0 0 ccc ene 2 2 Install V Realm Editor on Host Computer 2 5 V Realm Editor Installation Windows 2 5 V Realm Builder Help 0 0 000 00
148. cation and size of virtual canvas specified as the vector in the form left bottom width height Specify measurements in pixels or normalized based on the Units property setting Element Description left Distance from the left edge of the primary display to the inner left edge of the canvas You can specify a negative value on systems that have more than one monitor bottom Distance from the bottom edge of the primary display to the inner bottom edge of the canvas You can specify a negative value on systems that have more than one monitor width Distance between the right and left inner edges of the canvas height Distance between the top and bottom inner edges of the canvas Example 230 250 570 510 Sound Sound effects on default off Sound effects specified as on or off 10 11 10 Functions Alphabetical List 10 12 Stereo3D Stereoscopic vision mode off default anaglyph active vr utils stereo3d object Stereoscopic vision mode specified as off anaglyph active ora vr utils stereo3d object Specifying a vr utils stereo3d object sets the Stereo3D Stereo3DCameraOf fset and Stereo3DHIT properties Specifying a vr utils stereo3d object also sets color filters for the left and right cameras Data Types int32 Stereo3DCamera0ffset Distance of left and right camera for stereoscopic vision non negative floating point double p
149. ce mouse is a device similar to a joystick in purpose but it also provides movement control with six degrees of freedom This block reads the status of the space mouse and provides some commonly used transformations of the input The Space Mouse Input block supports current models of 3 D navigation devices manufactured by 3Dconnexion http www 38dconnexion com Contact MathWorks Technical Support http www mathworks com support for further information on the support of older 3Dconnexion devices Data Type Support The Space Mouse Input block outputs signals of type double Space Mouse Input Block Parameters Dialog Box T Source Block Parameters Space Mouse Input ixi r Space Mouse Input mask link Space Mouse input device driver Parameters or Output type Speed v I Dominant mode I Disable position movement I Disable rotation movement J Normalize output angle J Limit position Position sensitivity 0 0001 Rotation sensitivity 0 00001 Initial position jio 00 Initial rotation fic 00 Lower position limit jE 00 100 100 Upper position limit fi 00 100 100 Cancel Help 9 11 9 Blocks Alphabetical List 9 12 Port Serial port to which the space mouse is connected Possible values are USB1 USB4 and COM1 COM4 Output Type This field specifies how the inputs from the device are transformed
150. ced features defined in the current VRML97 specification The standard is ISO IEC 14772 1 1997 available from http www web3d org documents specifications 14772 V2 0 part1 javascript html This format includes a description of 3 D scenes sounds internal actions and WWW anchors 1 Getting Started 1 16 The software analyzes the structure of the virtual world determines what signals are available and makes them available from the MATLAB and Simulink environment Simulink 3D Animation software ensures that the changes made to a virtual world are reflected in the MATLAB and Simulink interfaces If you change the viewpoint in your virtual world this change occurs in the vrwor1d object properties in MATLAB and Simulink interfaces The software includes functions for retrieving and changing virtual world properties Note Some VRML worlds are automatically generated in VRML1 0 However the Simulink 3D Animation product does not support VRML1 0 Save these worlds in the current standard for VRML VRML97 For PC platforms you can convert VRML1 0 worlds to VRML97 worlds by opening the worlds in Ligos V Realm Builder and saving them V Realm Builder is shipped with the PC version of the software Other commercially available software programs can also perform the VRML1 0 to VRML97 conversion VRML Compatibility The Simulink 3D Animation product currently supports most features of VRML97 with the following limitations T
151. ces Figure Frame Capture Preferences To access the virtual figure frame capture preferences 1 From the MATLAB Toolstrip in the Home tab in the Environment section select Preferences 2 Inthe left pane of the Preferences dialog box select Simulink 3D Animation 3 In the left pane under Simulink 3D Animation select Figure The Simulink 3D Animation Figure Preferences dialog box opens in the right pane 4 Select the Frame Capture tab The Simulink 3D Animation Figure Preferences dialog appears in the right pane with the Frame Capture tab selected Simulink 3D Animation Figure Preferences Appearance Rendering 2 D Recording Frame Capture Frame capture file name f_anim_ n tif Frame capture file format tif v 5 Set the preferences that you want See the following table for the rendering preferences that you can change Click OK to save the settings Property Value Description CaptureFileFormat tif png Specifies file format for a captured frame file Default tif CaptureFileName String Specifies the frame capture file Default f_anim_ n tif name The string can contain tokens that are replaced by the corresponding information when the animation recording takes place For further details see Define File Name Tokens on page 4 12 2 21 2 Installation Virtual World Preferences To access the virtual world preferences 1 From the MATLAB Toolstrip in the Home tab in the
152. cess the Preferences Dialog Box on page 2 11 3D World Editor Preferences on page 2 14 Canvas Preferences on page 2 15 Figure Preferences on page 2 16 Figure Appearance Preferences on page 2 16 Figure Rendering Preferences on page 2 17 Figure 2 D Recording Preferences on page 2 19 Figure Frame Capture Preferences on page 2 21 Virtual World Preferences on page 2 22 Ways to Access Simulink 3D Animation Preferences The topics in this section describe how to set the Simulink 3D Animation preferences To access those preferences The Simulink 3D Animation software installs with default preference settings You can change these settings using the Simulink 3D Animation preferences dialog box or MATLAB functions The preferences dialog box shows a subset of the preferences that you can set using MATLAB functions Use one of these approaches From the MATLAB Toolstrip in the Home tab in the Environment section select Preferences gt Simulink 3D Animation e MATLAB File gt Preferences dialog box This dialog box has preference dialog boxes for the MATLAB product and its related products including the Simulink 3D Animation product Simulink 3D Animation MATLAB interface functions Set Simulink 3D Animation Preferences Access the Preferences Dialog Box To access the Simulink 3D Animation preferences dialog box 1 From the MATLAB Toolstrip in the Home tab
153. ch mechdemos to a VRML file and place the resulting file in the current folder The resulting VRML file Fourbar Bar1 1 wrl has the same name as the source file except that it has a wrl extension instead of an stl extension stl2vrml1 fourbar Bar1 1 STL ls 5 ae fourbar Bar1 1 wrl Other files and folders in the current folder appear as well Convert the STL file fourbar Bar2 1 STL to a VRML file and place the resulting file in a folder called virtualworlds The resulting VRML file is in the destination folder that you specify mkdir virtualworlds stl2vrml1 fourbar Bar2 1 STL virtualworlds cd virtualworlds ls fourbar Bar2 1 wrl More About Tips You can use the created assembly VRML files as templates for creating virtual scenes in which you can work with objects of the converted assemblies To work with the scene effectively edit the scene as necessary For example consider whether you 10 3 10 Functions Alphabetical List 10 4 need to add lights viewpoints and surrounding objects modify part materials define navigation speeds or make other additions and changes The stl2vrml1 function converts individual STL files according to the STL convention which places parts in the global coordinate system If you specify a Physical Modeling XML file as the source the resulting VRML assembly file reflects the initial positions of the parts defined in the XML file If you use SolidWorks then do no
154. click in the virtual world Select the appropriate option from the View gt Triad menu In the viewer menu bar select the appropriate option from the View gt Triad menu To change the default location or visibility of the triad 1 From the MATLAB Toolstrip in the Home tab in the Environment section select Preferences 2 In the Preferences dialog box select Simulink 3D Animation gt Figure gt Triad Pivot Point In Examine mode you can use a pivot point for rotating a virtual world around a point using a mouse Navigate Using the Simulink 3D Animation Viewer To set the pivot point in a virtual world hold CRTL and double click the spot where you want the pivot point Note On Macintosh platforms use the command key instead of Ctrl 7 27 7 Viewing Virtual Worlds Viewpoints 7 28 Visitors to your virtual world are navigating in an environment you create for them using navigation methods allowed by the viewer Walk Examine Fly Besides this it is useful to set up in the world several locations places of interest you want to point the visitors to These locations are called viewpoints Users can browse through them carrying out a guided tour you prepared for them gaining the visual information you consider important in your model When entering a world user is placed at the first Viewpoint node encountered in the file It is especially important to define this viewpoint carefully as the most int
155. ct use the PlaneSensor attached to the ball geometry with its output restricted to lt 0 1 gt in the vertical coordinate and processed by the VR Sensor Reader block The vrextin S function provides the data connection For more details on how to read values from virtual worlds programmatically see Add Sensors to Virtual Worlds on page 3 22 Magnetic Levitation Model for Simulink Desktop Real Time Example vrmaglev_sldrt In addition to the vrmaglev example the vrmaglev_sldrt example works directly with the actual CE 152 scale model hardware in real time This model to work with the HUMUSOFT MF 624 data acquisition board and Simulink Coder and Simulink Desktop Real Time software However you can adapt this model for other targets and acquisition boards A digital IIR filter from the DSP System Toolbox library filters the physical system output You can bypass the physical system by using the built in plant model Running this model in real time is an example showing the capabilities of the Simulink product in control systems design and rapid prototyping After enabling the remote view in the VR Sink block dialog box you can control the Simulink model even from another remote client computer This control can be useful for distributing the computing power between a real time Simulink model running on one machine and the rendering of a virtual reality world on another machine To work with this model use as powerful a machine
156. ct is always scaled by a factor of 0 001 conversion from millimeters to meters regardless of the units used in the CATIA document 5 53 5 Build Virtual Reality Worlds Adjusting Resulting VRML files Adjust exported VRML files to use the exported VRML models with the Simulink 3D Animation software You can perform these adjustments manually as described in this topic or use the vrcadcleanup and vrphysmod functions to perform some of these tasks Adding DEF Names to Part Transforms In the VRML file assign a unique name for each VRML object To do this add the DEF Object_Name statement to each part Transform line The following is an example of a VRML file that has DEF names added to the cylinder assembly Scene Tree Viewpoint ae position 0 017439 0 001734 0 781 B C gorta orientation 0 707107 0 707107 0 000001 ip A eels fieldOfView 0 471225 H Background description Botton View H Viewpoint a Yi int Transform i e cle scale 0 001 0 001 0 001 a sah aiaiel children E Viewpoint DEF CylinderdAssembly1 Transform H Viewpoint children E Viewpoint DEF CrankAssembly1 Transform cia inate H 4 viewpoint DEF CylinderSleevel Transform H Viewpoint E ransform istondssembly ransform E Transf DEF Pi A bly1 T f scale children DEF CrankshaftAssembly1l Transform gt Transform CylinderA
157. cts the vrpend example with Headlight on Pseudo orthographic view zl famine vJ E Sa aal Ela gt M Pseudo orthographic view i Pos 180 00 100 00 180 00 Dir 0 66 0 36 0 66 The scene looks darker when Headlight is set to off 7 Viewing Virtual Worlds 7 12 E inverted Pendulum co e je File View Viewpoints Navigation Rendering Simulation Recording Help x Pseudo orthographic view v Examine J lagi 2 a g e CS gt e WEF OEO Pseudo orthographic view Pos 180 00 100 00 180 00 Dir 0 66 0 36 0 66 Note It is helpful to define enough lighting within the virtual scene so that it is lit regardless of the Headlight setting When Lighting is off the virtual world appears as if lit in all directions The Simulink 3D Animation viewer does not compute and render all the lighting effects at the surfaces of the objects Shadows disappear and the scene loses some of its 3 D quality The following is the vrpend example with Lighting off Specify Rendering Techniques File View Viewpoints Navigation Rendering Simulation Recording Help n Pseudo orthographic view Bamine J M BOQ C a gt amp Pos 180 00 100 00 180 00 Dir 0 66 0 36 0 66 If Transparency is off transparent objects are rendered as solid objects 7 13 7 Viewing Virtual Worlds File View Viewpoints Navigation Rendering Simulation Recording Help
158. d x3dv and avi files Token Description n The current incremental number replaces this token in the file name string Each subsequent frame capture or run of the simulation increments the number For example the format f_anim_ n wrl saves the animation to vrplanets_anim_1 wrl on the first run vrplanets_anim_2 wrl on the second run and so forth h The virtual world file name replaces this token in the file name string For example the format f_anim_ D wrl saves the animation to vrplanets anim 29 wrl oe o The virtual world file name replaces this token represents with the virtual world 3D file extension wrl x3d or x3dv By default the e token uses the file extension of the virtual world 3D file that drives the animation The VR Sink and VR Source block Source file parameter specifies the file extension of the virtual world You can specify a different extension However if the file extension in the Source file parameter is x3d or X3dv you cannot set e token to wrl VRML o amp Q The full path to the virtual world 3D file replaces this token in the file name string and creates files in directories relative to the virtual world file location For example the format d animdir f_anim_ n avi saves the animation in the animdir subfolder of the folder containing the virtual world 3D file It creates the animdir subfolder if one does not exist This token is most helpful if you want to e
159. d Type vrwhos If the result indicates that only one vrworld object is in the workspace assign its handle directly to a variable Type myworld vrwho If multiple virtual worlds are listed you must select which of these virtual worlds you want to manipulate To select the virtual world you can use indexing or a selection method using a string comparison of virtual world descriptions For the indexing method type worlds vrwho myworld worlds 1 For the string comparison method type worlds vrwho myworld worlds strcmp Planets get worlds Description 4 21 MATLAB Interface 4 22 Direct the Simulink 3D Animation software to record the animation on a schedule by setting the RecordMode property to scheduled Type set myworld RecordMode scheduled Direct the Simulink 3D Animation software to record the animation in a virtual world 3D format file set myworld Record3D on Select the start and stop times during which you want to record the animation For example enter 5 as the start time and 15 as the stop time set myworld RecordInterval 5 15 Ensure that the recording start time value is not earlier than the start time of the Simulink model the recording operation cannot start in this instance If the stop time exceeds the stop time of the Simulink model or if it is an out of bounds value such as a negative number the recording operation stops when the simulation stops
160. d Virtual Reality 3D file Associated Text node Format string Sample time 1 for inherited 1 Ensure that a viewer window is open during simulation 0K hCancei tet _ Apply Associated VRML file Virtual world 3D file specifying the virtual world to which text is output Associated Text node Text node within the virtual world to which text is output Format string Format used for output text This block uses sprintf to format the output strings Like sprintf it works in a vectorized fashion where the format 9 29 9 Blocks Alphabetical List 9 30 string is recycled through the components of the input vector This block does not support the c and s conversion formats as signals in the Simulink product cannot have both characters and strings Sample time Enter the sample time or 1 for inherited sample time Ensure that a viewer window is open during simulation Select this check box to ensure that the Simulink 3D Animation Viewer is open during simulation VR To Video VR To Video Write data from Simulink model to virtual world video output port enabled Library Simulink 3D Animation Description VR Te video This block is equivalent to the VR Sink block except that its Show video output port is selected by default See the VR Sink block for details 9 31 9 Blocks Alphabetical List 9 32 VR Tracer Trace trajectory of object in
161. d and changes to just one input the Plane translation The Virtual Reality block is ready to use with the new parameters defined Verify that the correct output is connected to your VR Sink block The output from the VR Signal Expander should be connected to the single input Pa vrtut2 e 4 2000 gt Pitch Axs of Rotation pemg i Fx i gt i gt z Plane trahsistion Takeoff Lift gt VR Sirk 9810 aA b Plane Weight Ground amaran ee Compensation VR VR Signal Expander Clock 7 Pilot Input Equations of Motion Body Axes In the Simulink 3D Animation Viewer from the Simulation menu run the simulation again and observe the simulation 3 Simulink Interface Open a Viewer Window 3 10 When you simulate a model that contains a VR Sink block your default viewer opens and displays the virtual scene For more information on setting your default viewer see Set the Default Viewer on page 2 2 Multiple instances of the viewer can exist on your screen A viewer appears each time you select the File menu New Window option in the Simulink 3D Animation Viewer This feature is particularly useful if you want to view one scene from many different viewpoints at the same time If you close the viewer window you might want to reopen it In the Simulink model window double click the VR Sink block Display Virtual World and Start Simulation Display Virtual World and Start Simulation This exampl
162. d in a way very similar to a handle All functions that affect virtual worlds accept a vrwor1d object as an argument to identify the virtual world If the given virtual world already exists in memory the handle to the existing virtual world is returned A second virtual world is not loaded into memory If the virtual world does not exist in memory it is loaded from the associated virtual world 3D file The newly loaded virtual world is closed and must be opened before you can use it The vrwor1d object associated with a virtual world remains valid until you use either delete or vrclear Examples myworld vrworld vrpend wrl Method Summary Method Description addexternproto Add externproto declaration to virtual world close Close virtual world delete Remove virtual world from memory edit Open virtual world file in external virtual world editor get Property value of vrwor1d object isvalid 1 if vrworld object is valid 0 if not nodes List nodes available in virtual world open Open virtual world vrworld Method Description reload Reload virtual world from virtual world 3D file save Write virtual world to virtual world 3D file set Change property values of vrwor1d object view View virtual world See Also vrworld close vrworld delete vrworld open 10 125 10 Functions Alphabetical List 10 126 vrworld addexternproto Add externproto declar
163. d orientation in the scene by defining corresponding fields of the main object s Transform node mentioned in Wrap Shape Objects with Transforms on page 5 82 For an example of a complete scene definition see the octavia_scene wrl file that belongs to the Simulink 3D Animation vr_octavia example Link to CAD Virtual Worlds The purpose of this step is to create associations between dynamic model object quantities and corresponding virtual world object properties positions rotations etc to establish a live data connection between the model and the virtual world Mechanical systems are typically modeled using SimMechanics or Simulink but the Simulink 3D Animation product allows for the visualization of models implemented in MATLAB The following section describes the specifics of using the MATLAB interface Linking the Virtual World to a Simulink Model You associate Simulink model signals to virtual world object properties through the VR Sink block from the Simulink 3D Animation block library vr1ib To associate a Simulink signal to a virtual object property 1 From the vr1ib library insert a VR Sink block into your Simulink model Using CAD Models with the Simulink 3D Animation Product 2 Double click the VR Sink block to open the block parameters dialog where you can define the virtual world Enter the name of the virtual world 3D file in Source file or click Browse to select the file interactively Click Apply to load
164. default on Smooth textures using antialising specified as on or off Antialiasing smooths textures by interpolating values between texture points set CameraBound Camera movement with current viewpoint on default off Camera movement with the current viewpoint specified as on or off CameraDirection Camera direction in the current viewpoint local coordinates vector of three doubles Camera direction in the current viewpoint local coordinates specified as a vector of three doubles The doubles represent the x y and z vectors in the current viewpoint local coordinates CameraPosition Camera position in the current viewpoint local coordinates vector of three doubles Camera position in the current viewpoint local coordinates specified as a vector of three doubles The doubles represent the x y and z vectors in the current viewpoint local coordinates CameraUpVector Camera up vector vector of three doubles Camera up vector specified as a vector of three doubles The doubles represent the x y and z vectors in the current viewpoint local coordinates CaptureFileFormat File format for captured frame file tif default png File format for a captured frame file specified as tif for Tagged Image Format or png for Portable Network Graphics format CaptureFileName Frame capture file name Sf anim n ext default string Frame capture file name sp
165. delines for Using Custom Objects 6 26 Viewing Virtual Worlds 7 Virtual World Viewers 0 0 00 cee ees 7 2 Host and Remote Viewing 0 00 e cece eens 7 2 Comparison of Viewers 0 0 cece cee eee 7 2 Simulink 3D Animation Viewer 006 What You Can Do with the Viewer 005 Viewer Uses MATLAB Figures 0000000 eae Set Viewer Appearance Preferences 0005 Open the Simulink 3D Animation Viewer Open from the VR Sink Block 0000 Open from the Command Line 0005 Simulate with the Simulink 3D Animation Viewer Specify Rendering Techniques Navigate Using the Simulink 3D Animation Viewer Basie Navigation 2 0 6k de oe he ee ee eee eee ee Navigation Panel 0 ccc cee ee eens Viewer Keyboard Shortcuts 0 0 0 0 eee ens Mouse Navigation 0 0c eee eee eee eee Control Menu rrr merae N cee a Change the Navigation Speed 0 0000005 Sensors Effect on Navigation 000 eee Display a Coordinate Axes Triad 000005 Pivot Pont asr onesies aa ANE AA ss each et a eek Vie WPOINUS yrrir s eo hl a ead a a bn Define and Reset Viewpoints 000005 Reset Viewpoints 0 ccc eee ee ens Define Viewpoints 0 0 0 cece eee eee Navigate Through Viewpoints
166. doubles The doubles represent the x y and z vectors in current viewpoint local coordinates CameraPosition Camera position in the current viewpoint local coordinates vector of three doubles Camera position in the current viewpoint local coordinates specified as a vector of three doubles The doubles represent the x y and z vectors in the current viewpoint local coordinates CameraUpVector Camera up vector vector of three doubles Camera up vector specified as a vector of three doubles The doubles represent the x y and z vectors in the current viewpoint local coordinates DeleteFcn Callback invoked when closing vr canvas object string Callback invoked when closing the vr canvas object specified as a string ExaminePivotPoint Pivot point about which camera rotates in examine navigation mode vector of three doubles 10 9 10 Functions Alphabetical List 10 10 Pivot point about which camera rotates in examine navigation mode specified as a vector of three doubles in world coordinates Headlight Headlight from camera on default off Headlight from camera specified as on or off If you specify off the camera does not emit light and the scene can appear dark Lighting Lighting effect on default off Lighting effect specified as on or off If you specify off the camera does not emit light and the scene can appear dark MaxTextur
167. dress or hostname of the host computer running the Simulink 3D Animation server 127 0 0 1 by default and the port number at which the Simulink 3D Animation server is listening 8124 by default Reload Reloads the saved virtual world Note that if you have created any viewpoints in this session they are not retained unless you have saved those viewpoints with the Save As option Save As Allows you to save the virtual world Close Closes the Orbisnap window View Enables you to customize Orbisnap including Toolbar Toggles the toolbar display Status Bar Toggles the status bar display at the bottom of Orbisnap This display includes the current viewpoint simulation time navigation method and the camera position and direction Navigation Zones Toggles the navigation zones on off see Navigate Using Orbisnap on page 8 11 for a description of how to use navigation zones Orbisnap Interface Navigation Panel Controls the display of the navigation panel including toggling it Triad Shows red green and blue arrows that are parallel to the orientation of global x y and z coordinate axes Zoom In Out Zooms in or out of the world view Normal 100 Returns the zoom to normal initial viewpoint setting Fullscreen Mode Displays the viewer in full screen mode Viewpoints Manages the virtual world viewpoints e Navigation Manages scene navigation Rend
168. duced before R2006a 10 37 10 Functions Alphabetical List close Class vrfigure Close virtual reality figure Syntax close figure Description close figure closes the virtual reality figure referenced by figure If figure isa vector of vrf igure object handles then the method closes multiple figures Input Arguments figure Virtual reality figure vrfigure object Virtual reality figure specified as a vrf igure object Examples Capture a Figure myworld vrworld vrpend wrl open myworld f vrfigure myworld close f MATLAB Interaction Create vrworld Object for a Virtual World on page 4 2 See Also vrfigure vrworld 10 38 close Introduced before R2006a 10 39 10 Functions Alphabetical List 10 40 get Class vrfigure Return property value of vrf igure object Syntax get figure figureProp get figure propertyName Description get figure lists the values of all the properties of the vrf igure object figureProp get figure propertyName returns the value of the specified property of the vrf igure object Input Arguments figure Virtual reality figure vrfigure object Virtual reality figure specified as a vrf igure object property_name Virtual reality figure object property string Virtual reality figure property specified as one of these vrfigure Property Meaning Antialiasing Smooth textures
169. e texture SFNode material SFNode geometry SFNode Box B size SFVec3f 0 3 1 4 m 10 Add a second box that is very similar to the first box a Under the ROOT node add a Transform node see step 2 and name it B2 see step 3 b Copy the Shape node Under the B1 Transform node right click the Shape node in the B1 Transform node and select the Copy menu item c Paste the copied Shape node into the B2 Transform node Under the B2 Transform node right click the children node and select the Paste Node gt Paste menu item With the B1 node collapsed and the B2 node expanded the 3D World Editor looks like the following graphic Build and Connect a Virtual World 11 49 3D World Editor H Documents MATLAB vrtut3 wrl olels File Edit Tree Nodes Help x DEGSHEU Be iX E a E gt ROOT H P B1 Transform gt B2 Transform ff center SFVec3 0 0 0 4 rotation SFRotation 0 0 1 0 fh scale SFVec3f 1 1 1 P scaleOrientation SFRotation 0 0 1 0 a translation SFVec3f 0 0 0 bboxCenter SFVec3f 0 0 0 bboxSize SFVec3f 1 1 1 5 children MFNode Shape 5 appearance SFNode 5 Appearance material SFNode S Material af ambientintensity SFFloat 0 2 diffuseColor SFColor 08 08 08 emissiveColor SFColor 0 0 0 shininess SFFloat 0 2 4 specularColor SFColor 0 0 0 8 transparency SFFloat 0 texture SFNode textureTra
170. e FileName files See vrf igure get for detailed description Default is f_anim_ n tif DefaultFigureDeleteFcn Specifies the default callback invoked when closing a vr figure object DefaultFigureLighting Specifies whether the lights are rendered by default for new vrfigure objects This preference also applies to new vr canvas objects Valid values are off and on 10 61 10 Functions Alphabetical List 10 62 Preference Description DefaultFigureMax Specifies the default maximum size of a texture Texturesize used in rendering new vrf igure objects This preference also applies to new vr canvas objects Valid values are auto and 32 lt x lt video card limit where x is a power of 2 DefaultFigureNavPanel Specifies the default appearance of the control panel in the viewer Valid values are opaque translucent none halfbar bar and factory Defaultis halfbar DefaultFigureNavZones Specifies whether the navigation zone is on or off by default for new vrfigure objects This preference also applies to new vr canvas objects Valid values are off and on DefaultFigurePosition Sets the default initial position and size of the Simulink 3D Animation Viewer window Valid value is a vector of four doubles DefaultFigureRecord2D CompressMethod Specifies the default compression method for creating 2 D animation files for new vrfigure ob
171. e 3D designs in your company are created using CAD tools you need to be able to convert these designs into forms that can be used with Simulink or SimMechanics models and applications based on the MATLAB software You can adapt existing CAD designs for visualization using the Simulink 3D Animation software Import CAD Designs You can use the following techniques to import CAD designs for use in VRML with the Simulink 3D Animation product Import STL and Physical Modeling XML Files Directly into a Virtual World on page 5 40 Import VRML Models from CAD Tools on page 5 42 Import VRML Models from CATIA Software on page 5 49 These section assumes that the reader has a moderate knowledge of the Simulink 3D Animation product For VRML specific information such as the description of nodes and their fields refer to the VRML97 standard CAD Virtual World Modeling You can use the 3D World Editor or other editor to manually modify the results of CAD tool export filters for example composing the converted model into an urban or 5 31 5 Build Virtual Reality Worlds 5 32 manufacturing environment or adding objects such as viewpoints backgrounds and lights before using them in Simulink 3D Animation virtual worlds Typically adjusting exported files manually in an editor requires the following changes Wrap Shape Objects with Transforms CAD tools export parts into VRML or X3D as individual shapes using
172. e MFxxx fields that can have a variable number of elements typically MFFloat or MFVec3f The SFImage is the only VR Source SFxxx field that can map to a variable size signal For details about these data types see Field Data Types on page 5 24 Note The signal dimensions of a variable size output signal of a VR Source block must be the same size as or smaller than the initial state of the signal Virtual World Tree This box shows the structure of the virtual world 3D file and the virtual world itself Nodes that have names are marked with red arrows You can access them from the MATLAB interface Nodes without names but whose children are named are also marked with red arrows This marking scheme makes it possible for you to find all accessible nodes by traversing the tree using arrows Other nodes have a blue dot before their names Fields with readable values have check boxes Use these check boxes to select the fields that you want the Simulink software to monitor and to use to input values For each field that you select in the Virtual World Tree box Simulink creates an output port in the VR Source block Simulink creates the output ports in the same order as the selected fields appear in the virtual world 8D file Fields whose values cannot be read because their parent nodes do not have names or because their values cannot be imported to Simulink have an X shaped icon Show node types If you select
173. e Property Meaning World Virtual world that the figure displays read only property ZoomFactor Camera zoom factor Output Arguments figureProp Virtual reality figure property string vector Virtual reality figure property returned as a string or vector Examples Return All Property Values of a Figure Create a vr figure object myworld vrworld vrmount wrl open myworld virtual_fig vrfigure myworld Return the properties of the virtual figure virtual_fig get virtual_fig figure_props Antialiasing on CameraBound on CameraDirection 0 0 1 CameraDirectionAbs 0 0 1987 0 9801 CameraPosition 0 0 0 CameraPositionAbs 20 8 50 CameraUpVector 0 1 0 CameraUpVectorAbs 0 0 9801 0 1987 CaptureFileFormat tif CaptureFileName f_anim_ n tif 10 43 10 Functions Alphabetical List DeleteFcn ExaminePivotPoint Fullscreen Headlight Lighting MaxTextureSize Name NavMode NavPanelL NavSpeed NavZones Position Record2D Record2DCompressMethod Record2DCompressQuality Record2DFPS Record2DFileName Sound StatusBar Stereo3D Stereo3DCameraOffset Stereo3DHIT Textures ToolBar Tooltips Transparency Triad Viewpoint Wireframe World ZoomFactor Return Name of a Figure Create a vr figure object 0 0 0 Off on on auto VR Car in the Mountains examine halfbar norma
174. e Time property for vrwor1d w with values increasing by 10 enter set w Time 10 set w Time 20 set w Time 30 set w Time 40 set w Time 50 set w Time 60 w Time 70 set w Time 80 set w Time 90 set w Time 100 set w Time 110 set w Time 120 set w Time 130 set w Time 140 If you select a start time of 60 and a stop time of 120 as described in Scheduled 3 D Recording with MATLAB on page 4 21 the Simulink 3D Animation software starts recording at 60 and stops at 120 Record Animations for Unconnected Virtual Worlds Because of the repetitive nature of the time interval setting set the Time property in a loop from within a script or program After you set the vrworld Time property set the virtual scene object properties as necessary You should set these properties to values that correspond to the given time frame to achieve the desired animation effect In each time frame issue the vrdrawnow command for scene changes This command renders and updates the scene The following code fragment contains a typical loop that iteratively sets the Time property changes a virtual scene object property and calls vrdrawnow to render the scene for time StartTime Step StopTime advance the time in the virtual scene set myworld Time time here we change node properties myworld Car translation time speed 0 O J render
175. e block outputs signals of type double Block Parameters Dialog Box Parameters VR Source x VR Source Reads Simulink values from virtual world node fields Fields to be read are marked by checkboxes in the tree view Every marked field corresponds to an output port of the block Virtual World Properties Virtual World Tree Source file Output V Show node types v Show field types gt No world loaded Reload xX No world filename specified _ Open Viewer automatically __ Allow viewing from the Internet Description Block Properties Sample time 1 for inherit 01 Allow variable size output signals OK Cancel Help Appl Source file Virtual world 3D file name specifying the virtual world that connects to this block By default the full path to the associated virtual world 3D file appears in this 9 25 9 Blocks Alphabetical List 9 26 text box If you enter only the file name in this box the software assumes that the virtual world 3D file resides in the same folder as the model file You can specify a VRML file or an X8D file Click the New to open an empty default virtual world editor When you either enter a source file name or use the Browse button the New button becomes an Edit button e Click the Edit button to launch the default virtual world editor with the source file open e Click the View button to view the world
176. e context menu for a node For information about library objects see 8D World Editor Library on page 6 25 For a ROOT or children node from the Nodes menu or the context menu for the node select the Inline VRML File menu item You can inline VRML files wr1 files but not X3D files xX3d or xX3dv The node that you add gets added to different locations in the hierarchy depending on the node that you select to begin the process of adding a node Selected Node Location of Added Node ROOT At the bottom of the hierarchy node Node at the next level down from the ROOT node for example a Transform Above the selected node A children node Under the children node as a child node of the selected node Copy and Paste a Node You can copy a node below a top level Transform node and paste that copied node to be a child of another node including the ROOT node Basic Editing You can paste the copied node as either an explicit text copy Paste or as a referenced copy Paste As Reference An explicit text copy allows you to edit properties of that node independently from the original node that you copied A referenced copy node appears with the term USE Referenced copies streamline the tree structure pane display Edits that you make to the original referenced node are applied to the copied node ensuring that the two nodes remain exact copies of each other
177. e explains how to display a simulated virtual world using the Simulink 3D Animation Viewer on your host computer This is the default and recommended method for viewing virtual worlds A Simulink window opens with the model of a simple automobile Automobile trajectory vehicle position and angle is viewed in virtual reality 1 Inthe MATLAB Command Window type vrtuti A Simulink window opens with the model of an automobile Pa vrtutl Automobile rotation ue N Automobile tranststion Speed Z Integrator A virtual world viewer also opens with a 3 D model of the virtual world associated with the model 3 11 3 Simulink Interface VR Car in the Mountains o amp amp File View Viewpoints Navigation Rendering Simulation Recording Help x View1 Observer Examine Jm Eaa aE e gt i Pos 20 00 8 00 50 00 Dir 0 00 0 20 0 98 2 Inthe Simulink 3D Animation Viewer from the Simulation menu click Run The simulation starts In the Simulink 3D Animation Viewer a car moves along the mountain road 3 Use the Simulink 3D Animation Viewer controls to move the camera within this virtual world while the simulation is running For more information on the Simulink 3D Animation Viewer controls see Simulink 3D Animation Viewer on page 7 4 4 Inthe Simulink 3D Animation Viewer from the Simulation menu click Stop 3 12 View Virtual World on Host Computer View Virtual World on Host C
178. e field value using the dot notation Reading Sensor Values Example The virtual scene for the Magnetic Levitation Model example maglev wrl contains a PlaneSensor with the DEF name Grab_Sensor The PlaneSensor is attached to the ball geometry to register your attempts to move the ball up or down when grabbing it using the mouse The example uses the sensor fields minPosition and maxPosition to restrict movement in other directions You can use the output of the sensor translation field as the new setpoint for the ball position controller You can read the sensor output value into a MATLAB variable setpoint with the following create the vrworld object and open the world wh vrworld maglev wrl open wh get the node handle nh vrnode wh Grab _Sensor synchronize the translation field sync nh translation on 3 alternative ways to read the synchronized field value setpoint getfield nh translation setpoint nh translation setpoint wh Grab_Sensor translation To use the setpoint value in a Simulink model you can write an S function or a MATLAB Function block that reads the sensor output periodically For an example of such an S function 1 Right click the VR Sensor Reader block of Magnetic Levitation Model vrmaglev model and select Mask gt Look Under Mask The vrmaglev VR Sensor Reader model displays This model contains the vrextin block which is an S function block The vrextin
179. e frame Ctrl i Start or stop simulation Ctrl t Straighten up and make the camera stand on the F9 horizontal plane of its local coordinates Zoom in and out Toggle the headlight on and off F6 Toggle the navigation zones on and off F7 Toggle the wireframe option on and off F5 Toggle the antialiasing option on and off F8 Go to default viewpoint Esc Return to current viewpoint Home Go to previous viewpoint Page Up Go to next viewpoint Page Down Camera is bound unbound from the viewpoint F10 Set the navigation method to Walk Shift w Set the navigation method to Examine Shift e Set the navigation method to Fly Shift f Move the camera forward and backward Shift Up Down Arrow Pan the camera up and down Up Down Arrow Pan the camera right and left Left Right Arrow Shift Left Right Arrow Slide up and down Alt Up Down Arrow Slide left and right Alt Left Right Arrow Navigate Using the Simulink 3D Animation Viewer Navigation Function Keyboard Shortcut Pressing Ctrl alone acquires the examine lock Ctrl Left Right Up Down Arrow at the point of intersection between the line perpendicular to the screen coming through the center of the viewer window and the closest visible surface to the camera Pressing the arrow keys without releasing Ctrl rotates the viewpoint about the acquired center point Tilt the camera right and left Shift Alt Left Right Arr
180. e frames in a file named with the following format f_anim_ n e This format creates a unique file name each time you capture a frame or record the animation The file name uses the f n and e tokens The f token is replaced with the name of the virtual world associated with the model The n token is a number that increments each time that you record a simulation for the same virtual world If you do not change the default file name for example if the name of the virtual world file is vrplanets vrml and you record a simulation for the first time the animation file is vrplanets_anim_1 wrl If you record the simulation a second time the animation file name is vrplanets_anim_2 wrl In the case of frame captures capturing another frame of the scene increments the number The e token represents the virtual world 3D file extension wrl x3d or x3dv as the extension of the virtual world that drives the animation By default the e token uses the file extension of the virtual world 3D file that drives the animation The VR Sink and VR Source block Source file parameter specifies the file extension of the virtual world You can specify a different extension However if the file extension in the Source file parameter is x3d or x3dv you cannot set e token to wrl VRML Uses for File Name Tokens You can use a number of tokens to customize the automated generation of frame capture or animation files To use these tokens to create va
181. e hierarchy or attached to objects that move in the scene for observation during simulation Such viewpoints are defined as siblings of moving objects in the scene hierarchy For an example of a viewpoint moving with the 5 33 5 Build Virtual Reality Worlds 5 34 object see the viewpoint Ride on the Plane in the Simulink 3D Animation vrtkoff wrl example 5 Add lights to the scene in order to illuminate it Although virtual world viewers always have a headlight available it is good practice to define lights in the scene so that it looks the same for every user according to the scene author s preferences The most useful type of light to illuminate a whole scene is the DirectionalLight node It is often practical to use a combination of several such lights to illuminate objects from several directions 6 Add scene surroundings This step is not crucial for the visualization of interactions between parts in a machine assembly but is very important for the visualization of simulations such as those for aircraft and vehicle dynamics where the position of one object relative to the scene in which it operates is important For example if you want to visualize vehicle dynamics you would place a virtual car on a virtual road Both objects need to be to scale the length units in the car and road models must match and the car must be placed in an appropriate position relative to the road You achieve proper car scaling placement an
182. e of parent of virtual reality canvas object double Handle of parent of virtual reality canvas object represented by a double read only property Position Canvas location and size vector with four doubles Location and size of virtual canvas returned as the vector in the form left bottom width height Specify measurements in pixels or normalized based on the Units property setting Note On Windows systems figure windows cannot be less than 104 pixels wide regardless of the value of the Position property Element Description left Distance from the left edge of the primary display to the inner left edge of the canvas You can specify a negative value on systems that have more than one monitor vr canvas class Element Description bottom Distance from the bottom edge of the primary display to the inner bottom edge of the canvas You can specify a negative value on systems that have more than one monitor width Distance between the right and left inner edges of the canvas height Distance between the top and bottom inner edges of the canvas Example 230 250 570 510 Sound Sound effects on default off Sound effects returned as on or off Stereo3D Stereoscopic vision mode of f default anaglyph active vr utils stereo3d object Stereoscopic vision mode returned as off anaglyph active ora vr utils stereo3d object
183. e one of the following from the viewer From the menu bar select the Simulation menu Stop option to stop the simulation From the toolbar click Stop simulation to stop the simulation From the keyboard press Ctrl T to stop the simulation You do not need to manually stop the recording before stopping the simulation If you do not manually stop the recording the recording operation does not stop and create the animation file when the simulation stops Close and delete the objects if you do not want to continue using them 4 17 MATLAB Interface Manual 2 D AVI Recording with MATLAB This topic describes how to manually record a 2 D animation using the MATLAB interface for a virtual world that is associated with a Simulink model In this example the timing of the animation file derives from the simulation time One second of the recorded animation time corresponds to one second of Simulink time You create and record the animation file by interactively starting and stopping the recording from the MATLAB Command Window 4 18 This procedure uses the vrplanets example It describes how to create an avi animation filename with the default name format 1 Run the Simulink model for vrplanets In the MATLAB window type vrplanets The Simulink model appears Also by default the Simulink 3D Animation Viewer for that model is loaded and becomes active If the viewer does not appear double click the Simulink 3D Anima
184. e virtual world Int32 data type for vrnode setfield and vrnode getfield Valid values are int32 and double If set to int32 the virtual world Int32 data type is returned as int32 If set to double the Int32 data type is returned as double Default is double DataTypeFloat Specifies the handling of the virtual world float data type for vrnode setfield and vrnode getfield Valid values are single and double If setto single the virtual world Float and Color data types are returned as single If set to double the Float and Color data types are returned as double Default is double vrgetpref Preference Description DefaultCanvasNavPanel Controls the appearance of the control panel in the vr canvas object Values are none Panel is not visible minimized Panel appears as a minimized icon in the right hand corner of the viewer e translucent Panel floats half transparently above the scene e opaque Panel floats above the scene Default none DefaultCanvasUnits Specifies default units for new vr canvas objects See vr canvas for detailed description Default is normalized DefaultFigureAnti Determines whether antialiasing is used Aliasing by default for new vrfigure objects This preference also applies to new vr canvas objects Valid values are off and on DefaultFigureCapture Specifies default file name for vr captur
185. eMax TextureSize Specifies the default maximum size of a texture used in rendering new vrfigure objects This preference also applies to new vr canvas objects Valid values are auto and 32 lt x lt video card limit where x is a power of 2 DefaultFigureNavPanel Specifies the default appearance of the control panel in the viewer Valid values are opaque translucent none halfbar bar and factory Default is halfbar DefaultFigureNavZones Specifies whether the navigation zone is on or off by default for new vrfigure objects This preference also applies to new vr canvas objects Valid values are off and on DefaultFigurePosition Sets the default initial position and size of the Simulink 3D Animation Viewer window Valid value is a vector of four doubles DefaultFigureRecord2D CompressMethod Specifies the default compression method for creating 2 D animation files for new vrfigure objects Valid values are auto lossless and codec_code DefaultFigureRecord2D CompressQuality Specifies the default quality of 2 D animation file compression for new vrfigure objects Valid values are 0 100 DefaultFigureRecord2D FileName Specifies the default 2 D offline animation file name for new vrf igure objects vrsetpref Preference Description DefaultFigureRecord2DFPS Specifies the default frames per second playback speed To have the
186. eSize Maximum pixel size of textures auto default integer in a power of 2 Maximum pixel size of textures specified as auto or integer in a power of 2 The value of auto sets the maximum texture pixel size Otherwise specify an integer in a power of two that is equal to or less than the video card limit typically 1024 or 2048 The smaller the size the faster the texture renders Increasing the size improves image quality but decreases performance Note Specifying a value that is unsuitable causes a warning The Simulink 3D Animation software then adjusts the property to the next smaller suitable value Data Types int32 NavMode Navigation mode fly default examine walk none Navigation mode specified as fly examine walk or none See Mouse Navigation on page 7 23 NavPanel Navigation panel appearance none default halfbar bar opaque translucent Navigation panel appearance specified as none halfbar bar opaque or translucent vr canvas class Navspeed Navigation speed normal default slow veryslow fast veryfast Navigation speed specified as normal slow veryslow fast or veryfast NavZones Display navigation zones off default on Navigation zones display specified as on or off Position Canvas location and size vector with four doubles Lo
187. ealm Builder documentation from the Web If you are reading this page on the Web then you need to open the MATLAB Help browser and navigate to the V Realm Builder documentation To access V Realm Builder help from the MATLAB Help browser click V Realm Builder help You can view the V Realm Builder help even if you have not installed V Realm Builder 2 6 Set the Default Editor Set the Default Editor In this section Use Preferences to Set the Default Editor on page 2 7 Use MATLAB Commands to Set the Default Editor on page 2 8 The default virtual world editor is the 3D World Editor on page 6 2 You can change your environment to use another editor You can use the MATLAB Preferences menu or the MATLAB command line Use Preferences to Set the Default Editor To determine which virtual world editor is set up as the editor in your environment 1 From the MATLAB Toolstrip in the Home tab in the Environment section select Preferences gt Simulink 3D Animation 2 In the Simulink 3D Animation Preferences dialog box examine the 3D World Editor preference 2 7 2 Installation A Preferences PS Ta rss Souen Colors Simulink 3D Animation Preferences Command History r Command Window Default Viewer internal X Comparison Default Editor Built in 3D World Editor v Current Folder Editor Debugger Figure Copy Template VRML X3D data types representation in MATLAB Fas Boo
188. eate a 2 D AVI format file from a Simulink model execution set recording parameters You can start the simulation before setting up the recording 1 In the MATLAB Command Window type the model name For example vrplanets The Simulink model is displayed Also by default the Simulink 3D Animation viewer for that model is loaded and becomes active If the viewer is not displayed double click the VR Sink block in the Simulink model 7 41 7 Viewing Virtual Worlds 7 42 From the Recording menu choose Capture and Recording Parameters The Capture and Recording Parameters dialog box is displayed Find the Recording section of the dialog box This is located under the Frame Capture dialog box Select the Record to AVI file check box The File text field and Compression selection area become active and the default file name f_anim_ n avi appears in the text field IV RecordtoAVl File P_anim_ n avi To save files to other file names see File Name Tokens on page 4 14 Set the FPS Frames Per Second to an appropriate value Set FPS to auto if you want to use the sample time of the associated VR Sink block to make the file playback correspond to the model simulation time For example to record a Simulink simulation with 25 frames per second of the simulation time in the VR Sink block set Sample time to be 0 04 In that situation if you want to create an AVI file where 1 second of simulation time corr
189. ecified as a string The string can contain tokens that the frame capture replaces with the corresponding information See Define File Name Tokens on page 4 12 DeleteFcn Callback invoked when closing vrf igure object string Callback invoked when closing the vr figure object specified as a string 10 49 10 Functions Alphabetical List 10 50 Fullscreen Fullscreen display of figure off default on Fullscreen display of figure specified as on or off Headlight Headlight from camera on default off Headlight from camera specified as on or off If you specify off the camera does not emit light and the scene can appear dark Lighting Lighting effect on default off Lighting effect specified as on or off If you specify off the camera does not emit light and the scene can appear dark MaxTextureSize Maximum pixel size of textures auto default integer in a power of 2 Maximum pixel size of textures specified as auto or integer in a power of 2 The value of auto sets the maximum texture pixel size Otherwise specify an integer in a power of two that is equal to or less than the video card limit typically 1024 or 2048 The smaller the size the faster the texture renders Increasing the size improves image quality but decreases performance Note Specifying a value that is unsuitable causes a warning The Simulink 3D
190. egers singles and doubles The MATLAB and Simulink interfaces also accept matrices For further details see Virtual World Data Types on page 5 24 VR Sink Block Parameters Dialog Box 9 Parameters VR Sink VR Sink Writes Simulink values to virtual world node fields Fields to be written are marked by checkboxes in the tree view Every marked field corresponds to an input port of the block Virtual World Properties Source file Output Open Viewer automatically Allow viewing from the Internet Description Block Properties Sample time 1 for inherit 01 E Show video output port Video output signal dimensions Virtual World Tree V Show node types V Show field types gt No world loaded xX No world filename specified Okaa menca Help Source file File name specifying the virtual world that connects to this block By default the full path to the associated virtual world 3D file appears in this text box If you enter only the file name in this box the software assumes that the virtual world 3D file resides in the same folder as the model file You can specify a VRML file or an X8D file Click the New to open an empty default virtual world editor When you either enter a source file name or use the Browse button the New button becomes an Edit button Click the Edit button to launch the default virtual world editor with the source file open Click the Vi
191. emory Thevrclear force command removes all virtual worlds from memory including worlds opened from the Simulink interface See Also vrworld vrworld delete vrclose vrclose Close virtual reality figure windows Syntax vrclose vrclose all Description vrclose and vrclose all close all the open virtual reality figures Examples Open a series of virtual reality figure windows by typing vrpend vrbounce vrlights Arrange the viewer windows so they are all visible Type vrclose All the virtual reality figure windows disappear from the screen See Also vrfigure close 10 27 10 Functions Alphabetical List 10 28 vrdir2ori Convert viewpoint direction to orientation Syntax vrdir2ori d vrdir2ori d options Description vrdir2ori d converts the viewpoint direction specified by a vector of three elements to an appropriate orientation virtual world rotation vector vrdir2ori d options converts the viewpoint direction with the default algorithm parameters replaced by values defined in options The options structure contains the parameter epsilon that represents the value below which a number will be treated as zero default value is le 12 See Also vrori2dir vrrotmat2vec vrrotvec vrrotvec2mat vrd rawnow vrdrawnow Update virtual world Syntax vrdrawnow Description vrdrawnow removes from the queue pending changes to the virtual world and makes the
192. ent port number on your system enter that number in place of 8123 and restart MATLAB For more information on the Simulink 3D Animation HTML page see View Virtual World on Host Computer on page 3 13 Open a Virtual World with MATLAB 3 Ifthe Web browser has the VRML or X3D plug in installed in the browser window click My first virtual world 4 Your default HTML5 enabled web browser displays the virtual world vrmount wrl Note If your Web browser is not HTML5 enabled clicking on a virtual world link such as My first virtual world results in a broken link message The browser cannot display the virtual world For more information on changing your default viewer see Set the Default Viewer on page 2 2 4 5 MATLAB Interface Interact with a Virtual World with MATLAB 4 6 In the life cycle of a vrworld object you can set new values for all the available virtual world nodes and their fields using vrnode object methods This way you can change and control the degrees of freedom for the virtual world from within the MATLAB environment An object of type vrworl1d contains nodes named in the virtual world 3D file using the DEF statement These nodes are of type vrnode For more information see vrworld and vrnode functions After you open a vrworld object you can get a list of available nodes in the virtual world This procedure uses the vrworld object myworld and the virtual world vrmount wrl as an example
193. ent transform defines the new viewpoint coordinates As a result the new viewpoint moves with the parent transform The new viewpoint also keeps the position relative to the transform offset you first defined by navigating somewhere in the space from the current viewpoint step 4 Note If the current viewpoint is at the top hierarchy level in the virtual world one of the children of the root the Placement field is grayed out In this case it is only meaningful to create the new viewpoint as a static one at the same top hierarchy level Select the Jump to new viewpoint immediately check box to make the new viewpoint become the current viewpoint for the viewer If you do not select this check box you still create a new viewpoint but you remain bound to the current viewpoint not to the new viewpoint Click OK From the File menu choose Save As to save the file with the new viewpoint If you do not save the file the new viewpoint will be lost during simulation From the Simulation menu choose Start Observe that the relative position between the new viewpoint and Earth remains the same The new viewpoint moves together with its parent object Earth transform Define and Reset Viewpoints BJ Planets o amp s File View Viewpoints Navigation Rendering Simulation Recording Help DCT L E TEC 7 33 7 Viewing Virtual Worlds Navigate Through Viewpoints 7 34 You can navigate through a virtual scene
194. entical velocities but they move in opposite directions As they reach the sphere S they start to deform it by reducing its x dimension and stretching both its y and z dimensions Here is how this virtual world looks 5 7 5 Build Virtual Reality Worlds 5 8 g9 vrtut3 File View Viewpoints Navigation Rendering Simulation Recording Help gt Fly ml EAZ Ag B A gt E Wile rf B P No Viewpoint r 25 30 Fiy Pos 10 00 0 00 10 00 Dir 0 00 0 00 1 00 The following table lists the positions and dimensions of the objects that you create for this example Object Center Position Dimensions B1 3 0 0 0 3 1 1 B2 3 0 0 0 3 1 1 S 0 0 0 r 0 9 The Simulink 3D Animation product includes the tutorial model vrtut3 This is a simplified model in which the deformation of an elastic sphere is simulated After collision with the rigid blocks the sphere s x dimension is decreased by a factor from Build and Connect a Virtual World 1 to 0 4 and the y and z dimensions are expanded so that the volume of the deformed sphere ellipsoid remains constant Additional blocks in the model supply the correctly sized vectors to the Simulink 3D Animation block The simulation stops when the sphere is deformed to 0 4 times its original size in the x direction Your first task is to open a Simulink model and add a Simulink 3D Animation block to your model Add a Simulink 3D Animation Block This
195. enu Simulation gt Block Properties in the viewer VR Sink inputs take signals of the type corresponding to their virtual world representation Position inputs are of type SFVec3f which is the position represented in X y Z coordinates Rotation inputs are of type SFRotation the four element vector defining rotation as axis angle using the coordinate system described in Coordinate System Used on page 5 44 where the angle value is in radians The user has to match the coordinate system used by the Simulink model to that of the virtual world If the two systems are not identical some kind of axes transformation is necessary While object positions are usually available in the form required by virtual world Cartesian coordinates rotations usually have to be converted from some other representation In many cases object rotations are defined using the rotation matrix representation For converting such rotations into the VRML format use the Rotation 5 35 5 Build Virtual Reality Worlds 5 36 Matrix to VRML Rotation block found in the Utilities sublibrary of the Simulink 3D Animation library The objects positions and rotations are treated differently depending on the virtual world hierarchy When all parts in a Simulink model are defined in global coordinates and the virtual world has a flat structure of independent objects use the following positions and rotations Object positions Send to VR Sink all po
196. enu selections 3D World Editor H Documents MATLAB vrtut3 junk wrl eco ft File Edit ViewPane Tree Nodes Help a DEGZEEL Add Nag AO ele gt CCinsert From gt N Component Library H P B1 Transform Inline VRML File Material Library S P B2 Transform Wrap By Texture Library ff center SFVec3 0 0 0 af rotation SFRotation 0 VSE Ciete A scale SFVec3f 1 1 1 ROUTE H scaleOrientation SFRotation 0 0 1 0 A translation SFVec3f 0 0 0 bboxCenter SFVec3f 0 0 0 f bboxSize SFVec3f 1 1 1 children MFNode Transform H center SFVec3 0 0 0 Hh rotation SFRotation 0 0 1 0 gt scale SFVec3f 1 1 1 scaleOrientation SFRotation 0 0 1 0 afp translation SFVec3f 3 0 0 hhn antar ICEUar2A N N A From the list of Component Library folders select the Shapes folder and then select the Sphere wrl1 file 4 Select the Transform node and name it S With the S Transform node fully expanded and the other Transform nodes collapsed the 3D World Editor looks like the following graphic Build and Connect a Virtual World 3D World Editor H Documents MATLAB vrtut3 junk wrl oc fe File Edit ViewPane Tree Nodes Help x DEGSHEua Se 5X OE0 aE HHE 0 E P B2 Transform l A Transform H center SFVec3f 0 0 0 amp rotation SFRotation 0 0 1 0 8 scale SFVec3f 1 1 1 scaleOrientation SFRo
197. er at one time Generally higher values for this preference make the animation run more smoothly but with longer reaction times More messages in the line create a buffer that compensates for the unbalanced delays of the network transfer The default value is 5 which is optimal for most purposes You should change this value only if the animation is significantly distorted or the reaction times are very slow On fast connections where delays are introduced more by the client rendering speed this value has very little effect Viewing on a host computer is equivalent to an extremely fast connection On slow connections the correct value can improve the rendering speed significantly but of course the absolute maximum is determined by the maximum connection throughput VrPort Specifies the network port to use for communication between the Simulink 3D Animation server host computer and its clients client computers Normally this communication is completely invisible to the user However if you view a virtual world from a client computer you might need to configure the security network system firewall so that it allows connections on this port The default value of this preference is 8124 See Also vrsetpref vrifs2patch vrifs2patch Convert virtual world IndexedFaceSet nodes to MATLAB patches Syntax vrifs2patch ifs Description vrifs2patch ifs converts the ifs array of existing IndexedFaceSet nodes to MATL
198. er locations using the Insert From gt Other Location menu item 6 25 6 Using the 3D World Editor 6 26 The first Transform node of the file that you select from another location is inserted in place into the tree view of the virtual world that you are editing If you want to insert a whole virtual world 3D file into the virtual world that you are editing use the Nodes gt Inline VRML file menu option Before you add a custom library object from a location other than from the 3D World Editor object library see Guidelines for Using Custom Objects on page 6 26 Guidelines for Using Custom Objects If you use a VRML or X3D object from a source other than from the 3D World Editor object library the object must comply with the following guidelines A component object must be in a file that contains at least one Transform node A material object must be a file whose only content is a fully qualified Material node A texture object must be in either A png jpg or gif graphics file for use in the URL field of an ImageTexture node A file whose only content is a fully qualified ImageTexture node If you create VRML or X3D objects to use with the 3D World Editor create your own folder for storing the custom objects Avoid using the 3D World Editor library folder to ensure that you can Edit the custom library object in the library folder the 3D World Editor library folders are generally read only
199. eresting entry point default viewpoint Each virtual world has as many viewpoints as you define for it You can define viewpoints in the virtual world through your chosen editor or through the Simulink 3D Animation viewer Defined viewpoints can be static created usually at the top level of the virtual world object hierarchy or as children of static objects Transforms or dynamic created as children of moving objects objects driven from MATLAB Simulink or linked to them using the VRML and X3D ROUTE mechanism This allows you to create interesting effects like view at the driving range from the driver s seat etc You or visitors to a virtual world navigate through the virtual world environment using the Simulink 3D Animation viewer navigation methods Walk Examine Fly and None In addition to these navigation methods a virtual world creator can set up points of interest known as viewpoints in the virtual world You can use viewpoints to guide visitors through the virtual world and to emphasize important points When a visitor first enters a virtual world he or she is defaulted to the default viewpoint This is the first Viewpoint node in the virtual world file Define the virtual world default viewpoint carefully it should be the most interesting entry point to the virtual world Each virtual world has as many viewpoints as you define for it You can define viewpoints in the virtual world through your chosen editor or through the Sim
200. ering Manages scene rendering Help Displays the Help browser for Orbisnap Toolbar The Orbisnap toolbar has buttons for some of the more commonly used operations available from the menu bar These buttons include Drop down list that displays all the viewpoints in the virtual world Return to viewpoint button J Create viewpoint button aa Straighten up button Aa Drop down list that displays the navigation options Walk Examine and Fly Undo move button a EE Zoom in out buttons amp a Navigation Panel The Orbisnap navigation panel has navigation controls for some of the more commonly used navigation operations available from the menu bar The navigation panel controls include from left to right 8 Simulink 3D Animation Stand Alone Viewer 8 10 Hide panel Toggles the navigation panel Full screen mode Uses the whole screen for Orbisnap Next previous viewpoint Left and right arrows toggles through the list of viewpoints Return to default viewpoint Returns focus to original default viewpoint Slide left right Buttons to the left and right of the navigation wheel slide the view left or right Navigation wheel Moves view in one of eight directions Navigation method Manages scene navigation walk examine or fly Wireframe toggle Toggles scene wireframe rendering Headlight toggle Toggles camera headlight Help Invokes the Orbisnap online help Na
201. ersion of the layout of a virtual world when you exited it or reverts to the default layout The layout of the virtual world display pane includes settings for the view viewpoints navigation and rendering Valid values are off and on The default is on use saved layout HttpPort For remote access IP port number used to access the Simulink 3D Animation server over the Web via HTTP If you change this preference you must restart the MATLAB software before the change takes effect TransportBuffer For remote access length of the transport buffer network packet overlay for communication between the Simulink 3D Animation server and its clients 10 64 vrgetpref Preference Description TransportTimeout Amount of time the Simulink 3D Animation server waits for a reply from the client If there is no response from the client the Simulink 3D Animation server disconnects from the client VrPort For remote access IP port used for communication between the Simulink 3D Animation server and its clients If you change this preference you must restart the MATLAB software before the change takes effect The HttpPort VrPort and TransportBuffer preferences affect Web based remote viewing of virtual worlds DefaultFigurePosition and DefaultNavPanel affect the Simulink 3D Animation Viewer DefaultFigureNavPanel Controls the appearance of the navigation panel in the Simulink 3D Animat
202. esponds to 1 second of AVI file playback time set the FPS parameter to auto Simulink 3D Animation saves the value 25 into the AVI file FPS parameter Record Offline Animations Note For a virtual world not associated with a Simulink model or if the sample time of the associated VR Sink block cannot be determined at simulation start time an FPS setting of 15 is used even if you set FPS to auto From the Compression list select a compression method for the avi file Because avi files can become large you might want to compress the avi file RRS j5 Compression Autoselect 7 Quality 75 None Autoselect Record mode Manual x Stop time fo User Defined Choose from e Autoselect Allows the Simulink 3D Animation software to select the most appropriate compression codec This option allows you to specify a quality setting that is a number between 0 and 100 Higher quality numbers result in higher video quality and larger file sizes Lower quality numbers result in lower video quality and smaller file sizes Lossless Forces the Simulink 3D Animation software to compress the animation file without loss of data Typically the compression of files sacrifices some data User Defined Enables you to specify a particular compression codec This option allows you to specify a quality setting that is a number between 0 and 100 Higher quality numbers result in higher video qual
203. et node or a node that includes one or more IndexedFaceSet nodes 2 Select Optimize Child Geometries 3 Inthe Geometries Optimization Preview dialog box use the slider or enter a value in the Polygon reduction factor field to set the polygon reduction factor A value of 0 performs the maximum reduction and a value of 1 performs no reduction 4 Click OK Virtual World Navigation in 3D World Editor Virtual World Navigation in 3D World Editor In this section Specify Virtual World Rendering on page 6 21 Basic Navigation on page 6 21 Coordinate Axes Triad on page 6 21 View Panes on page 6 22 Pivot Point on page 6 24 Specify Virtual World Rendering You can control the rendering used in the virtual world display pane of the 3D World Editor Right click in the virtual world display pane and set rendering options such as antialiasing lighting and transparency Basic Navigation Use the virtual world display pane to visualize the virtual world as you create it To control navigation right click anywhere in the pane and select the appropriate navigation options You can control aspects such as methods for example fly or walk and speed To save these navigation settings in a virtual world file you must define the navigation properties in a NavigationInfo node To navigate in the virtual world left click in the pane The cursor changes to a white cross hair Moving the c
204. etical List 10 118 Example stereo3d_object LeftCameraFilter CAMERA_FILTER_RED Mode Stereoscopic vision mode read only Stereoscopic vision mode Read only e STEREO3D_OFF No stereoscopic vision e STEREO3D_ ACTIVE Active stereoscopic vision Stereoscopic vision uses quad buffered rendering You can use a graphics card driver to output stereoscopic vision This mode allows active stereoscopic vision via shutter glasses STEREO3D_ANAGLYPH Anaglyph stereoscopic vision Stereoscopic vision is enabled using red cyan anaglyph Use appropriate anaglyph 3D glasses to see the effect This property sets the Stereo3D property of a vr canvas or vrfigure object RightCameraFilter Color filter of right camera row vector of nine floating point numbers predefined filter Color filter of the right camera specified as a row vector of nine floating point numbers or using a predefined filter If you specify a row vector use floating point numbers from 0 through 1 The first three numbers represent the red value the second three numbers represent the blue value and the last three numbers represent the green value For example specifying 1 for the first three numbers and zeros for the other numbers produces a pure red filter The predefined filters are e CAMERA _FILTER_FULL e CAMERA _FILTER_RED e CAMERA_FILTER_CYAN e CAMERA _FILTER_GREEN e CAMERA_FILTER_MAGENTA e CAMERA _FILTER_YELLOW e CAMERA FILTER BLUE
205. ew a virtual world The default Simulink 3D Animation Viewer is used when the preference is set to internaL The Web browser is used when this preference is set to web Float single Specifies the handling of the virtual world float double data type for vrnode setfield and vrnode getfield If set to single the virtual world Default double Float and Color data types are returned as single If set to double the Float and Color data types are returned as double Int32 int32 double Specifies handling of the virtual world Int32 data type for vrnode setfield and vrnode Default double getfield If set to int32 the virtual world Int32 data type is returned as int32 If set to double the Int32 data type is returned as double HTTP Port Numeric IP port number used to access the Simulink 3D Default 8123 Animation server over the Web via HTTP If you change this preference you must restart the MATLAB software before the change takes effect Transport Buffer Numeric Length of the transport buffer network packet overlay for communication between the Simulink Default 5 3D Animation server and its clients Transport Numeric Amount of time in seconds that the Simulink 3D Timeout Animation server waits for a reply from the client Default 20 If there is no response from the client the Simulink 3D Animation server disconnects from the client 2 Installatio
206. ew button to view the world in the Simulink 3D Animation Viewer or a Web browser 9 21 9 Blocks Alphabetical List 9 22 Click the Reload button reloads the world after you change it Open Viewer automatically If you select this check box the default virtual world viewer displays the virtual world after loading the Simulink model Allow viewing from the Internet If you select this check box the virtual world is accessible for viewing on a client computer If you do not select this check box then the world is visible only on the host computer This parameter is equivalent to the RemoteView property of a vrwor1d object Description Description that is displayed in all virtual reality object listings in the title bar of the Simulink 3D Animation Viewer and in the list of virtual worlds on the Simulink 3D Animation HTML page This parameter is equivalent to the Description property of a vrwor1d object Sample time Enter the sample time or 1 for inherited sample time To achieve a smooth simulation MathWorks recommends that you explicitly set the Sample time parameter You can change the value of this parameter to achieve the specific visual experience that you want Show video output port Enables a port to output an RGB video stream for further 2D video processing Video output signal dimensions Dimensions vertical horizontal of the video output signal in pixels default is 200 320 Set
207. face you set the scene time as desired This is typically from the point of view of the simulated phenomenon equidistant times This is the most important difference from recording the animations for virtual 1 35 1 Getting Started 1 36 worlds that are associated with Simulink models where scene time corresponds directly to the Simulink time The scene time can represent any independent quantity along which you want to animate the computed solution This is a step by step example Shown are the following features Recording 2 D offline animations using the MATLAB interface Applying the color palette to visualize distributed parameters across an object shape Animating a scene Playing the created 2 D animation file using the system AVI player At the end of this example the resulting file vrheat_anim avi remains in the working folder for later use Rotating Membrane with MATLAB Graphical Interface Example vrmemb The vrmemb example shows how to use a 3 D graphic object generated from the MATLAB environment with the Simulink 3D Animation product The membrane was generated by the Logo function and saved in the VRML format using the standard vrm1 function You can save all Handle Graphics objects this way and use them with the Simulink 3D Animation software as components of associated virtual worlds After starting the example you see a control panel with two sliders and three check boxes Use the sliders to rota
208. g Simulation Recording Help View from top x Fly ar E A e E E 2 To view the virtual world through the Web browser from the MATLAB command prompt you can use view and vrview commands 3 Reset the Simulink 3D Animation Viewer as your default viewer by typing vrsetpref DefaultViewer factory Install V Realm Editor on Host Computer Install V Realm Editor on Host Computer V Realm Editor Installation Windows When you install the Simulink 3D Animation product files are copied to your hard drive for the Ligos V Realm Builder which is an optional virtual world editor available on Windows platforms However the installation is not complete Installing the virtual world editor writes a key to the Microsoft Windows registry making extra V Realm Builder library files available for you to use and it associates the Edit button in Simulink 3D Animation blocks with this editor 1 2 From your desktop right click the MATLAB icon and select Run as administrator In the MATLAB Command Window type vrinstall install or type vrinstall install The MATLAB Command Window displays the following messages Starting editor installation Done Type vrinstall If the editor installation was successful The MATLAB Command Window displays the following message Virtual World editor installed Exit MATLAB and restart MATLAB 2 5 2 Installation V Realm Builder Help Note You cannot access the V R
209. gnetic Levitation Model Interact with Generated Code Interact with Generated Code You can have a virtual world that you create the Simulink 3D Animation product interact with code generated by the Simulink Coder product and compiled with a third party C C compiler in the Simulink Desktop Real Time environment To do so use the Simulink External mode 3 27 MATLAB Interface Although using the Simulink 3D Animation software with the Simulink interface is the preferred way of working with the Simulink 3D Animation software you can also use the MATLAB interface Enter commands directly in the MATLAB Command Window or use scripts to control virtual worlds Create vrworld Object for a Virtual World on page 4 2 Open a Virtual World with MATLAB on page 4 4 Interact with a Virtual World with MATLAB on page 4 6 Close and Delete a vrworld Object on page 4 9 Animation Recording on page 4 10 Define File Name Tokens on page 4 12 File Name Tokens on page 4 14 Manual 3 D Recording with MATLAB on page 4 16 Manual 2 D AVI Recording with MATLAB on page 4 18 Scheduled 3 D Recording with MATLAB on page 4 21 Scheduled 2 D AVI Recording with MATLAB on page 4 24 Record Animations for Unconnected Virtual Worlds on page 4 27 Play Animation Files on page 4 30 MATLAB Interface Create vrworld Object for a Virtual World 4 2 To connect MATLAB to a virtua
210. hat you are editing Virtual world display pane Observe the virtual world as you create it Object property edit pane Change values for node items File Edit ViewPane Tree Nodes Help DESGSEE YU EEEE AAE N H E T H M e gt ROOT Q H Worldinfo NavigationInfo Viewpoint gt Bckg Background Shape appearance SFNode B Appearance textureTransform SFNode texture SFNode material SFNode Material ambientintensity SFFloat 1 a diffuseColor SFColor 0 0 08 8 emissiveColor SFColor 0 0 0 rs 8 shininess SFFloat 0 2 specularColor SFColor 0 0 0 transparency SFFloat 0 Eh geometry SFNode H e IndexedFaceSet E gt Ball Transform eteme n me o a specularColor SFColor Value Comment Apply Cancel 0 0 is ROOT Shape appearance SFNode Appearance material SFNode Material specularColor SFColor Use the tree structure pane interactively create graphical virtual world elements and to view of all the virtual world structure elements present in the virtual world These 6 Using the 3D World Editor 6 8 structure elements are called nodes The 3D World Editor lists the nodes and their properties according to their respective virtual world node types In the tree viewer you give the nodes unique names Use the virtual world display pane to display a graphical representati
211. he method close You can call the method open more than once but you must use an appropriate number of close calls before the virtual world returns to a closed state Examples Create two vrworld objects by typing myworld1 myworld2 vrworld vrmount wrl1 vrworld vrpend wrl1 Next create an array of virtual world handles by typing vrworld open myworlds myworld1 myworld2 open myworlds opens both of these virtual worlds See Also vrworld vrworld close 10 139 10 Functions Alphabetical List 10 140 vrworld reload Reload virtual world from virtual world 3D file Syntax reload vrworld_object Arguments vrworld_ object A vrworld object representing a virtual world Description The reload method reloads the virtual world from the virtual world 3D file associated with the vrwor1d object If the input argument is an array of virtual world handles all the virtual worlds associated with those handles are reloaded The virtual world must be open for you to use this method reload forces all the clients currently viewing the virtual world to reload it This is useful when there are changes to the virtual world 3D file See Also vrworld edit vrworld open vrworld save vrworld save vrworld save Write virtual world to virtual world 3D file Syntax save vrworld_object file save vrworld_object file export Arguments vrworld_ object vrwor 1d object representing a
212. he Simulink 3D Animation server ignores the VRML Script node but it passes the node to the VRML Viewer Passing the node allows you to run VRML scripts on the viewer side You cannot run them on the Simulink 3D Animation server In keeping with the VRML97 specification the Simulink 3D Animation Viewer ignores BMP files As a result VRML scene textures sometimes display improperly in the Simulink 3D Animation Viewer To display scene textures properly replace all BMP texture files in a VRML scene with PNG JPG or GIF equivalents For a complete list of VRML97 nodes refer to the VRML97 specification Virtual Reality Modeling Language VRML Coordinate System zZ Y x Y MATLAB graphics coordinate system VRML coordinate system 1 Getting Started 1 18 The VRML coordinate system is different from the MATLAB and Aerospace Blockset coordinate systems VRML uses the world coordinate system the y axis points upward and the z axis places objects nearer or farther from the front of the screen Understanding the coordinate system is important when you interact with different coordinate systems SimMechanics uses the same coordinate system as VRML Rotation angles In VRML rotation angles are defined using the right hand rule Imagine your right hand holding an axis while your thumb points in the direction of the axis toward its positive end Your four remaining fingers point in a counterclockwise direction This counterclockwi
213. he VRML Output on page 5 50 Level of Detail on page 5 50 VRML Export Filter Settings on page 5 50 Structure of VRML Models Exported from the CATIA Environment on page 5 51 Adjusting Resulting VRML files on page 5 54 This topic describes how to use CAD designs created in the CATIA product to create Simulink 3D Animation virtual reality scenes CATIA models are hierarchical trees comprised of products that contain parts To export CATIA parts or products to the VRML format in the CATIA dialog box select File gt Save as and select VRML in the Save as type list Note You cannot use the Simulink 3D Animation to import CATIA models to X8D files in Simulink 3D Animation When exporting products the CATIA software creates one compound VRML file that contains all the parts of the product Occasionally you might need to export each part of the assembly hierarchy into a separate VRML file You can do this in the CATIA environment as follows 1 Save each part individually to a separate virtual world 3D file 2 Create the main model virtual world 3D file manually with Inline references to the part files CATIA Coordinate Systems The CATIA software also exports background color and viewpoints The software exports individual parts without these properties 5 49 5 Build Virtual Reality Worlds 5 50 By default the CATIA software uses right handed Cartesian coordinate system identica
214. he changes appear after you reload the virtual world Use the save method in the MATLAB software to replace the modified virtual world 3D file Any changes you made in the editor are lost See Also vrworld reload vrworld save 10 131 10 Functions Alphabetical List Property vrworld get Property value of vrwor1d object Syntax get vrworld_ object x get vrworld_object x get vrworld_object property_name Arguments vrworld_ object A vrworld object representing a virtual world property_name Name of the property Description get vrworld object displays all the virtual world properties and their values x get vrworld object returns an M by 1 structure where the field names are the names of the virtual world properties Each field contains the associated property value M is equal to Length vrworld_ object x get vrworld object property _name returns the value of the specified property Ifvrworld_ object is a vector of vrworld handles the get method returns an M by 1 cell array of values where M is equal to length vrworld_ object Ifproperty_name is a 1 by N or N by 1 cell array of strings containing field names the get method returns an M by N cell array of values The following are properties of vrwor1d objects Names are not case sensitive Value Description Clients Scalar Number of clients currently viewing the virtual world Read only 10 132
215. he same way as the viewer Does not support rendering inlined objects For more information about the V Realm Editor see V Realm Builder Help on page 2 6 Build and Connect a Virtual World Build and Connect a Virtual World In this section Introduction on page 5 7 Define the Problem on page 5 7 Add a Simulink 3D Animation Block on page 5 9 Open a New Virtual World on page 5 10 Add Nodes on page 5 11 Link to a Simulink Model on page 5 20 Introduction The example in this section shows you how to create a simple virtual world using the 3D World Editor The example does not show everything that you can do with the editor but it does show you how to perform some basic tasks to get started This example assumes that you have set your default editor to be the 3D World Editor For details see Set the Default Viewer on page 2 2 This example describes the steps to build a slightly simplified version of the virtual world that you see if you enter the following command in the MATLAB command window edit vrworld vrdeform wrl1 Define the Problem Suppose you want to simulate and visualize in virtual reality the deformation of a sphere In your virtual world you want to have two boxes representing rigid plates B1 B2 and an elastic sphere S between them All three of the objects are center aligned along the x axis The boxes B1 and B2 move toward S with id
216. he viewpoint points to vrori2dir r options converts the viewpoint orientation with the default algorithm parameters replaced by values defined in options The options structure contains the parameter epsilon that represents the value below which a number will be treated as zero default value is le 12 See Also vrdir2ori vrrotmat2vec vrrotvec vrrotvec2mat 10 91 10 Functions Alphabetical List 10 92 vrpatch 2ifs Convert MATLAB patches to IndexedFaceSet nodes Syntax node vrpatch2ifs patches world node vrpatch2ifs patches shape node vrpatch2ifs patches parent vrpatch2ifs patches ifs Description node vrpatch2ifs patches world converts the patches array and saves the result into the vrnode array node Each resulting IndexedFaceSet node in node is wrapped by the created Shape node residing in a root level of the world virtual world node vrpatch2ifs patches shape converts the patches array and saves the result into the vrnode array node Each resulting IndexedFaceSet node in node is a child of the respective Shape node in the shape array If the Shape node already contains an IndexedFaceSet node that IndexedFaceSet is overwritten The number of patches must equal the number of Shape nodes Note This function converts only geometry and color data of the patch node vrpatch2ifs patches parent converts the patches array and saves the result into the vrnode array node Each resulti
217. iewer controls you can observe the action from various points When the width of the sphere is reduced to 0 4 of its original size the simulation stops running 5 22 Build and Connect a Virtual World T Dee 15 x File view Viewpoints Navigation Rendering Simulation Recording Help 7 A Fy Jola a o Bp INo viewpoint This example shows you how to create and use a very simple virtual reality model Using the same method you can create more complex models for solving the particular problems that you face 5 23 5 Build Virtual Reality Worlds Virtual World Data Types 5 24 In this section Section Overview on page 5 24 Field Data Types on page 5 24 Virtual World Data Class Types on page 5 26 Section Overview VRML and X8D virtual world data types are used by nodes to define objects and types of data that can appear in the node fields and events This section explains these field data types and data class types Field Data Types The Simulink 3D Animation product provides an interface between the MATLAB and Simulink environment and virtual reality scenes With this interface you can set and get the scene node field values To work with these values you must understand the relationship between virtual world data types and the corresponding MATLAB data types The following table illustrates the virtual world data types and how they are converted to and from MATLA
218. ified as a floating point number A zoom factor of 2 makes the scene look twice as large A zoom factor of 0 1 makes it look 10 times smaller and so forth Examples Set Property Values of Figure Set the camera direction navigation mode and stereoscopic vision properties of a virtual figure set Create a vr figure object myworld vrworld vrmount wrl open myworld virtual_fig vrfigure myworld Create a vr utils stereo3d object to use to specify stereoscopic vision properties myStereo3D vr utils stereo3d ANAGLYPH_RED_CYAN Set the properties for a figure set virtual_fig CameraDirection 0 1 0 NavMode fly Stereo3D myStereosD View the figure properties get virtual_fig get virtual_fig Antialiasing on CameraBound on CameraDirection 0 1 0 CameraDirectionAbs 0 0 980067 0 198669 CameraPosition 0 0 0 CameraPositionAbs 20 8 50 CameraUpVector 0 1 0 CameraUpVectorAbs 0 0 980067 0 198669 CaptureFileFormat tif CaptureFileName f_anim_ n tif DeleteFcn ExaminePivotPoint 0 0 0 Fullscreen off Headlight on Lighting on MaxTextureSize auto Name VR Car in the Mountains NavMode fly NavPanel halfbar NavSpeed normal NavZones off Position 5 92 576 380 Record2D off Record2DCompressMethod auto 10 55 10 Functions Alphabetical List 10 56 Record2DCompress
219. igation method that you select and the navigation zone that you are in when you first click and hold down the mouse button You can set the navigation method using one of the following From the menu bar select the Navigation menu Method option This option provides three choices Walk Examine or Fly See Mouse Navigation on page 7 23 From the toolbar select the drop down list that displays the navigation options Walk Examine and Fly lox File View Viewpoints Navigation Rendering Simulation Recording Help Ball Examine x P 32 d E From the navigation panel click the W E or F buttons On the keyboard press Shift W Shift E Shift F or Shift N Navigation zones You can view the navigation zones for a scene through the menu bar or keyboard 7 19 7 Viewing Virtual Worlds From the menu bar select the View menu Navigation Zones option The virtual scene changes as the navigation zones are toggled on and appear in the virtual scene Alternatively on the keyboard press the F7 key The vrbounce example with Method set to Fly has three navigation zones EEJ VR Bouncing Bal l Eaters File View Viewpoints Navigation Rendering Simulation Recording Help x Ball zy ga Mj Aa aa Maal M Navigation Panel The Simulink 3D Animation viewer navigation panel has navigation controls for some of the more commonly used navigation operations available from the menu bar Navigation wheel S
220. igured the recording parameters for an animation file 1 In the MATLAB Command Window type the model name For example vrplanets The Simulink model is displayed Also by default the Simulink 3D Animation viewer for that model is loaded and becomes active If the viewer is not displayed double click the VR Sink block in the Simulink model 2 From the Recording menu choose Capture and Recording Parameters The Capture and Recording Parameters dialog box is displayed In the Recording section this dialog box contains the Record mode list Note that the Record mode list is enabled only if you also select either or both of the Record to 3D and Record to AVI check boxes 3 From the Record mode list choose Scheduled The Start time and Stop time text fields are enabled 4 Enter in Start time and Stop time the start and stop times during which you want to record the animation For example enter 0 as the start time and 100 as the stop time Ensure that the recording start time value is not earlier than the start time of the Simulink model the recording operation cannot start in this instance If the stop time exceeds the stop time of the Simulink model or if it is an out of bounds value such as a negative number the recording operation stops when the simulation stops Record Offline Animations Note You can also set the stop time before the start time This allows for a scenario where the simulation starts first and you man
221. imation files be sure to also distribute all the inlined object and texture files referenced in the original virtual world 3D world file Animation Recording 2 D Audio Video Interleave AVI file The Simulink 3D Animation software writes animation data into an avi file The Simulink 3D Animation software uses vrfigure objects to record 2 D animation files The recorded 2 D animation reflects exactly what you see in the viewer window It includes any navigation movements you make during the recording Note While recording 2 D avi animation data always ensure that the Simulink 3D Animation Viewer is the topmost window and fully visible Graphics acceleration limitations might prevent the proper recording of 2 D animation otherwise Manual and Scheduled Animation Recording You can use MATLAB to either manually record an animation or schedule a preset time interval for recording For details see Manual 3 D Recording with MATLAB on page 4 16 Manual 2 D AVI Recording with MATLAB on page 4 18 Scheduled 3 D Recording with MATLAB on page 4 21 Scheduled 2 D AVI Recording with MATLAB on page 4 24 4 11 MATLAB Interface Define File Name Tokens 4 12 In this section Default File Name Format on page 4 12 Uses for File Name Tokens on page 4 12 Default File Name Format By default the Simulink 3D Animation Viewer records simulations or captures virtual scen
222. imulation 3 11 View Virtual World on Host Computer 3 13 View Virtual World Remotely 3 16 Add Sensors to Virtual Worlds 3 22 Modify Remote Virtual World via Sensor Events 3 23 Read Sensor Values 2 0 000s 3 24 Reading Sensor Values Example 045 3 24 VR Source Block Input to Simulink Models 3 26 Interact with Generated Code 3 27 MATLAB Interface 4 Create vrworld Object for a Virtual World 4 2 Open a Virtual World with MATLAB 4 4 Interact with a Virtual World with MATLAB 4 6 Close and Delete a vrworld Object 4 9 Animation Recording 0 00 e eee eens 4 10 Recording Formats 0 0 sen ek eee nee 4 10 Manual and Scheduled Animation Recording 4 11 Define File Name Tokens 0000055 4 12 Default File Name Format 0000005 4 12 vii viii Contents Uses for File Name Tokens 0 0000000 cee 4 12 File Name Tokens 0 eee eee 4 14 Manual 3 D Recording with MATLAB 4 16 Manual 2 D AVI Recording with MATLAB 4 18 Scheduled 3 D Recording with MATLAB 4 21 Scheduled 2 D AVI Recording with MATLAB 4 24 Record Animations for Unconnected Virtual Worlds 4 27 Play
223. imulink signals to the virtual world The software automatically scans a virtual world for available VRML nodes that the Simulink software can drive All the VRML node properties are listed in a hierarchical tree style viewer You select the degrees of freedom to control from within the Simulink interface After you close a Block Parameters dialog box the Simulink software updates the block with the inputs and outputs corresponding to selected nodes in the virtual world After connecting these inputs to appropriate Simulink signals you can view the simulation with a VRML viewer The Simulink product provides communication for control and manipulation of virtual reality objects using Simulink 3D Animation blocks For details see Virtual World Connection to a Model on page 3 2 SimMechanics You can use the Simulink 3D Animation product to view the behavior of a model created with the SimMechanics software First you build a model of a machine in the Simulink interface using SimMechanics blocks Then create a detailed picture of your machine in a virtual world connect this world to the SimMechanics body sensor outputs and view the behavior of the bodies in a VRML viewer For details see Link to CAD Virtual Worlds on page 5 34 1 Getting Started MATLAB Simulink 3D Animation software provides a flexible MATLAB interface to virtual reality worlds After creating MATLAB objects and associating them with a virtual world yo
224. in the Environment section select Preferences In the Preferences dialog box left pane select Simulink 3D Animation The Simulink 3D Animation Preferences dialog box opens in the right pane 2 11 2 Installation vuurt Alidlyzer Simulink 3D Animation Preferences Default VRML viewer internal VRML Editor Built in 3D World Editor a VRML data types representation in MATLAB Bool logical Int32 double Float double Communication HTTP Port Bioinformatics Tools VR Port Computer Vision System Toolbo Database Toolbox DSP System Toolbox Transport Timeout image Acquisition mage Processing instrument Control System Objects Simulink Transport Buffer Simscape nk sVDA 3D World Editor 3 Set the preferences that you want See the following table for the preferences that you can change Click OK to save the settings Bool logical char Specifies the handling of the virtual world Bool data type for vrnode setfield and vrnode 2 12 Set Simulink 3D Animation Preferences Preference Value Description Default logical getfield If set to logical the virtual world Bool data type is returned as a logical value If set to char the Bool data type is returned on or off Default Viewer internal web Default internal Specifies which viewer is used to vi
225. in the Simulink 3D Animation Viewer or a Web browser Click the Reload button reloads the world after you change it Open Viewer automatically If you select this check box the default virtual world viewer displays the virtual world after loading the Simulink model Allow viewing from the Internet If you select this check box the virtual world is accessible for viewing on a client computer If you do not select this check box the world is visible only on the host computer This parameter is equivalent to the RemoteView property of a vrwor1d object Description Description that is displayed in all virtual reality object listings in the title bar of the Simulink 3D Animation Viewer and in the list of virtual worlds on the Simulink 3D Animation HTML page This parameter is equivalent to the Description property of a vrwor1d object Sample time Enter the sample time or 1 for inherited sample time Note To achieve a smooth simulation MathWorks recommends that you explicitly set the Sample time parameter You can change the value of this parameter to achieve the specific visual experience you want Allow variable size output signals Specify the type of signals allowed out of this port By default the VR Source block does not allow variable size signals If you enable this parameter then the VR Source block allows variable size signals for fields that can change dimensions during simulation These fields includ
226. ion Relationship of VRML and X8D on page 1 14 VRML on page 1 14 VRML Support on page 1 14 VRML Compatibility on page 1 16 VRML Coordinate System on page 1 17 VRML File Format on page 1 18 Relationship of VRML and X3D The X3D Xtensible 3D interface is the successor to the VRML Virtual Reality Modeling Language interface The X3D interface supports VRML features X3D also provides several extensions to VRML For details see X3D Support on page 1 11 VRML You can use the Virtual Reality Modeling Language VRML to display three dimensional objects in a VRML viewer Simulink 3D Animation supports VRML97 VRML provides an open and flexible platform for creating interactive three dimensional scenes virtual worlds Several VRML97 enabled browsers are available on several platforms Also you can choose from several VRML authoring tools In addition graphical software packages CAD visual art and so on offer VRML97 import export features The Simulink 3D Animation product uses VRML97 technology for 3 D visualization VRML Support The Virtual Reality Modeling Language VRML is an ISO standard that is open text based and uses a WWW oriented format You use VRML to define a virtual world that you can display with a virtual world viewer and connect to a Simulink model Virtual Reality Modeling Language The Simulink 3D Animation software uses many of the advan
227. ion 7 54 Listen to Sound in a Virtual World Listen to Sound in a Virtual World In this section System Requirements for Sound on page 7 55 Listen to Sound on page 7 55 If a virtual world contains a Sound node and your computer supports sound then you can listen to the sound using these Simulink 3D Animation components Simulink 3D Animation Viewer 3D Animation Player vr canvas on a figure window System Requirements for Sound To listen to virtual world sound use a computer setup that supports sound including having a sound card speakers and operating system support such as ALSA Advanced Linux Sound Architecture on Linux platforms For an AudioC1lip node use a mono or stereo WAV file in uncompressed PCM format Note A stereo sound source retains its channel separation during playback Simulink 3D Animation attenuates the sound based on the distance of the viewer from the sound location The stereo channels are not affected by the relative position of the viewer to the sound location and the viewer direction in the virtual world even if the Sound node has the spatialize field set to true Listen to Sound Simulink 3D Animation enables sound by default To change the default behavior so that sound is disabled set the Simulink 3D Animation Figure gt Rendering gt Sound preference to off In the Simulink 3D Animation Viewer or 3D Animation Player to disable sound
228. ion on page 7 57 10 34 vrfigure class See Also vr utils stereosd vr canvas Introduced before R2006a 10 35 10 Functions Alphabetical List 10 36 capture Class vrfigure Capture virtual reality figure image Syntax image capture capture figure Description image capture capture figure captures a virtual reality figure into a TrueColor RGB image You can display this image using the image command You can then print the figure Input Arguments figure Virtual reality figure vrfigure object Virtual reality figure specified as a vrf igure object Output Arguments image_capture Virtual reality figure image array Virtual reality figure image captured as an array The array is an m by n by 3 data array that defines red green and blue color components for each individual pixel Examples Capture an RGB Image of a Figure Create and open a vrwor1d object and associate it with the virtual world vrmount wr1 capture myworld vrworld vrmount wrl open myworld View the virtual world in the Simulink 3D Animation Viewer f vrfigure myworld Create an RGB image of the figure image_capture capture f Display the RGB figure image in a MATLAB figure window image image_capture MATLAB Interaction Create vrworld Object for a Virtual World on page 4 2 See Also vrfigure vrworld vrfigure isvalid vrnode isvalid image Intro
229. ion Viewer For example setting this value to translucent causes the navigation panel to appear translucent DefaultViewer Determines whether the virtual scene appears in the default Simulink 3D Animation Viewer or in your Web browser DefaultViewer Setting Description internal Default Simulink 3D Animation Viewer web Viewer is your Web browser Editor Contains a path to the virtual world editor executable file When you use the edit command Simulink 3D Animation runs the virtual world editor executable with all parameters required to edit the virtual world file When you run the editor Simulink 3D Animation uses the Editor preference value as if you typed it into a command line The following tokens are interpreted matlabroot Refers to the MATLAB root folder file Refers to the virtual world file name For instance a possible value for the Editor preference is matlabroot bin win32 meditor exe file 10 65 10 Functions Alphabetical List 10 66 If this preference is empty the MATLAB editor is used HttpPort Specifies the network port to be used for Web access The port is given in the Web URL as follows http server name port_number The default value of this preference is 8123 TransportBuf fer Defines the size of the message window for client server communication This value determines how many messages at a maximum can travel between the client and the serv
230. ist 10 98 vrplay Play VRML animation file Syntax vrplay vrplay filename x vrplay filename Description vrplay opens the 3D Animation Player which you use to open and play virtual world animation files vrplay filename opens the 3D Animation Player and loads the virtual world filename x vrplay filename also returns a 3D Animation Player figure handle vrplay works only with VRML animation files created using the Simulink 3D Animation virtual world recording functionality vrplay stop i play step forward fast forward step reverse rewind start A CO we Ka om PD DD Ot 0 Start time 0 Current time Stop time Stopped time indicator When you create additional vrplay windows using the File gt New Window command the window respects the current setting of the DefaultViewer property By default the File gt New Window command creates the new player window implemented as a MATLAB figure Simulink 3D Animation Player App You can open the Simulink 3D Animation Player from the MATLAB Apps tab In the tab scroll to the Simulation Graphics and Reporting section and click 3D Animation Player Keyboard Support The playback controls can also be accessed from the keyboard Key Function F Page Down Fast forward 10 99 10 Functions Alphabetical List Key Function J Jump to time L Loop
231. ites Tools Help Address amp http 127 0 0 1 8123 worlds 3 index html F Applet com mathworks toolbox vr client AppvR notir From the main HTML page you can select one of the listed available worlds or click the reload link to update the status of the virtual worlds supported by the software This page does not require the VRML or X8D capabilities from the browser it is a standard HTML page Nevertheless when you click one of the virtual world links in the list the browser has to be HTML5 enabled to display the virtual world correctly and to communicate with the Simulink 3D Animation product 3 15 3 Simulink Interface View Virtual World Remotely 3 16 The Simulink 3D Animation software allows you to simulate a process on a host computer while running the visualization of the process on a client computer You view the virtual world on the client computer using a Web browser This client computer is connected to the host computer through a network using the TCP IP protocol This means you need to know the name or IP address of the host computer you want to access from the client computer Viewing a virtual world on a client computer might be useful for remote computing presentation of the results over the Web or in situations where it is desirable to distribute computing and graphical power This example explains how to display a simulated virtual world on a client computer In this case the
232. ither a TIF or PNG format file You can later view this scene offline in other words without the Simulink 3D Animation viewer You can treat this frame capture file like any other TIF or PNG file such as print it include it in other files and so forth After you complete the steps in Configure Frame Capture Parameters on page 7 47 you can capture frames of a virtual scene You can capture frames of the virtual world from the Simulink 3D Animation viewer through the menu bar toolbar or keyboard This section assumes that you have specified frame capture file formats These actions save the captures in files in the current folder From the menu bar choose Recording gt Capture Frame to capture a frame From the toolbar click the Capture a frame screenshot button to capture a frame From the keyboard press Ctrl I to capture a frame You can view the frame capture files using any tool that reads tif or png files including the MATLAB imread function For example image imread vrplanets_anim_1 tif Simulink 3D Animation Web Viewer Simulink 3D Animation Web Viewer Use the Simulink 3D Animation Web Viewer to access virtual worlds with an HTML5 enabled Web browser You can open a virtual world in Simulink 3D Animation on a host computer and then view it remotely in a Web browser on another computer You do not need to install Simulink 3D Animation on the remote computer The Web Viewer supplements the Simulin
233. itor only Note that this action does not remove the files for the editor from the installation folder It removes the editor registry information Examples Install the virtual world editor This command associates V Realm Builder with the Edit button in the Block Parameters dialog boxes vrinstall install 10 72 vrjoystick vrjoystick Create joystick object Syntax joy vrjoystick id joy vrjoystick id forcefeedback Description joy vrjoystick id creates a joystick object capable of interfacing with a joystick device The id parameter is a one based joystick ID joy vrjoystick id forcefeedback enables force feedback if the joystick supports this capability Methods Method Description axis a axis joy Nn reads the status of joystick with axis number n Axis status is returned in the range of 1 to 1 The n parameter may be a vector to return multiple buttons button b button joy n reads the status of joystick button number n Button status is returned as logical 0 if not pressed and logical 1 if pressed The n parameter may be a vector to return multiple buttons caps c cCaps joy returns joystick capabilities such as the number of axes buttons POVs and force feedback axes The return value is a structure with fields named Axes Buttons POVs and Forces 10 73 10 Functions Alphabetical List 10 74 Method Description
234. ity and larger file sizes Lower quality numbers result in lower video quality and smaller file sizes You need to specify an identification string of a codec that your system supports None Prevents any compression for the animation file Disable the navigation panel The navigation panel appears at the bottom of the virtual scene view You might want to turn off this panel for a cleaner view of the virtual scene Choose View gt Navigation Panel gt None You can re enable the Navigation Panel for example choose View gt Navigation Panel gt Halfbar after you are finished recording the avi file 7 43 7 Viewing Virtual Worlds 7 44 8 Click OK After you define an animation file you can record animations See Start and Stop Animation Recording on page 7 40 If you want to record animations on a schedule see Schedule Files for Recording on page 7 44 Schedule Files for Recording This topic describes how to schedule the recording of an animation using the MATLAB interface for a virtual world that is associated with a Simulink model In this case the timing in an animation file derives from the simulation time One second of the recorded animation time corresponds to one second of Simulink time To schedule the recording of an animation file you preset the simulation time interval during which the animation recording occurs This procedure uses the vrplanets example It assumes that you have already conf
235. jects Valid values are auto lossless and codec_code DefaultFigureRecord2D CompressQuality Specifies the default quality of 2 D animation file compression for new vr figure objects Valid values are 0 100 DefaultFigureRecord2D FileName Specifies the default 2 D offline animation file name for new vrf igure objects DefaultFigureRecord2DFPS Specifies the default frames per second playback speed To have the 2D AVI animation play back at approximately the same playback speed as the 3D virtual world animation set this preference to auto vrgetpref Preference Description DefaultFigureStatusBar Specifies whether the status bar appears by default at the bottom of the Simulink 3D Animation Viewer for new vrf igure objects Valid values are off and on DefaultFigureTextures Specifies whether textures should be rendered by default for new vrfigure objects This preference also applies to new vr canvas objects See vrfigure get for detailed description Default is on DefaultFigureToolBar Specifies whether the toolbar appears by default on the Simulink 3D Animation Viewer for new vrfigure objects Valid values are off and on DefaultFigure Specifies whether or not transparency Transparency information is taken into account when rendering for new vrfigure objects This preference also applies to new vr canvas objects Valid values are off and on
236. k 3D Animation Viewer It also supplements the Orbisnap viewer which comes with Simulink 3D Animation Some benefits of the Web Viewer include Multiplatform remote viewing of Simulink 3D Animation virtual worlds Support for HTML5 enabled browsers on Microsoft Windows Macintosh and Linux platforms No additional software installation required on client computers Access to HTML5 browser features for creating customized pages with virtual reality visualization Note Because the Web Viewer accesses an HTML version of the virtual world you cannot use it to modify the virtual world for example to create new viewpoints For more information see Open the Web Viewer on page 7 50 e Navigate Using the Web Viewer on page 7 52 7 49 7 Viewing Virtual Worlds Open the Web Viewer In this section 7 50 Set Up for Remote Viewing on page 7 50 Connect the Web Viewer on page 7 50 Set Up for Remote Viewing To enable a user on a remote computer to use a Web browser to view a virtual world that is connected to a Simulink model 1 2 In the Simulink 3D Animation Viewer select Simulation gt Block parameters gt Allow viewing from the Internet If the Simulink 3D Animation Viewer is the default viewer you can open that viewer from the Simulink Editor by double clicking the VR Sink block Enable the Allow viewing from the Internet parameter Alternatively to enable
237. l of f 5 92 576 380 of f auto 75 auto f_anim_ n avi on on off 0 1000 0 on on on on none View 1 of f 1x1 vrworld 1 Observer myworld vrworld vrmount wrl virtual_fig vrfigure myworld Return the properties of the virtual figure virtual_fig figure_name figure_name 10 44 get virtual_fig Name VR Car in the Mountains MATLAB Interaction Create vrworld Object for a Virtual World on page 4 2 View a Virtual World in Stereoscopic Vision on page 7 57 See Also vrfigure vr utils stereo3d Introduced before R2006a 10 45 10 Functions Alphabetical List 10 46 isvalid Class vrfigure Check validity of vrf igure object handles Syntax valid handles isvalid vrfigure_ vector Description valid_handles isvalid vrfigure_vector detects whether the vrfigure handles are valid Input Arguments figure_vector Virtual reality figure vector array of vr figure object handles Virtual reality figure vector specified as a vrf igure object Output Arguments valid_handles Valid vrfigure object handles logical array Virtual reality figure image captured as a logical array The array that contains a 1 where the vrfigure handles are valid and returns a O where they are not isvalid Examples Check Validity of Figure Handles Check whether the figure h
238. l logical General GUIDE Int32 double x Help Float double M Keyboard Toolbars Communication Variables HTTP Port 8123 Web Workspace Simulink Transport Buffer 5 Computer Vision System Toolbox DSP System Toolbox Image Acquisition Toolbox m VR Port 8124 Transport Timeout 20 Image Processing Toolbox Parallel Computing Toolbox Simscape Simulink 3D Animation 3D World Editor Canvas Figure World E m gt ox caca apy Hele You can use the 8D Word Editor preference to select another editor the V Realm Builder the MATLAB editor or a third party virtual world editor or text editor To use a third party editor select the Custom option In the text box that appears enter the path to the editor Use MATLAB Commands to Set the Default Editor 1 To determine which editor is installed at the MATLAB command prompt type vrgetpref Editor Set the Default Editor 2 The default is the 3D World Editor BUILTIN To change the editor use the vrsetpref command specifying the editor that you want For example to change to the V Realm editor type vrsetpref Editor VREALM Tip The vredit command opens the 3D World Editor regardless of the default editor preference setting 2 9 2 Installation Set Simulink 3D Animation Preferences 2 10 In this section Ways to Access Simulink 3D Animation Preferences on page 2 10 Ac
239. l to the MATLAB coordinate system VRML Coordinate System on page 1 17 Account for the coordinate system when you export objects from the CATIA environment into virtual worlds and or manipulate them using the Simulink 3D Animation software You can also define a different coordinate system To do this create an axis system within the current geometrical set Doing so sets this new system as a reference system that you can use to export the VRML virtual world Consider creating such an axis system so that it corresponds to the virtual world coordinate system This makes all the coordinates and orientations of objects compatible with other objects you combine into virtual worlds Settings that Affect the VRML Output In the CATIA environment the properties that affect the VRML output are available in two options dialog boxes Display Performances dialog box VRML Compatibility dialog box Level of Detail The level of detail of the exported VRML file accuracy of the tessellation mesh of objects corresponds to the setting of CATIA general visualization mesh In the CATIA menu select Tools gt Options gt General gt Display gt Performances In the resulting dialog select the 3D Accuracy options to control the visualization mesh detail You can achieve best results by using the proportional method of tessellation arcs are substituted by line segments based on their relative not absolute accuracy This method works for model
240. l world and to interact with that virtual world through the MATLAB command line interface you need to create vrworld and vrnode objects A virtual world is defined by a virtual world 3D file Note The Simulink interface and the MATLAB interface share the same virtual world objects This enables you to use the MATLAB interface to change the properties of vrworld objects originally created by Simulink with Simulink 3D Animation blocks After you create a virtual world you can create a vrworl1d object This procedure uses the virtual world vrmount wrl as an example Create vrworld Object for a Virtual World 1 Open MATLAB In the MATLAB Command Window type myworld vrworld vrmount wrl1 The MATLAB Command Window displays output like myworld vrworld object 1 by 1 VR Car in the Mountains matlabroot toolbox s13d vrdemos vrmount wrl 2 Type vrwhos The MATLAB Command Window displays the messages Closed associated with C matlabroot toolbox sl3d sl3ddemos vrmount wrl Visible for local viewers No clients are logged on The vrworld object myworld is associated with the virtual world vrmount wrl You can think of the variable myworld as a handle to the vrwor1d object stored in the MATLAB workspace Your next step is to open a virtual world using the vrworld object See Open a Virtual World with MATLAB on page 4 4 4 3 MATLAB Interface Open a Virtual World with MATLAB 4 4 Opening a virtual w
241. lds The Simulink 3D Animation product includes tools that you can use to edit and create virtual worlds A basic understanding of these tools and how to use them will help you to get started quickly Virtual World Editors on page 5 2 Build and Connect a Virtual World on page 5 7 Virtual World Data Types on page 5 24 Simulink 3D Animation Textures on page 5 29 Add Sound to a Virtual World on page 5 30 Using CAD Models with the Simulink 3D Animation Product on page 5 31 Import STL and Physical Modeling XML Files Directly into a Virtual World on page 5 40 Import VRML Models from CAD Tools on page 5 42 Import VRML Models from CATIA Software on page 5 49 5 Build Virtual Reality Worlds Virtual World Editors Editors for Virtual Worlds There is more than one way to create a virtual world defined with VRML or X3D code For example you can use a text editor to write code directly or you can use a virtual world editor to create a virtual world without knowing anything about the VRML or X8D language However you must understand the structure of a virtual scene to connect your virtual world to Simulink blocks and signals For a description of the tools to view virtual worlds see View Dynamic System Simulations As you create a virtual world you can use different editors for different phases of the process Choose the editor that best meets your needs
242. lide right Wireframe Headlight Full screen Slide mode left Minimize panel Help Previous Next Walk Examine Fly Default viewpoint 7 20 Navigate Using the Simulink 3D Animation Viewer If you have multiple viewers open the navigation panel in the active viewer is blue Minimize the Navigation Panel You can minimize the navigation panel using one of these approaches Click the red x control on the left side of the navigation panel Select View gt Navigation Panel gt Minimized The minimized navigation panel appears as an icon in the lower right corner of the viewer File View Viewpoints Navigation Rendering Simulation Recording Help x Mount St Barbara gt Fly jar RS q da E a gt H Mount St Barbara N Fly Pos 84 00 5 00 69 00 Dir 0 93 0 00 0 36 To display the navigation panel again click the Show Panel left arrow on the minimized navigation panel icon To minimize the navigation panel by default from the MATLAB Toolstrip set the Preferences gt Simulink 3D Animation gt Canvas gt Navigation panel preference to minimized The minimized navigation panel is blue for the active viewer and gray for the inactive viewers 7 21 7 Viewing Virtual Worlds 7 22 Viewer Keyboard Shortcuts Navigation Function Keyboard Shortcut Use full screen mode Ctrl f Undo move Backspace Start or stop recording Ctrl r Captur
243. llation on both your host computer and client computer Set the Default Viewer on page 2 2 Install V Realm Editor on Host Computer on page 2 5 V Realm Builder Help on page 2 6 Set the Default Editor on page 2 7 Set Simulink 3D Animation Preferences on page 2 10 Uninstall V Realm Builder on page 2 25 Test the Viewer Installation on page 2 26 2 Installation Set the Default Viewer If you have an HTML5 enabled web browser it is possible to view virtual worlds with either the Simulink 3D Animation Viewer or your web browser You determine the viewer used to display your scene using the vrsetpref and vrgetpref commands Alternatively if you want to use the MATLAB File menu Preferences dialog box see Set Simulink 3D Animation Preferences on page 2 10 2 2 The following procedure describes how to set the viewer to the Simulink 3D Animation Viewer or the Web browser It assumes that you are working with a PC platform 1 Determine your default viewer by typing vrgetpref The MATLAB Command Window displays ans DataTypeBool DataTypeInt32 DataTypeFloat DefaultCanvasNavPanel DefaultCanvasUnits DefaultEditorPosition DefaultEditorTriad DefaultFigureAntialiasing DefaultFigureCaptureFileFormat DefaultFigureCaptureFileName DefaultFigureDeleteFcn DefaultFigureLighting DefaultFigureMaxTextureSize DefaultFigureNavPanel DefaultFigureNavZones DefaultFigurePosi
244. llowing table lists the Simulink examples provided with the Simulink 3D Animation product Descriptions of the examples follow the table Example Simulink Coder VR Sink VR Source Joystick Space Ready Mouse vrbounce X vrcrane_joystick vrcrane_panel vrerane_traj X vrlights X vrmaglev vrmaglev_sldrt X vrmanipul X vrmanipul_global vrmemb1 X vrmorph X vr_octavia X vr_octavia_2cars vr_octavia_graphs vr_octavia_mirror vr_octavia_video vrdemo_panel vrpend X vrplanets X vrtkoff X vrtkoff_trace vrtkoff_hud P P lt PS PS PS PST PST PS DS DS DS DS DS PS PS PS PS DS DS DS S DS 1 23 1 Getting Started Bouncing Ball Example vrbounce The vrbounce example represents a ball bouncing from a floor The ball deforms as it hits the floor keeping the volume of the ball constant The deformation is achieved by modifying the scale field of the ball 1 24 Virtual Reality World and Dynamic System Examples Portal Crane with Joystick Control vrcrane_joystick The vrcrane_joystick example illustrates how a Simulink model can interact with a virtual world The portal crane dynamics are modeled in the Simulink interface and visualized in virtual reality The model uses the Joystick Input block to control the setpoint Joystick 3 axes control the setpoint position and button 1 starts the crane This exa
245. lso use the x coordinate When the CAD tool allows you to animate parts and assemblies reset their positions to the initial state before the export Assembly Hierarchy How assembly of parts are exported depends on the structure of the model which usually comes in two forms All parts are independent from each other or objects in the scene are independent from each other at the same level of the scene hierarchy The exported virtual world 3D file has a flat structure with all part coordinates defined in global coordinates Parts follow some kind of hierarchy defined in the CAD tool The exported virtual world 3D file will use this hierarchy via the Transform children mechanism to create a nested structure In this case part coordinates are usually defined in the part s parent local coordinate system Import VRML Models from CAD Tools For example a robot can be exported with the following object hierarchy in which each part s coordinates are defined in the parent s local coordinate system rotating support arm wrist hand tool So when the rotating support moves all other parts are usually designed to move with it The hierarchy of the virtual world 3D file must correspond to the coordinates used in the dynamic model of the assembly as follows If all parts in the Simulink or SimMechanics model are defined in global coordinates use a flat virtual world structure If all parts in the Simulink or Si
246. luence the behavior of the space mouse input device The properties can be read or modified using dot notation e g mouse DominantMode true Properties Valid properties are property names are case sensitive Property Description PositionSensitivity Mouse sensitivity for translations Higher values correspond to higher sensitivity RotationSensitivity Mouse sensitivity for rotations Higher values correspond to higher sensitivity DisableRotation Fixes the rotations at initial values allowing you to change positions only DisableTranslation Fixes the positions at the initial values allowing you to change rotations only DominantMode If this property is true the mouse accepts only the prevailing movement and rotation and ignores the others This mode is very useful for beginners using a space mouse vrspacemouse Property Description UpperPositionLimit Position coordinates for the upper limit of the mouse LimitPosition Enables mouse position limits If false the object ignores the UpperPositionLimit and LowerPositionLimit properties LowerPositionLimit Position coordinates for the lower limit of the mouse NormalizeOutputAngle Determines whether the integrated rotation angles should wrap on a full circle 360 This is not used when you read the Output Type as Speed InitialPosition Initial condition for integrated translations This is not used when you set the Output
247. ly from the menu bar use the Viewpoints menu Go to Default Viewpoint option to return to the default viewpoint of the virtual world From the keyboard Press the Esc key to return to the default viewpoint of the virtual world Press the Home key to return to the initial position of the current viewpoint Define Viewpoints You can add new viewpoints to the virtual world through the menu bar or toolbar You can start the simulation before creating viewpoints This topic assumes that the model is not currently running 1 Select a Simulink 3D Animation example and type that example name in the MATLAB Command Window For example vrplanets The Simulink model is displayed Also by default the Simulink 3D Animation viewer for that model is loaded and becomes active If the viewer is not displayed double click the VR Sink block in the Simulink model Define and Reset Viewpoints a bk WO ND 11 12 In the Simulink 3D Animation viewer the default viewpoint for this model is View from top From the menu bar choose the Viewpoints menu Choose View on Earth In the viewer window navigate to a random position in the scene From the Viewpoints menu choose Create Viewpoint Alternatively click Create viewpoint on the toolbar The Create Viewpoint dialog box is displayed Bj create new viewpoint lo a sx Name Placement Child of the root X V Jump to new viewpoint immediately hok Cance Helo
248. ly Pos 48 61 11 89 30 00 Dir 0 98 0 20 0 00 Changing the Virtual World Associated with a Simulink Block On occasion you might want to associate a different virtual world with a Simulink model or connect different signals After you associate a virtual world with a Simulink model you can select another virtual world or change signals connected to the virtual world This procedure assumes that you have connected the vrtut2 Simulink model with a virtual world See Add a Simulink 3D Animation Block on page 3 2 1 Double click the VR Sink block in the model The viewer opens 2 Select the Simulation menu Block Parameters option The Parameters VR Sink dialog box opens 3 At the Source File text box click the Browse button The Select World dialog box opens Find the folder matlabroot toolbox s13d sl3ddemos Select the file vrtkoff2 wrl and click Open 4 Inthe Parameters VR Sink dialog box click Apply Virtual World Connection to a Model A virtual scene tree appears on the right side The Simulink software associates a new virtual world with the model On the left of the Plane Transform node click the square The Plane Transform tree expands Now you can see what characteristics of the plane you can drive from the Simulink interface This model computes the position In the Plane Transform tree select the translation field check box Clear the rotation field check box Click OK The VR Sink block is update
249. m all node fields of the type exposedField or eventOut not only a Sensor eventOut field See Virtual World Data Class Types on page 5 26 for more information about virtual world data class types For fields of class exposedField you can use an alternate name using the field name with the suffix changed For example translation and translation_changed are alternate names for requesting the translation field value of the above Grab_Sensor node 3 25 3 Simulink Interface VR Source Block Input to Simulink Models 3 26 The VR Source reads values from virtual world fields specified in the Block Parameters dialog box and inputs their values Use the VR Source block to provide interactivity between a user navigating the virtual world and the Simulink model The VR Source block registers user interactions with the virtual world and passes to the model values that can affect the simulation of the model For example you can specify setpoints in the virtual world so that user can specify the location of a virtual world object interactively The simulation then responds to the object s changed location The VR Source block can read into the model events from the virtual world such as time ticks or outputs from scripts The VR Source block can also read into the model static information about the virtual world for example the size of a box defined in the virtual world 3D file For an example of how to use the VR Sink block see Ma
250. m simulation results with others by Capture animation frame snapshots or record animations for video viewing See Capture Frames on page 7 48 and Record and Play Animations Build Virtual Worlds to Visualize Dynamic Simulations In addition to the single computer configuration when MATLAB Simulink and the virtual reality representations run on the same host computer Simulink 3D Animation software also allows a client server configuration In this configuration an Orbisnap VRML viewer on a remote client can connect to the server host on which Simulink 3D Animation software is running This allows others to view an animated virtual world remotely Multiple clients can connect to one server See Orbisnap Standalone Viewer Use the MATLAB Compiler to take MATLAB files as input and generate redistributable standalone applications that include Simulink 3D Animation functionality including the Simulink 3D Animation Viewer See MATLAB Compiler Support on page 1 10 1 Getting Started MATLAB Compiler Support Abstract Generating redistributable standalone applications that include Simulink 3D Animation functionality including the Simulink 3D Animation Viewer To use the MATLAB Compiler to produce standalone applications create a MATLAB file that uses the MATLAB interface for the Simulink 3D Animation product for example creating opening and closing a vrworl1d object Then use the MATLAB Compiler
251. mMechanics model follow hierarchical relationships use a nested virtual world structure To illustrate these two cases imagine a rotating pendulum according to the following figure The gray arm rotates about the vertical axis while the orange pendulum swings about the z axis in the rotating gray arm s local coordinates 5 45 5 Build Virtual Reality Worlds RES Orbisnap Ee Ea File View viewpoints Navigation Rendering Help Overview yd P Examine 7 2 qq Overview Examine Pos 3 51 0 92 4 69 Dir 0 68 74 If the pendulum dynamics model uses global coordinates for all moving parts the virtual world model has a flat structure as shown in the following figure 5 46 Import VRML Models from CAD Tools B invpend_flat wrl rmlPad OF x File Edit Yiew Tools Help sH tte omea 4 4 EE t ABO SlE Transform Stand gt Transform Parts_Rotate_Y Transform Parts_Swing VRHL V2 0 utf8 DEF Stand Transform children Inline url stand 1 wrl DEF Parts_Rotate_Y Transform children Inline url Pendulum xis 1 wrl DEF Parts_Swing Transform children Inline url arm001i 1 wrl Pa R FF Pl If the pendulum dynamics model uses local coordinates for moving parts the corresponding virtual world model has a nested structure as shown in the following figure 5 47 5 Build Virtual Reality Worlds B inypend_nested wrl r
252. manage the orientation in the object hierarchy Note Sometimes it is necessary to correct bugs introduced in the file by the CAD tool export filter As the VRML and X3D format is a text based format codified by an ISO standard these bugs are relatively easy to identify and correct If problems occur when you are using exported VRML or X3D files in the Simulink 3D Animation software consult technical support Creating a Virtual World The VRML or X3D file adjusted manually in the previous steps is now ready for association with Simulink or SimMechanics models To work with the virtual world effectively however you may want to make additional modifications to the scene file using a virtual world editor These changes can be added on an ongoing basis in parallel with developing and using the dynamic model 1 Add the WorldInfo node with a scene title used as the virtual world description in the Simulink 3D Animation software 2 Add the NavigationInfo node defining the scene default navigation speed and avatar size that ensures correct display of the object from near and far distances 3 Add the Background node to specify a color backdrop that simulates the ground and sky as well as optional background textures such as panoramas for the scene 4 Add several viewpoints to be able to observe the object conveniently from different positions The viewpoints can be static defined as independent objects at the top level of the scen
253. mand especially if you want to move the camera repeatedly in a single direction The following table summarizes the keyboard commands and their associated navigation functions Note that the letters presented do not need to be capitalized to perform their intended function Orbisnap Keyboard Navigation Keyboard Command Navigation Function Backspace Undo move F9 Straighten up and make the camera stand on the horizontal plane of its local coordinates Zoom in out F6 Toggle the headlight on off F7 Toggle the navigation zones on off F5 Toggle the wireframe option on off F8 Toggle the antialiasing option on off Navigate Using Orbisnap Keyboard Command Navigation Function Ese Go to default viewpoint Home Return to current viewpoint Page Up Page Down Move between preset viewpoints F10 Toggle camera binding from the viewpoint Shift W Set the navigation method to Walk Shift E Set the navigation method to Examine Shift F Set the navigation method to Fly Shift Up Down Arrow Move the camera forward and backward Up Down Arrow Pan the camera up and down Left Right Arrow Shift Pan the camera right and left Left Right Arrow Alt Up Down Arrow Slide up and down Alt Left Right Arrow Slide left and right Ctrl Left Right Up Pressing Ctrl alone acquires the examine lock at the point Down Arrow of intersection between the line
254. meters Use the Web browser controls to move within this virtual world while the simulation is running View Virtual World Remotely 10 On the host computer in the Simulink window from the Simulation menu click Stop On the client computer close the Web browser window 3 21 3 Simulink Interface Add Sensors to Virtual Worlds This section describes how to interface a Simulink block diagram to sensors in a virtual reality scene It also describes how to programmatically input signals from the virtual world into a simulation model Virtual reality scenes can contain sensors nodes able to generate events and output values depending on time user navigation and actions and distance changes in the scene These nodes add interactivity to the virtual world You can use Simulink 3D Animation functions to read sensor field values into simulation models and control simulation based on the user interaction with the virtual scene You can define the following sensors in the scene Sensors Description CylinderSensor Maps pointer motion for example a mouse or wand into a rotation on an invisible cylinder that is aligned with the y axis of the local coordinate system PlaneSensor Maps pointing device motion into two dimensional translation in a plane parallel to the z 0 plane of the local coordinate system ProximitySensor Generates events when the viewer enters exits and moves within a region in space
255. mlPad lel ES File Edit View Tools Help Osa Seo mh 4 VRML V2 0 utf8 Raid E DEF Stand Transform ea T children AER Static parts of mechanism Transform Parts_Rotate_Y Inline rotation url stand 1 vwrl ABF B S 8 children E Inline Parts that rotate along Y axis 4 Transform Parts_Swing DEF Parts_Rotate_ Transform Initial rotation defined along the Y axis to facilitate using VR Expander block rotation 010 0 children Inline url PendulumAxis 1 wrl Parts that rotate along Z axis DEF Parts_Swing Transform Initial rotation defined along the Z axis to facilitate using VR Expander block rotation 0010 children Inline url arm001 1 vse a Routing Map x File List axl 4 gt invpend_nested wrl l4 Ready Ln 28 Col44 686 bytes SYN sem NBR ExT fovr fez READ WEB 7A Some third party tools allow you to export each part of the assembly into separate virtual world 3D files All parts are then referenced in one main file using the Inline mechanism Referencing in this manner is the recommended way to work with assemblies as the main file is small in size and easy to understand and modify 5 48 Import VRML Models from CATIA Software Import VRML Models from CATIA Software In this section CATIA Coordinate Systems on page 5 49 Settings that Affect t
256. model However you cannot use Simulink 3D Animation to convert a CAD model in VRML to X38D The Simulink 3D Animation product uses many of the advanced features defined in the current VMRL97 specification including Viewpoints to highlight points of interest for quick browsing of a virtual reality world Sensors to input virtual reality world values to Simulink models For more an overview of VRML and details about supported VRML features see Virtual Reality Modeling Language on page 1 14 As you add VRML nodes with the 3D World Editor on page 6 2 you can use the viewer pane to see the virtual world that you are creating For a step by step example of building a virtual reality world with the 3D World Editor see Build and Connect a Virtual World on page 5 7 Build Virtual Worlds to Visualize Dynamic Simulations Link to a Virtual Reality World To use a dynamic system simulation to drive a virtual reality world you need to connect the virtual world to one of the following Simulink model SimMechanics model e MATLAB virtual world object Simulink The Simulink 3D Animation library provides blocks to directly connect Simulink signals with virtual worlds This connection lets you visualize your model as a three dimensional animation You can implement most of the software features with Simulink blocks Once you include these blocks in a Simulink diagram you can select a virtual world and connect S
257. mple requires a standard joystick with at least three independent axes connected to the PC To minimize the number of signals transferred between the Simulink model and the virtual reality world and to keep the model as simple and flexible as possible only the minimum set of moving objects properties are sent from the model to the VR Sink block All other values that are necessary to describe the virtual reality objects movement are computed from this minimum set using VRMLScript in the associated virtual world 3D file For details on how the crane model hierarchy and scripting logic is implemented see the associated commented virtual world 3D file portal_crane wrl Virtual Control Panel vrdemo_panel The vrdemo_panel example shows the use of sensing objects that are available in the 3D World Editor Components library These objects combine virtual world sensors with logic that changes their visual appearance based on user input The VRML sensor values can be read into Simulink by the VR Source block The logic is implemented using VRML Scripts and Routes The control panel contains a pushbutton switch button toggle switch and a 2 D setpoint selection area Outputs of these elements are read into a Simulink model and subsequently displayed using standard sinks or used as inputs of blocks that control back some objects in the virtual world Pushbutton switch button and toggle switches have the state outputs which are of boolean type
258. n Preference Value Description Default Editor Built in 3D World Editor V Realm Builder MATLAB Editor Custom Specifies which virtual world editor to use Path to the virtual world editor If this path is empty the MATLAB editor is used The path setting is active only if you select the Custom option VR Port Numeric Default 8124 IP port used for communication between the Simulink 3D Animation server and its clients If you change this preference you must restart the MATLAB software before the change takes effect 3D World Editor Preferences The Simulink 3D Animation preferences include the following preferences for the 3D World Editor Simulink 3D Animation 3D World Editor Preferences Position 1 31 1920 1094 Triad bottom left Z v Save position on exit Preserve Layout per VRML file Property Value Description Position Specify the pixel location for the Specifies the default location lower left corner the width and the height for example 96 120 862 960 Default Depends on current screen resolution for the 3D World Editor If you select Save position on exit the default position changes to the position of the 3D World Editor used when you last exited it Save position on exit off on Default on Causes the 3D World Editor to open in the same location where the editor was when you last exited it Set Sim
259. n fieldOfView description Transforn scale children Transform children Transform Transform Transform Transform Group children aA AN AN ma 0 017439 0 001734 0 707107 0 707107 0 0 471225 Bottom View 0 001 0 001 0 001 The left tree view illustrates the overall structure of the model 1 The CATIA software saves the general model information in the WorldInfo NavigationInfo and Background nodes 2 The software exports the default CATIA viewpoints it does not export user defined viewpoints Following this section common to all products exported to VRML is a top level transform node representing the CATProduct In the CATIA software Product CylinderAssembly1 consists of four parts CrankAssembly1 CylinderSleevel PistonAssembly1 CrankshaftAssembly1 Import VRML Models from CATIA Software The export does not preserve the CATProduct and CATPart names You can identify these objects in the VRML file in the tree view and in the text mode In the figure the contents of the part transforms are collapsed so that only the top level objects are visible for clarity After four transforms representing CATParts the export adds an empty Group node at the place where CATIA Constraints are defined You can delete such empty nodes from the VRML model The contents of the CATProduct are scaled down by a factor of 1000 conversion of units from millimeters to meters When you have VRML files
260. n Camera Position You can use the current camera position to interactively specify a viewpoint in the 3D World Editor 1 Navigate to the position in the scene where you want the viewpoint 2 Inthe tree structure pane right click a Viewpoint node 3 Select Copy values from current camera Specify a URL For objects that have a URL field to specify a URL select the node and use one of these approaches In the property edit box for the URL enter the URL Select the 0 on the left side of the property edit box and click the Select File URL button Navigate to the file Basic Editing B e IimageTexture P url MFString f repeatS SFBool TRUE f repeatT SFBool TRUE material SFNode E geometry SFNode B ndexedFaceSet a a f a a a a A m ccw SFBool TRUE colorlndex MFInt32 colorPerVertex SFBool TRUE convex SFBool TRUE coordIndex MFInt32 0 1 2 3 1 creaseAngle SFFloat 0 normallIndex MFInt32 normalPerVertex SFBool TRUE raha CCDAaN TDC lt url MFString Value Comment 9 SOX Ble B Document a Virtual World Using Comments Select File URL To document a virtual world in the object property edit pane use the Comments tab for nodes and properties Comments can help others understand the design of a virtual world Comments do not appear in the virtual world They appear in the virtual world 3D file next to the
261. n page 2 21 Figure Appearance Preferences The figure appearance preferences apply to the 3D World Editor and Simulink 3D Animation Viewer Some of these preferences also apply to Simulink 3D Animation Web Viewer as noted below To access the virtual figure appearance preferences 1 From the MATLAB Toolstrip in the Home tab in the Environment section select Preferences 2 Ihn the left pane of the Preferences dialog box select Simulink 3D Animation 3 Inthe left pane under Simulink 3D Animation select Figure The Simulink 3D Animation Figure Preferences dialog box opens in the right pane with the Appearance tab open 4 Set the preferences as desired See the following table for the rendering preferences you can change Click OK to save the settings Property Value Description Toolbar on ofFf Specifies whether the toolbar is displayed Default on Tooltips Tore On Specifies whether tooltips are displayed Default on Status bar off on Specifies whether status bar is displayed Default on Also applies to the Simulink 3D Animation Web Viewer 2 16 Set Simulink 3D Animation Preferences Property Value Description Navigation zones off on Specifies whether navigation zones are displayed Default on Also applies to the Simulink 3D Animation Web Viewer Navigation panel off Om Specifies whether navigation panel is displayed
262. n settings for vr canvas and vr figure objects Description Tip Use the vr utils stereo3d class for advanced tuning of stereoscopic viewer and canvas properties You can select and use basic stereoscopic settings from the Viewer menu Specifies these stereoscopic vision properties Active anaglyph or no stereoscopic vision Camera offset Camera angle Color filter for the left and right cameras Horizontal image translation HIT Use a vr utils stereo3d object to set the Stereo3D Stereo3DCameraOf fset and Stereo3DHIT stereoscopic vision properties of vrfigure and vr canvas objects Specifying a vr utils stereo3d object to set one vrfigure and vr canvas property also sets the other stereoscopic vision properties Using a vr utils stereosd object also specifies color filters for the left and right cameras You cannot set camera color filters directly using the vrfigure set method or vr canvas properties Construction stereoVision vr utils stereo3d OFF disables stereoscopic vision stereoVision vr utils stereo3d ACTIVE enables active stereoscopic vision stereoVision vr utils stereo3d ANAGLYPH enables red cyan anaglyph stereoscopic vision 10 115 10 Functions Alphabetical List 10 116 stereoVision vr utils stereo3d RED CYAN enables red cyan anaglyph stereoscopic vision stereoVision vr utils stereo3d ANAGLYPH_GREEN_MAGENTA enables green magenta anaglyph stereoscopic vision stereoVision
263. nents Syntax vrinstall action vrinstall action x vrinstall action Arguments action Type of action for this function Values are interactive selftest check install and uninstall Description You use this function to install on Windows platforms the Ligos V Realm Builder The V Realm Builder is an optional virtual world editor For details see Install V Realm Editor on Host Computer on page 2 5 Note The vrinstall command does no perform any action on a Linux platform The actions you can perform Action Value Description selftest Checks the integrity of the current installation If this function reports an error you should reinstall the Simulink 3D Animation software The function vrinstall automatically does a self test with any other actions interactive Checks for the installed components and then displays a list of uninstalled components you can choose to install 10 71 10 Functions Alphabetical List Action Value Description check Checks the installation of optional components If the given component is installed returns 1 If the given component is not installed returns 0 If you do not specify a component displays a list of components and their status install Installs optional components This action requires you to specify the component name uninstall Uninstalls optional components This option is currently available for the ed
264. new set point value with a left mouse button click Notice the pseudoorthographic view defined in the associated virtual world 3D file You achieve this effect by creating a viewpoint that is located far from the object of interest with a very narrow view defined by the FieldOfView parameter An orthographic view is useful for eliminating the panoramic distortion that occurs when you are using a wide angle lens The disadvantage of this technique is that locating the viewpoint at a distance makes the standard viewer navigation tricky or difficult in some navigation modes such as the Examine mode If you want to navigate around the virtual pendulum bench you should use some other viewpoint Solar System Example vrplanets The vrplanets example shows the dynamic representation of the first four planets of the solar system Moon orbiting around Earth and Sun itself The model uses the real properties of the celestial bodies Only the relative planet sizes and the distance between the Earth and the Moon are adjusted to provide an interesting view Several viewpoints are defined in the virtual world both static and attached to an observer on Earth You can see that the planet bodies are not represented as perfect spheres Using the Sphere graphic primitive which is rendered this way simplified the model If you want to make the planets more realistic you could use the more complex IndexedFaceSet node type Virtual Reality World and Dynamic S
265. ng on page 2 31 Section Overview The Simulink 3D Animation product includes several Simulink models with the associated virtual worlds These models are examples of what you can do with this software You can use one of these examples to test the installation of the virtual world viewer Simulink Testing Before you can run this example you have to install the MATLAB Simulink and Simulink 3D Animation products as follows 1 Inthe MATLAB Command Window type vrpend A Simulink window opens with the model for an inverted pendulum This model which you can view in three dimensions with the software has an interactive set point and trajectory graph Test the Viewer Installation File Edit View Display Diagram Simulation Analysis Code Tools Help o gt B 40d O The Simulink 3D Animation Viewer opens with a 3 D model of the pendulum 2 27 2 Installation FICIAV ice iearointsiee Navicpation ime RETdetng meSinintationmmRecordenc mts Pseudo orthographic view v Examine 4 M wer B Pseudo orthographic view 0 00 Examine 180 00 100 00 180 00 Dir 0 66 0 36 0 66 2 Inthe Simulink 3D Animation Viewer from the Simulation menu click Run A Trajectory Graph window opens and a simulation starts running 2 28 Test the Viewer Installation Trajectory Graph loj x Trajectory Graph 10 In the Simulink 3D Animation Viewer point to a position
266. ng IndexedFaceSet node in node is wrapped by the created Shape node that is a child of the parent node vrpatch2ifs patches ifs converts the patches array and saves the result into ifs array of existing IndexedFaceSet nodes overwriting the IndexedFaceSet nodes The number of patches must equal the number of IndexedFaceSet nodes vrpatch 2ifs Examples Convert MATLAB Patches to IndexedFaceSet Nodes This command converts three MATLAB patches to IndexedFaceSet nodes Create surface using MATLAB peaks function fig figure Name Source peaks surface s surf peaks 10 60 50 10 Convert the peaks surface to a patch peaksPatch patch surf2patch s delete s shading interp Create and open an empty virtual world w2 vrworld open w2 Create and bind viewpoint dv vrnode w2 DefaultViewpoint Viewpoint 10 93 10 Functions Alphabetical List dv position 1 15 30 dv orientation 0 38 0 93 0 0 55 setfield dv set_bind true ok lt STFLD SFLD gt Convert the patch to an IndexedFaceSet nodes The resulting nodes are created in the root level of supplied vrwor1d object vrpatch2ifs peaksPatch w2 Show the result vrfig2 vrfigure w2 Name Virtual world containing resulting IndexedFaceSet node 10 94 Input Arguments patches MATLAB patches to convert array MATLAB patches specified as an array world Virtual world that contains
267. ng as the name of the host that is running the Simulink 3D Animation server q end_time Optional Orbisnap ends when virtual scene time equals end_time h Optional Orbisnap displays the Orbisnap command line help 8 Simulink 3D Animation Stand Alone Viewer Orbisnap Interface In this section Menu Bar on page 8 8 Toolbar on page 8 9 Navigation Panel on page 8 9 Orbisnap with a virtual world displayed looks like this Orbisnap o File View Viewpoints Navigation Rendering Help x Examine Pi I as aga No viewpoint Examine Pos 0 00 0 00 10 00 Dir 0 00 0 00 1 00 Orbisnap Interface Orbisnap provides much of the functionality of the Simulink 3D Animation Viewer Using the menu bar toolbar and navigation panel you can 8 Simulink 3D Animation Stand Alone Viewer Customize the Orbisnap window e Manage virtual world viewpoints e Manage scene rendering You cannot Open an editor for the virtual world Open another window for the virtual world Simulate the world start stop the model Record or manage animation files Menu Bar The Orbisnap menu bar has the following menus File General file operation options including Open Invokes a browser that you can use to browse to the virtual world you want to visualize Connect to server Allows you to connect to a Simulink 3D Animation server Enter the IP ad
268. nment to build virtual reality worlds and to visualize dynamic simulations modeled in MATLAB Simulink or SimMechanics If your computer does not already have a graphics card Build Virtual Worlds to Visualize Dynamic Simulations with hardware 3 D acceleration consider installing such a card to enhance graphics performance You build and view the virtual reality world models using VRML Virtual Reality Modeling Language In addition to the installed VRML editor 3D World Editor you can configure your environment to use The Ligos V Realm Builder which is included in the Simulink 3D Animation software for Windows platforms Any third party VRML editor The MATLAB editor or a third party text editor In addition to the installed Simulink 3D Animation viewer the default you can use one of these viewers to display your virtual reality worlds e Simulink 3D Animation Web Viewer Orbisnap on a client computer To help decide which VRML editor and viewer to use see Virtual World Editors on page 5 2 and Virtual World Viewers on page 7 2 For more information about installing a VRML editor or VRML viewer see Install VRML Viewer Use joystick and space mouse input devices to provide input for dynamic simulation visualizations TCP IP Connection The Simulink 3D Animation product uses a TCP IP connection to a VR client for communicating with the Simulink 3D Animation Viewer as well for connecting
269. nsform SFNode Eb geometry SFNode 3 Box E size SFVec3 0 3 1 1 Move the box that you just created to the left by changing the translation property of the B2 Transform node In the object properties edit pane set the first column to 3 and leave the second and third columns set to 0 49 3D World Editor H Documents MATLAB vrtut3 wrl babai File Edit ViewPane Tree Nodes Help DECeCHEW gt ROOT H P B1 Transform P B2 Transform center SFVec3f 0 0 0 rotation SFRotation 0 0 1 0 oi scale SFVec3 1 1 1 scaleOrientation SFRotation 0 0 1 0 B translation SFVec3f 3 0 0 E bboxCenter SFVec3f 0 0 0 E bboxSize SFVec3f 1 1 1 children MFNode Shape appearance SFNode iH Appearance geometry SFNode Box E size SFVec3f 0 3 1 5 17 5 Build Virtual Reality Worlds 5 18 Create a Sphere Your next task is to add a sphere between the two boxes This section assumes you have completed the tasks described in Add Nodes on page 5 11 1 To make it easier to focus the tree structure pane on the nodes that you want to add collapse the B1 Transform and B2 Transform nodes 2 Inthe tree in the left pane click ROOT node Add a Sphere node The 3D World Editor includes a library of objects for building a virtual world including a Sphere object Add a Sphere library object using the following sequence of m
270. nsure that the virtual world file and animation file are in the same folder oe lt The current four digit year replaces this token in the file name string For example the format f_anim_ Y wrl saves the animation to vrplanets_anim_2015 wrl for the year 2015 4 14 File Name Tokens Token Description oe The current month replaces this token in the file name string For example the format f_anim_ M wrl saves the animation to vrplanets_anim_4 wrl for a start record time in April oe iw The current day in the month replaces this token in the file name string For example the format f_anim_ D wrl saves the animation to vrplanets_anim_29 wrl for the 29th day of the month oe j The current hour replaces this token in the file name string For example the format f_anim_ h wr1 saves the animation to vrplanets_anim_14 wrl for any time between 14 00 and 15 00 X 3 The current minute replaces this token in the file name string For example the format f_anim_ h m wrl saves the animation to vrplanets_anim_1434 wrl for a start record time of 14 34 of n The current second replaces this token in the file name string For example the format Sf_anim_ h m s wrl saves the animation to vrplanets_anim_150430 wrl for a start record time of 15 04 30 Related Examples Define File Name Tokens on page 4 12 4 15 MATLAB Interface Manual 3 D Recording
271. nt simulation data in each simulation step To visualize vehicles side by side add an offset to the position of one vehicle Vehicle Dynamics Visualization with Graphs vr_octavia_graphs The vr_octavia_graphs example extends the vr_octavia example by showing how to combine a virtual reality canvas in one figure with other graphical user interface objects In this case the virtual world displays three graphs that update at each major simulation time step Virtual Reality World and Dynamic System Examples Vehicle Dynamics Visualization with Live Rear Mirror Image vr_octavia_mirror The vr_octavia_mirror example extends the vr_octavia example by showing the capability of the VR Sink block to process video stream on input In the virtual world a PixelTexture texture map is defined at the point of the vehicle left rear mirror The example places a 2 D image from a viewpoint at the same position looking backward That image is looped back into the same virtual world and projected on the rear mirror glass creating the impression of a live reflection Texture images can have different formats corresponding to the available SFImage definitions according to the VRML97 standard This example uses an RGB image that has the same format as the output from the VR to Video block In the virtual world 3D file associated with the scene you can define only a trivial texture in this case a 4x4 pixel checkerboard that gets resized during simulation
272. o single the virtual world Float and Color data types are returned as single If set to double the Float and Color data types are returned as double Default is double DefaultCanvasNavPanel DefaultCanvasUnits DefaultFigureAnti Aliasing Controls the appearance of the control panel in the vr canvas object Values are e none Panel is not visible e minimized Panel appears as a minimized icon in the right hand corner of the viewer e translucent Panel floats half transparently above the scene e opaque Panel floats above the scene Default none Specifies default units for new vr canvas objects See vr canvas for detailed description Default is normalized Determines whether antialiasing is used by default for new vrfigure objects This preference also applies to new vr canvas objects Valid values are off and on 10 105 10 Functions Alphabetical List Preference Description DefaultFigureCapture Specifies default file name for capturing FileName viewer figures See vrfigure get for detailed description Default is f_anim_ n tif DefaultFigureDeleteFcn Specifies the default callback invoked when closing a vr figure object DefaultFigureLighting Specifies whether the lights are rendered by default for new vrfigure objects This preference also applies to new vr canvas objects Valid values are off and on DefaultFigur
273. o orthographic view Examine v J PEOLE Wer O Pos 180 00 100 00 180 00 Dir 0 66 0 36 0 66 2 Inthe Simulink Editor window from the Simulation menu choose Run The example starts running 3 Click inside and outside the sensor area of the viewer window The sensor takes precedence over navigation with the left mouse button The shape of your pointer changes when it is located over the sensor area If the sensor covers the entire navigable area mouse navigation is effectively disabled In this case use the control panel or the keyboard to move about the scene For a three button mouse or a mouse with a clickable wheel you can always use the middle button or the wheel to move about the scene The middle mouse button and wheel do not trigger sensors within the virtual world Display a Coordinate Axes Triad To help you visualize changes in the orientation coordinate axes of nodes in a virtual world you can display a triad of red green and blue arrows These arrows are always 7 25 7 Viewing Virtual Worlds 7 26 parallel with global x y and z coordinate axes As you navigate in a virtual world the triad display changes to reflect changes in orientation a free ea File View Viewpoints Navigation Rendering Simulation Recording Help Fly 2S EIRSE AG Sia BE To display a triad in the viewer or to change the location of the triad use one of the following approaches Right
274. o treat input value as zero fle 12 Cancel Help Apply Rotation Matrix to VRML Rotation Maximum value to treat input value as zero The input is considered to be zero if it is equal to or lower than this value Rotation Matrix A representation of a three dimensional spherical rotation as a 3 by 3 real orthogonal matrix R R R RR I where Tis the 3 by 3 identity and R is the transpose of R Ry Ry Rig Res Ryy Ry R R y Rog Roz Rys Ryy Ryz R31 R32 R33 R R ZX zy Rz In general R requires three independent angles to specify the rotation fully There are many ways to represent the three independent angles Here are two You can form three independent rotation matrices R R Rg each representing a single independent rotation Then compose the full rotation matrix R with respect to fixed coordinate axes as a product of these three R R3 R R The three angles are Euler angles You can represent R in terms of an axis angle rotation n ny Ny nz and 8 with n n 1 The three independent angles are O and the two needed to orient n Form the antisymmetric matrix 0 n ny J n 0 n hy ny 0 Then Rodrigues formula simplifies R R exp 6J 1 Jsin0 J7 1 cos0 9 Blocks Alphabetical List 9 10 Space Mouse Input Process input from space mouse device Library Simulink 3D Animation Translation D ae Buttons p Description 2 Mouse input A spa
275. of the Orbisnap command line options View Virtual Worlds Remotely with Orbisnap View Virtual Worlds Remotely with Orbisnap To view virtual worlds from the Simulink 3D Animation server in Orbisnap you must have The MATLAB software running a Simulink 3D Animation server session The version of the Simulink 3D Animation server to which you want to connect must be compatible with the Orbisnap version you are running For example you cannot connect Orbisnap to Simulink 3D Animation software Version 3 1 Network access between the client computer running Orbisnap and host computer running MATLAB and Simulink 3D Animation server Note If you expect Orbisnap to access a virtual world on the Simulink 3D Animation server from a remote computer you must make that virtual world available for Internet viewing In the Simulink 3D Animation Viewer for the virtual world you want to make available select Simulation gt Block Parameters select the Allow viewing from the Internet check box then click OK Note the following when using Orbisnap remotely Although you can visualize a virtual world from the Simulink 3D Animation server in Orbisnap any navigation or rendering in one viewer is not reflected in the other For example any navigation you do on the virtual world in Orbisnap is not reflected in the virtual world in the Simulink 3D Animation lt olink localinfo sViewer and vice versa You cannot start or stop a simulation of
276. off_hud The vrtkoff_hud example illustrates how to display signal values as text in the virtual world and a simple Head Up Display HUD It is a variant of the vrtkoff example The example sends the text to a virtual world using the VR Text Output block This block formats the input vector using the format string defined in its mask see sprintf for more information and sends the resulting string to the string field of the associated Text node in the scene The example achieves HUD behavior maintaining constant relative position between the user and the Text node by defining a ProximitySensor This sensor senses user position and orientation as it navigates through the scene and routes this information to the translation and rotation of the HUD object in this case a Transform that contains the Text node 1 33 1 Getting Started MATLAB Interface Examples The following table lists the MATLAB interface examples provided with the software Descriptions of the examples follow the table MATLAB interface examples display virtual worlds in your default viewer If your default is the Simulink 3D Animation Viewer some buttons are unavailable In particular the simulation buttons for simulation and recording are unavailable Example Moving Morphing Text Recording vrml Space Objects Objects Function Mouse Use vrear X vrheat X X vrheat_anim X X X vrmemb X X X vrterrain_simple X vrtkoff_spacemouse
277. oint center of the clamp Destination reference point Initial position of the load The manipulator grip position results from complex movement of manipulator arm parts that form hierarchical structure Generally it is very difficult to compute global coordinates for such objects affected by hierarchical relations in the scene However Simulink 3D Animation provides an easy way to read the global coordinates of objects affected by hierarchical relations into a Simulink model Based on having the global coordinates of all of the important objects you can implement a simple manipulator control logic Rotating Membrane Example vrmemb1 The vrmemb1 example is similar to the vrmemb example but in the vrmemb1 example the associated virtual world is driven from a Simulink model Geometry Morphing Example vrmorph The vrmorph example illustrates how you can transfer matrix type or variable size signal data between the Simulink interface and a virtual reality world With this 1 29 1 Getting Started 1 30 capability you can perform massive color changes or morphing This model morphs a cube into an octahedron and then changes it back to a cube Vehicle Dynamics Visualization vr_octavia The vr_octavia example illustrates the benefits of the visualization of complex dynamic model in the virtual reality environment It also shows the Simulink 3D Animation 3 D offline animation recording functionality Vehicle Dynamics Vi
278. omputer Normally you view a virtual world by double clicking the VR Sink in the Simulink model The virtual world opens in the Simulink 3D Animation Viewer or your HTML5 enabled web browser depending on your DefaultViewer setting For more information on setting your default viewer see Set the Default Viewer on page 2 2 Alternatively you can view a virtual world in your Web browser by selecting an open virtual world from a list in your Web browser You can display the HTML page that contains this list by connecting to the Simulink 3D Animation host This is the computer on which the Simulink 3D Animation software is currently running You do not need an HTML5 enabled web browser to display this page Note that a virtual world appears on this list in your Web browser only if the vrworld Description property contains a string If this property is empty for a virtual world that world is not accessible from the remote host The simplest way to set a world description is to define the virtual world 3D file WorldInfo node and fill in the title field for that node You can set up the WorldInfo node to look like the following WorldInfo title My First World info Author XY The vrworld object uses the title string in the virtual world 3D file for the Description property of the vrworld object You can change this property with the Simulink 3D Animation MATLAB interface vrworld set The following procedure describes how to c
279. on Recordinterval Vector of two doubles Start and stop times for scheduled animation recording Corresponds to the Default 0 0 virtual world object Time property Read write RemoteView off on Remote access flag If the virtual world is enabled for remote viewing it is set to Default off on otherwise it is set to of f Read write Time Double Current time in the virtual world Read write TimeSource external freerun Source of the time for the virtual world If set to external time in the scene is Default external controlled from the MATLAB interface by setting the Time property or the MATLAB interface simulation time If set to freerun time in the scene advances independently based on the system timer Read write View off on Indicates an unviewable or viewable virtual world Read write Default on 10 134 The ClientUpdates property is set to on by default and can be set by the user When it is set to off the viewers looking at this virtual world should not update the view according to the virtual world changes That is the view is frozen until this property is changed to on This is useful for preventing tearing effects with complex animations Before every animation frame set ClientUpdates to off make the appropriate modifications to the object positions and then switch ClientUpdates back to on The Description property defaults to untitled and can
280. on effects 1 Right click in the virtual world 2 From the Rendering gt Stereo 3D menu select either Anaglyph or Active Note To enable stereoscopic vision by default set the Simulink 3D Animation Figure gt Rendering gt Stereo 3D preference to anaglyph or active 7 57 7 Viewing Virtual Worlds 7 58 Control Stereoscopic Effects You can control the following stereoscopic effects interactively or using preferences of view cameras that produce the 3D effect The higher the offset the further apart the cameras are increases the offset Stereo 3D Description Keyboard Figure gt Rendering Effect Shortcut Preference Camera offset Distance between the two points Shift K Stereo 3D Camera Offset The default value is and thus the deeper the 3D effect Shift J 0 1 decreases the offset Horizontal The horizontal relationship of the Shift O Stereo 3D image two stereo images By default the increases Horizontal Image translation background image is at zero and the distance Translation HIT the foreground image appears to back for the pop out from the monitor toward background The default value is 0 the person viewing the virtual image world Shift P You can specify a value between __ decreases 0 and 1 inclusive The larger the distance the value the further back the back for the background appears to be background image You can also control the camera offset and
281. on of a 3 D scene Use the object properties edit pane to edit a selected property or add a comment to a selected node or property Tree Structure Pane Icons The Tree structure pane displays icons to help you visually distinguish node field types Node Field Type 3D World Editor Icon field a eventin a eventOut p exposedField f ROUTE La USE Create a Virtual World Create a Virtual World There are a number of tasks involved in creating a virtual world You can use the 3D World Editor throughout the process of building a virtual world and you can perform activities in many different ways For a step by step tutorial about building a virtual world using the 3D World Editor see Build and Connect a Virtual World on page 5 7 In general the following is a common workflow for creating a virtual world using the 3D World Editor This example workflow includes optional tasks and a small subset of the types of tasks that you can perform For more information see Basic Editing on page 6 11 1 2 Open a new virtual world 3D file Under the ROOT node optionally add e AWorldInfo node to document the virtual world ANavigationInfo node to define overall navigation characteristics of the virtual world such as the Avatar size Under the ROOT node add a Transform node in the virtual world for each object that you want to share properties with other object in that same Transform
282. only Online only Online only Online only Online only Online only New for Version 2 0 Release 12 1 Revised for Version 3 0 Release 13 Revised for Version 3 1 Release 13 Revised for Version 4 0 Release 14 Revised for Version 4 0 1 Release 14SP1 Revised for Version 4 1 Release 14SP2 Revised for Version 4 2 Release 14SP2 Minor revision for Version 4 2 1 Release 14SP3 Revised for Version 4 3 Release 2006a Revised for Version 4 4 Release 2006b Revised for Version 4 5 Release 2007a Revised for Version 4 6 Release 2007b Revised for Version 4 7 Release 2008a Revised for Version 4 8 Release 2008b Revised for Version 5 0 Release 2009a Revised for Version 5 1 1 Release 2010a Revised for Version 5 2 Release 2010b Revised for Version 5 3 Release 2011a Revised for Version 6 0 Release 2011b Revised for Version 6 1 Release 2012a Revised for Version 6 2 Release 2012b Revised for Version 6 3 Release 2013a Revised for Version 7 0 Release 2013b Revised for Version 7 1 Release 2014a Revised for Version 7 2 Release 2014b Revised for Version 7 3 Release 2015a Revised for Version 7 4 Release 2015b Contents Getting Started Simulink 3D Animation Product Description 1 2 Key Features aeeie wide 2b a os E a ets lak are Pee ge 1 2 Expected Background 0 000 cece eee nee 1 3 Build Virtual Worlds to Visualize Dynamic Simulations 1 4 Virtual Reality World Models of Dynami
283. onnect to the Simulink 3D Animation host 1 At the MATLAB command prompt type vrbounce The VR Bouncing Ball example is loaded and becomes active 2 Open your HTML5 enabled web browser In the address line of the browser type http localhost 8123 Note To connect to the main HTML page from a client computer type http hostname 8123 where hostname is the name of the computer on which the Simulink 3D Animation software is currently running 3 13 3 Simulink Interface The following page is loaded and becomes active The main HTML page for the Simulink 3D Animation product lists the currently available active virtual worlds In this example the VR Bouncing Ball virtual world appears as a link 4 CD 7 E http localhost8123 indexhtml File Edit View Favorites Tools Help i sf Favorites 923 Generating HTML Output Web Slice Gallery lol Suggested Sites v X yConvert P Select Ry DE v Pager Safety Took gt Simulink 3D Animation Simulink 3D Animation Worlds currently available Developed by e VR Bouncing Ball e Humusoft oer Local intranet Protected Mode Off f 100 3 Click VR Bouncing Ball The VR Bouncing Ball virtual world appears in your Web browser 3 14 View Virtual World on Host Computer Simulink 3D Animation Microsoft Internet Explorer provided by The Mathworks I Mi E3 File Edit view Favor
284. or Moving a Load with Use of Global Coordinates vrmanipul_global The vrmanipul_global example illustrates the use of global coordinates in Simulink 3D Animation models You can use global coordinates in a model in many ways including Object tracking and manipulation Virtual Reality World and Dynamic System Examples Simple collision detection Simulation of haptic effects The VR Source block supports using global coordinates for objects in a virtual world For each Transform in the scene the tree view in the VR Source block parameter dialog box displays the Extensions branch In that branch you can select translation_abs and rotation_abs fields Fields with the _abs suffix contain the object s global coordinates The fields without the _abs suffix input their data into Simulink model object s local coordinates relative to their parent objects in model hierarchy The virtual reality model represents a nuclear hot chamber manipulator The manipulator moves the load from one gray cylindrical platform to another The trajectory for the manipulator end effector is predefined using the Signal Builder Each part of manipulator arm is independently actuated using decomposed trajectory components with the help of VR Expander blocks see the VR Transformations subsystem The VR Source block in the virtual scene tree on the left captures global coordinates of all objects important for load manipulation Manipulator grip reference p
285. or synchronized with active shutter glasses Depending on the display technology enable synchronization using Infrared emitters cables or RF hubs Some monitors include an infrared IR emitter Other monitors require a separate IR emitter 7 59 7 Viewing Virtual Worlds 7 60 e 3D television set that displays 3D content For stereoscopic vision you typically use active shutter glasses or passive polarized glasses Auto stereoscopic display monitor display containing pair of video projectors etc Graphic Card Connection to Display Devices Connect 3D graphic cards to 3D display devices using an interface such as DVI HDMI or DisplayPort HDMI 1 4a and DisplayPort display interfaces natively expose the ability to transmit stereo images using schemes described in their specifications These interfaces allow for plug and play capability It is up to the display device to decode the image pairs and present them according to the presentation technology they implement active passive auto stereoscopic The DVI interface does not offer native stereoscopic image transfer To transfer and identify stereoscopic images correctly usually you need to synchronize the graphic card output with the display device using synchronization signals transmitted through an additional cable an IR emitter or an RF hub Examples of Stereoscopic Vision Setups Here are two possible configurations for using stereoscopic vision with Simulink 3D
286. ordinates CameraDirectionAbs Camera direction in world coordinates vector of three doubles Camera direction in world coordinates returned as a vector of three doubles read only property CameraPosition Current camera position in the current viewpoint local coordinates vector of three doubles Camera position in the current viewpoint local coordinates returned as a vector of three doubles The doubles represent the x y and z vectors in the current viewpoint local coordinates CameraPositionAbs Camera position in world coordinates vector of three doubles Camera direction in world coordinates represented by a vector of three doubles read only property CameraUpVector Camera up vector vector of three doubles vr canvas class Camera up vector returned as a vector of three doubles The doubles represent the x y and z vectors in the current viewpoint local coordinates CameraUpVectorAbs Camera up vector in world coordinates vector of three doubles Camera up vector in world coordinates represented by a vector of three doubles read only property DeleteFen Callback invoked when closing vr canvas object string Callback invoked when closing the vr canvas object returned as a string ExaminePivotPoint Pivot point about which camera rotates in examine navigation mode vector of three doubles Pivot point about which camera rotates in examine navigation mode returned as a vector of
287. orld Editor The 3D World Editor is installed as part of the Simulink 3D Animation installation It is the default virtual world editor The 3D World Editor is a native VRML and X3D authoring tool that provides an interface to the syntax of those languages The editor supports VRML97 types and language elements For details on limitations see VRML Support on page 1 14and X3D Support on page 1 11 The 3D World Editor interface provides three panes Virtual World Editors File Edit ViewPane Tree Nodes Help DS6CE EU SEEEER OSE0G s 78 e gt ROOT e WorldInfo H e NavigationInfo H e Viewpoint H P Bckg Background E e Shape appearance SFNode E Appearance textureTransform SFNode texture SFNode material SFNode B Material gt ambientIntensity SFFloat 1 f diffuseColor SFColor 0 0 08 P emissiveColor SFColor 0 0 0 AP shininess SFFloat 0 2 specularColor SFColor 0 0 0 a transparency SFFloat 0 geometry SFNode H IndexedFaceSet 6 P Ball Transform a specularColor SFColor Value Comment a 0 0 0 Apply Cancel ROOT Shape appearance SFNode Appearance material SFNode Material specularColor SFColor Tree structure pane View the hierarchy for the virtual world that you are editing The 3D World Editor lists the nodes and their properties
288. orld Models of Dynamic Systems on page 1 4 Set up Your Working Environment on page 1 4 Build a Virtual Reality World on page 1 6 Link to a Virtual Reality World on page 1 7 View Dynamic System Simulations on page 1 8 Share Dynamic System Simulation Visualizations on page 1 8 Virtual Reality World Models of Dynamic Systems The Simulink 3D Animation product is a solution for interacting with virtual reality world models of dynamic systems over time It extends the capabilities of your and Simulink SimMechanics and MATLAB software into the world of virtual reality graphics The product provides a complete authoring development and working environment for carrying out 3 D visual simulations To use virtual reality worlds to visualize dynamic system simulations you perform the following tasks Set up Your Working Environment on page 1 4 e Build a Virtual Reality World on page 1 6 Link to a Virtual Reality World on page 1 7 View Dynamic System Simulations on page 1 8 Share Dynamic System Simulation Visualizations on page 1 8 As you refine your visualization you often perform some of these tasks iteratively To work through an example that illustrates the building linking and viewing a virtual world see Build and Connect a Virtual World on page 5 7 Set up Your Working Environment Install the Simulink 3D Animation software in your MATLAB enviro
289. orld lets you view the virtual world in a virtual world viewer scan its structure and change virtual world properties from the MATLAB Command Window After you create a vrworld object you can open the virtual world by using the vrworld object associated with that virtual world This procedure uses the vrworld object myworld associated with the virtual world vrmount wrl as an example 1 Inthe MATLAB Command Window type open myworld The MATLAB Command Window opens the virtual world vrmount wrl 2 Type set myworld Description My first virtual world The Description property is changed to My first virtual world This is the description that is displayed in all Simulink 3D Animation object listings in the title bar of the Simulink 3D Animation Viewer and in the list of virtual worlds on the Simulink 3D Animation HTML page 3 Display the virtual world vrmount wrl Type view myworld The viewer that is set as the default viewer displays the virtual scene This is typically the Simulink 3D Animation Viewer unless you have a different viewer set Alternatively you can display the virtual world in an HTML5 enabled web browser 1 Repeat steps 1 and 2 of the preceding procedure 2 Open a Web browser In the Address box type http localhost 8123 The browser displays the Simulink 3D Animation HTML page with a link to My first virtual world The number 8123 is the default Simulink 3D Animation port number If you set a differ
290. orresponding inputs Delete the three Scope blocks B1 Translation B2 Translation andS scale and their associated input signal lines Connect the input lines from the VR Signal Expander VR Signal Expander and S Scaling in XYZ blocks to the appropriate ports in the VR Sink block as shown below Build and Connect a Virtual World Pa vrtut3 gt i gt B1 translation gt B2 tnslation Bt Velocity 1X Pasition eo Er gt VR Signal Expander VR Sirk a Symmetry pj VR Signal Expander B1 Thickness 2 L gt gt S Deformation in X Conversion o8 Position to Scale Initial S Radius YZ Deformation S Scaling inXYZ 10 Double click the VR Sink block The viewer appears 11 Select the Simulation menu Block Parameters option Your default viewer opens and displays the virtual world For more information on changing your default viewer see Set the Default Viewer on page 2 2 12 Inthe Parameters VR Sink dialog box click the View button 5 21 5 Build Virtual Reality Worlds de vitut3 ees File View Viewpoints Navigation Rendering gt Fly JE Re aa Ela gt i Simulation Recording Help J wre Pos 0 00 0 00 10 00 Dir 0 00 0 00 1 00 No Viewpoint ft 25 30 Fy i 13 In the Simulink window from the Simulation menu click Run In your default viewer you see a 3 D animation of the scene Using the v
291. osure of the Program and Documentation by the federal government or other entity acquiring for or through the federal government and shall supersede any conflicting contractual terms or conditions If this License fails to meet the government s needs or is inconsistent in any respect with federal procurement law the government agrees to return the Program and Documentation unused to The MathWorks Inc Trademarks MATLAB and Simulink are registered trademarks of The MathWorks Inc See www mathworks com trademarks for a list of additional trademarks Other product or brand names may be trademarks or registered trademarks of their respective holders Patents MathWorks products are protected by one or more U S patents Please see www mathworks com patents for more information Revision History August 2001 July 2002 October 2002 June 2004 October 2004 March 2005 April 2005 September 2005 March 2006 September 2006 March 2007 September 2007 March 2008 October 2008 March 2009 March 2010 September 2010 April 2011 September 2011 March 2012 September 2012 March 2013 September 2013 March 2014 October 2014 March 2015 September 2015 First printing Second printing Online only Third printing Fourth printing Online only Online only Online only Online only Online only Online only Online only Online only Online only Online only Online only Online only Online only Online only Online only Online only Online
292. ow Mouse Navigation The following table summarizes the behavior associated with the movement modes and navigation zones when you use your mouse to navigate through a virtual world Turn the navigation zones on and experiment by clicking and dragging your mouse in the different zones of a virtual world Simulink 3D Animation Viewer Mouse Navigation Movement Mode Zone and Description Walk Outer Click and drag the mouse up down left or right to slide the camera in any of these directions in a single plane Inner Click and drag the mouse up and down to move forward and backward Drag the mouse left and right to turn left or right Examine Outer Click and drag the mouse up and down to move forward and backward Drag the mouse left and right to slide left or right Inner Click and drag the mouse to rotate the viewpoint around the origin of the scene Fly Outer Click and drag the mouse to tilt the view either left or right Inner Click and drag the mouse to pan the camera up down left or right within the scene Center Click and drag the mouse up and down to move forward and backward Move the mouse left or right to turn in either of these directions 7 23 7 Viewing Virtual Worlds 7 24 If your virtual world contains sensors these sensors take precedence over mouse navigation at the sensor s location For more information see Sensors Effect
293. p f vr_filename orbisnap c hostname w vrworld t http v vrport q end_time orbisnap t http v vrport vr_filename_or_hostname q end_time orbisnap h No arguments Starts the default Orbisnap There is no loaded vrworld file and no connection to a Simulink 3D Animation server f vr_filename Optional Orbisnap starts and loads the vrwor1d contained in vr_filename If you do not provide vr_ filename Orbisnap prompts you for the filename c hostname Optional Orbisnap starts and connects to the Simulink 3D Animation server located at hostname hostname can be a hostname or IP address If you do not provide hostname Orbisnap prompts you for the hostname w vrworld Optional Orbisnap starts connects to the Simulink 3D Animation server and loads the virtual world associated with the title vrworld If vrworld is not currently active in the Simulink 3D Animation server the connection to the server does not succeed and the default Orbisnap starts t http Optional Orbisnap starts and connects to the Simulink 3D Animation server at this HTTP port default 8123 t vrport Optional Orbisnap starts and connects to the Simulink 3D Animation server listening at this port default 8124 vr_filename_or_hostname Optional Orbisnap starts and interprets this string first as a vrwor 1d filename for example vrbounce wr1 If the string is not a valid vrworld filename Orbisnap tries to interpret the stri
294. placed by the corresponding information when the animation recording takes place For details see Define File Name Tokens on page 4 12 Recording mode manual scheduled Default manual Animation recording mode Recording interval Vector of two doubles Default 0 0 Start and stop times for scheduled animation recording Corresponds to the virtual world object Time property Time source external freerun Default external Source of the time for the virtual world If set to external time in the scene is controlled from the MATLAB software by setting the Time property or the Simulink software simulation time If set to freerun time in the scene advances independently based on the system timer 2 24 Uninstall V Realm Builder Uninstall V Realm Builder Use the MathWorks uninstaller Running this utility removes the Simulink 3D Animation and Ligos V Realm Builder software from your system It also restores your previous system configuration 1 On the Windows task bar click Start point to MATLAB and then click the uninstaller The MathWorks uninstaller begins running 2 Select the Simulink 3D Animation check box 3 Follow the remaining uninstall instructions 2 25 2 Installation Test the Viewer Installation 2 26 In this section Section Overview on page 2 26 Simulink Testing on page 2 26 MATLAB Testi
295. ple time Ensure that a viewer window is open during simulation Select this check box to ensure that the Simulink 3D Animation Viewer is open during simulation Project positions on a plane Specify whether to display line segments from an object to a plane to approximate the trajectory of the object If you enable this parameter use the Projection plane equation coefficients edit box to specify the plane to which VR Tracer to project the position of the object The coefficients are in the form ax by cz d 0 For example if you use the default plane equation coefficients to 0 1 0 0 for the vrtkoff_trace model then after you simulate the model the object positions project to the y 0 plane File View Viewpoints Navigation Rendering Simulation Recording Help Airport zy R2 dq EB Sl a gt M Pos 69 52 15 52 20 44 Dir 0 73 0 09 0 68 Project positions to a point Displays line segments from an object to a point to approximate the trajectory of the object None Default No projection to a point Defined in block mask If you select this option enter coordinates in the Projection point coordinates edit box Defined in the block input If you select this option specify the coordinates of the point in the output of a block that inputs to the VR Tracer block 9 37 Functions Alphabetical List 10 Functions Alphabetical List 10 2 stl2vrml Convert STL files to
296. ponding physical modeling XML file This function expects the input file structure to correspond to the typical output of the specified CAD tools The typical input file should contain 10 5 10 Functions Alphabetical List 10 6 A structure of viewpoints and inline nodes possibly contained in one layer of transform nodes One inline node for each part of the exported assembly The function also performs the following Upon output discards any additional nodes including transform nodes that do not contain inline nodes Processes hierarchically organized assemblies where inline files instead of part geometries contain additional groups of nested node inline nodes In such subassembly files copies all inline references to the main virtual world 3D file The function wraps these inline references with a Transform node using a name that corresponds to the subassembly name Note If you call this function for a file that is not a product of a CAD export filter the output file might be corrupted Examples To clean up the VRML file four_link wrl vrcadcleanup four_link wrl See Also stl2vrml vrphysmod vr canvas class vr canvas class Create virtual reality canvas Description Create a virtual reality canvas Construction virtualCanvas vr canvas world creates a virtual reality canvas showing the specified virtual world virtualCanvas vrfigure world parent creates a
297. raBound on CameraDirection 0 0 1 CameraPosition 0 0 0 CameraUpVector 0 1 0 ExaminePivotPoint 0 0 0 Headlight on Lighting on MaxTextureSize auto NavPanel opaque NavMode examine NavSpeed normal NavZones on Position 0 01 1 Sound on Stereo3D anaglyph Stereo3DCameraOffset 0 25 Stereo3DHIT 0 02 Textures on Tooltips on Transparency on Triad none Units normalized Viewpoint View 1 Observer Wireframe off ZoomFactor 1 DeleteFcn CameraDirectionAbs 0 0 1987 0 9801 CameraPositionAbs 20 8 50 CameraUpVectorAbs 0 0 9801 0 1987 Parent 1x1 Figure World 1x1 vrworld 10 22 vr canvas class File Edit View Insert Tools Desktop Window Help ATONE AI FACE EL Create vrworld Object for a Virtual World on page 4 2 MATLAB Interaction View a Virtual World in Stereoscopic Vision on page 7 57 See Also vr utils stereo3d vrfigure vrworld figure Introduced before R2006a 10 23 10 Functions Alphabetical List 10 24 capture Class vr canvas Capture virtual reality canvas image Syntax image capture capture canvas Description image capture capture canvas captures a virtual reality canvas into a TrueColor RGB image You can display this image using the image command Input Arguments canvas Virtual reality canvas vr canvas object Virtual reality canv
298. racer mask link Trace the trajectory of an object in the associated virtual scene Markers are objects created in regular time steps to mark traced object positions You can create several types of markers predefined shape markers axis aligned triads line segments connecting object positions to approximate their trajectories and line segments that project object positions to a plane or to a point Object position input must correspond to the placement of the object in the scene hierarchy If the traced object resides as a child of some parent object define the parent object DEF name in the Parent node field If the traced object resides at the top of the scene hierarchy its position is defined in global scene coordinates leave this field empty Inputs Position determines the position of the marker Color if enabled represents the marker RGB color Projection Point if enabled represents the coordinates of the point to which to connect the line from the current marker position Main Marker Projections Associated Virtual Reality 3D file Parent node leave empty for root Marker shape Tetrahedron Connect markers with line segments 7 Place a triad at each marker position Marker scale 111 Marker color selection Block input Sample time 1 for inherited 0 5 Coax Apply VR Tracer Following is the Marker Projections pane of the VR Tracer block dialog box Ca ia Aiii
299. recision number Distance of left and right camera from parallax for stereoscopic vision specified as a non negative floating point double precision number Specifying a vr utils stereo3d object for the Stereo3D property also sets the Stereo3DCamera0ffset and Stereo3DHIT properties and sets color filters for the left and right cameras Stereo3DHIT Horizontal image translation HIT of two stereoscopic images double from 0 to 1 Horizontal image translation HIT of two stereoscopic images specified as a double from 0 through 1 inclusive The larger the value the further back the background appears Specifying a vr utils stereo3d object for the Stereo3D property also sets the Stereo3DCameraO0ffset and Stereo3DHIT properties and sets color filters for the left and right cameras Textures Texture use on default off Texture use specified as on or off Tooltips Tooltips display on default off Tooltips display specified as on or off vr canvas class Transparency Transparency effect on default off Transparency effect specified as on or off Triad Triad location bottomleft default bottomright center topleft topright none Triad location specified bottomleft bottomright center topleft topright or none Units Units for Position property pixels default normalized Units for
300. redit command with the name of the virtual world 3D file For example vredit membrane wrl1 From within the 3D World Editor select File gt Open If a file is already open in the 3D World Editor this option opens a new instance of the editor Preferences for 3D World Editor Startup The Simulink 3D Animation Preferences gt 3D World Editor pane includes the following options for specifying the startup position For the default location select Position Then specify the pixel location for the lower left corner the width and the height for example 96 120 862 960 To open the 3D World Editor in the same location where you exited it select Save position on exit You can specify whether the 3D World Editor starts up either with the default virtual world display layout or with the layout as it was when you exited it previously The saved layout includes settings for the view viewpoints navigation and rendering Simulink 3D Animation saves the layout on a per virtual world 3D file basis for up to eight files By default the virtual world opens with the layout saved at exit To have the virtual world open using the default layout clear the Preferences gt Simulink 3D Animation gt 38D World Editor gt Preserve Layout per Virtual Reality 3D File check box 3D World Editor Panes 3D World Editor Panes The 3D World Editor provides three panes Tree structure pane View the hierarchy for the virtual world t
301. rent Web browser virtual world plug in DefaultWorldRecord3D FileName Specifies the default 3 D animation file name for new vrworld objects DefaultWorldRecordMode Specifies the default animation recording mode for new vrworld objects Valid values are manual and scheduled DefaultWorldRecord Interval Specifies the default start and stop times for scheduled animation recording for new vrworld objects Valid value is a vector of two doubles DefaultWorldRemoteView Specifies whether the virtual world is enabled by default for remote viewing for new vrworld objects Valid values are off and on DefaultWorldTimeSource Specifies the default source of the time for new vrworld objects Valid values are external and freerun Editor Path to the virtual world editor If this path is empty the MATLAB editor is used EditorPreserveLayout Specifies whether the 3D World Editor starts up with a saved version of the layout of a virtual world when you exited it or reverts to the default layout The layout of the virtual world display pane includes settings for the view viewpoints navigation and rendering Valid values are off and on The default is on use saved layout vrsetpref Preference Description HttpPort IP port number used to access the Simulink 3D Animation server over the Web via HTTP If you change this preference you must restart the MATLAB soft
302. ried Description This method returns an array that contains 1 when the elements of vrnode_object_vector are valid vrnode objects and 0 when they are not The vrnode object is considered valid if the following conditions are met The parent world of the node exists The parent world of the node is open The node with the given vrnode handle exists in the parent world See Also vrfigure isvalid vrworld isvalid 10 85 10 Functions Alphabetical List 10 86 vrnode set Change property of virtual world node Syntax x set vrnode_object property_name property_value Arguments vrnode_object Name of a vrnode object representing a node in the virtual world property_name Name of a property property value Value of a property Description x set vrnode object property_name property_value changes the specified property of the vrnode object to the specified value The vrnode property values are case sensitive while property names are not case sensitive The vrnode property values are case sensitive while property names are not case sensitive The vrnode objects have the following properties All these properties are read only Property Value Description Fields Cell array Valid field names for the node Read only Name String Name of the node Read only Type String Type of the node The value is a string for example Transform Shape Read only
303. right click in the virtual world and clear the Rendering gt Sound option 7 55 7 Viewing Virtual Worlds For a vr canvas object to disable sound set the Sound property to off To control volume use your computer volume controls 7 56 View a Virtual World in Stereoscopic Vision View a Virtual World in Stereoscopic Vision In this section Enable Stereoscopic Vision on page 7 57 Control Stereoscopic Effects on page 7 58 You can view a virtual world using 3D effects so that elements in the virtual world appear to come forward or back from the plane of the monitor You can use stereoscopic vision with these Simulink 3D Animation components 3D World Editor Simulink 3D Animation Viewer 3D Animation Player e vr canvas on a figure window Orbisnap Simulink 3D Animation supports two stereoscopic vision approaches Anaglyph Use red cyan 3D glasses Viewing a virtual world in this mode causes the colors to appear as almost grayscale This approach does not require any special computer hardware or software e Active stereo Use active shutter 3D glasses This approach preserves color effects and produces more powerful 3D effects Active stereo requires a specially configured computer and monitor setup For details see Active Stereoscopic Vision Configuration on page 7 59 Enable Stereoscopic Vision By default virtual worlds display without stereoscopic visi
304. roto in the virtual scene associated with vrworld_object After you save the virtual world these PROTO declarations no longer require a reference to the original file protofile that contains the EXTERNPROTO declarations 10 127 10 Functions Alphabetical List 10 128 vrworld close Close virtual world Syntax close vrworld_ object Arguments vrworld_ object A vrworld object representing the virtual world Description This method changes the virtual world from an opened to a closed state Ifthe world was opened more than once you must use an appropriate number of close calls before the virtual world closes e Ifvrworld_object is a vector of vrwor1d objects all associated virtual worlds close Ifthe virtual world is already closed close does nothing Opening and closing virtual worlds is a mechanism of memory management When the system needs more memory and the virtual world is closed you can discard its contents at any time Generally you should close a virtual world when you no longer need it This allows you to reuse the memory it occupied The vrwor1d objects associated with this virtual world stay valid after it is closed so the virtual world can be opened again without creating a new vrworld object Examples myworld vrworld vrpend wrl open myworld vrworld close close myworld See Also vrworld vrworld delete vrworld open 10 129 10 Functions Alphabetical Li
305. rough either the Simulink 3D Animation Viewer described in Simulink 3D Animation Viewer on page 7 4 or the MATLAB interface You can then play back these animations offline in other words independent of the MATLAB Simulink or Simulink 3D Animation products You might want to generate such files for presentations to distribute simulation results or to generate archives Note If you are working with virtual scenes controlled from MATLAB you can record virtual scenes through the MATLAB interface Optimally use the Simulink 3D Animation Viewer to record animations of virtual worlds associated with Simulink models This method ensures that all necessary virtual world and vrfigure properties are properly set to record simulations For details see Record Offline Animations on page 7 38 Recording Formats You can save the virtual world offline animation data in the following formats 3 D virtual world file The Simulink 3D Animation software traces object movements and saves that data into a virtual world 3D file using VRML97 standard interpolators You can then view these files with the Simulink 3D Animation Viewer 3 D VRML files typically use much less disk space than Audio Video Interleave AVI files If you make any navigation movements in the Simulink 3D Animation Viewer while recording the animation the Simulink 3D Animation software does not save any of these movements Note If you distribute virtual world 3D an
306. rough the MATLAB interface no Simulink model is associated with the viewer You cannot start and stop the simulation in this case 7 9 7 Viewing Virtual Worlds Specify Rendering Techniques 7 10 You can change the rendering of the scene through the controls on the navigation panel or options on the rendering menu The vrpend and vrplanets examples are used to show the viewer s functionality You can turn the antialiasing of the scene on or off Antialiasing applies to the textures of a world Antialiasing is a technique that attempts to smooth the appearance of jagged lines These jagged lines are the result of a printer or monitor s not having enough resolution to represent a line smoothly When Antialiasing is on the jagged lines are surrounded by shades of gray or color Therefore the lines appear smoother rather than jagged The following figure depicts the vrplanets example View on Earth viewpoint with Antialiasing on To better display the effects of antialiasing turn Headlight on You can turn antialiasing on or off to observe the differences E Planets o e File View Viewpoints Navigation Rendering Simulation Recording Help View on Earth gj Fly yd Eze q a E E m gt Specify Rendering Techniques You can turn the camera headlight and the lighting of the scene on or off When Headlight is off the camera does not emit light Consequently the scene can appear dark For example the following figure depi
307. rtual world Syntax myworld vrworld filename myworld vrworld filename reuse myworld vrworld filename new myworld vrworld myworld vrworld myworld vrworld Arguments filename String containing the name of the virtual world 3D file from which the virtual world is loaded You can specify wrl x3d or x3dv If no file extension is specified the file extension wrl is assumed new Argument to create a virtual world associated with filename Description myworld vrworld filename creates a virtual world associated with the virtual world 3D file filename and returns its handle If the virtual world already exists a handle to the existing virtual world is returned Specify the file name as a string myworld vrworld filename reuse has the same functionality as myworld vrworld filename myworld vrworld filename new creates a virtual world associated with the virtual world 3D file filename and returns its handle It always creates a new virtual world object even if another vrworld object associated with the same file already exists 10 123 10 Functions Alphabetical List 10 124 myworld vrworld creates an invalid vrworld handle myworld vrworld creates an empty vrworld object that is not associated with any virtual world 3D file myworld vrworld returns an empty array of returns an empty array of vrworld handles A vrwor ld object identifies a virtual worl
308. rying frame capture or animation file names you can Create files whose root names are the same as those of the virtual world This option is useful if you use different virtual worlds for one model Define File Name Tokens Create files in directories relative to the virtual world location This option is useful if you want to ensure that the virtual world file and frame capture or animation file are in the same folder Create rolling numbered file names such that subsequent frame captures or runs of the model simulation create incrementally numbered file names This is useful if you expect to create files of different parts of the model simulation This feature allows you to capture a frame or run a Simulink model multiple times but create a unique file each time Create multiple file names with time or date stamps with a unique file created each time See File Name Tokens on page 4 14 for a summary of the file name tokens More About File Name Tokens on page 4 14 4 13 MATLAB Interface File Name Tokens The software supports a variety of file naming formats using file tokens By default the Viewer captures virtual scene frames or records simulations in a file named with the following format f_anim_ n e This format creates a unique file name each time you capture a frame or record the animation The following tokens are the same for frame capture tif or png or animation wrl1 X3
309. s are used in calculations for purposes like collision detection near object clipping or terrain following You can customize avatar dimensions and also other navigation specific parameters such as default navigation speed using the NavigationInfo node The Simulink 3D Animation viewer enables effective navigation in the virtual world 5 43 5 Build Virtual Reality Worlds 5 44 including scaled scenes e g inspecting miniature objects or visualizing a large scale aircraft operation in space For such navigation to be successful the scene s author must define the NavigationInfo parameters correctly Coordinate System Used VRML and X8D use a Cartesian coordinate system with axes defined so that e x points right e y points up z points out of the screen To avoid transforming object axes into the virtual world system later on export CAD models using an identical coordinate system whenever possible If your CAD tool uses a different coordinate system and it does not allow you to change it for the exported objects make sure to note the difference between the systems so that you can implement axes transformations in your model later Also make a note of the orientation of the parts in the coordinate system For instance if a vehicle model is exported so that it points towards the x axis on a road in the virtual world then the road should also point towards the x direction and the model of vehicle dynamics should a
310. s SFFloat 1 6 Save the virtual world file Your next task is to connect the model outputs to the Simulink 3D Animation block in your Simulink model See Link to a Simulink Model on page 5 20 5 19 5 Build Virtual Reality Worlds 5 20 Link to a Simulink Model After you create a virtual world and a Simulink model and add a VR Sink block to your model you can define the associations between the model signals and the virtual world This procedure uses the model vrtut3 as an example It assumes that you have opened the model and that you have added a VR Sink block and that you have created a virtual world called vrtut3 wrl See the tutorial starting with Add a Simulink 3D Animation Block on page 5 9 1 In the Simulink model window double click the VR Sink block The Parameters VR Sink dialog box opens Next to the Source file edit box click Browse The Open dialog box opens Select vrtut3 wrl and then click Open In the Output pane select the Open Viewer automatically check box This check box specifies that a viewer for the virtual world starts when you run the model In the Description field type vrtut3 Click Apply in the Parameters VR Sink dialog box In the tree structure pane of the dialog box select the B1 translation B2 translation and S scale check boxes as the nodes you want to connect to your model signals Click OK to close the dialog box The VR Sink block appears with c
311. s it in the Simulink 3D Animation Viewer or the Web browser depending on the value of the DefaultViewer preference The handle to the virtual world is returned x vrview filename internal creates a virtual world associated with the wr file opens the virtual world and displays it in the Simulink 3D Animation Viewer x vrview filename web creates a virtual world associated with the wrl file opens the virtual world and displays it in your Web browser vrview filename viewpointname specifies a default viewpoint See Also vrplay vrworld vrworld open vrworld view vrwho vrwho List virtual worlds in memory Syntax vrwho x vrwho Description If you do not specify an output parameter vrwho displays a list of virtual worlds in memory in the MATLAB Command Window If you specify an output parameter vrwho returns a vector of handles to existing vrworld objects including those opened from the Simulink interface See Also vrclear vrwhos vrworld 10 121 10 Functions Alphabetical List vrwhos List details about virtual worlds in memory Syntax vrwhos Description vrwhos displays a list of virtual worlds currently in memory with a description in the MATLAB Command Window The relation between vrwho and vrwhos is similar to the relation between who and whos See Also vrclear vrwho 10 122 vrworld vrworld Create new vrwor1d object associated with vi
312. s of vrworl1d object Syntax set vrworld_object property_name property_value Arguments vrworld_ object Name of a vrworld object representing a virtual world property_name Name of the property property_value New value of the property Description You can change the values of the read write virtual world properties The following are properties of vrwor ld objects Names are not case sensitive Property Value Description Clients Scalar Number of clients currently viewing the virtual world Read only ClientUpdates off on Client cannot or can update the virtual scene Read write Default on Description String Description of the virtual world as it appears on the main Web page Read Default automatically taken write from the virtual world 3D file property title Figures Vector of vrf igure objects Vector of handles to Simulink 3D Animation viewer windows currently viewing the virtual world Read only FileName String Name of the associated virtual world 3D file Read only 10 143 10 Functions Alphabetical List Property Value Description Nodes Vector of vrnode objects Vector of vrnode objects for all named nodes in the virtual world Read only Open off Tom Indicates a closed or open virtual world Read only Default ofFf Record3D off on Enables 3 D animation recording Read write Default off Record3DFileName String 3
313. s regardless their dimensions For maximum accuracy of the exported virtual world model set the slider at the rightmost position If the resulting file is too complex to be handled effectively with VRML rendering tools experiment with this accuracy setting You want to find the setting that gives you the smallest possible virtual world model but it must still be visually acceptable VRML Export Filter Settings The CATIA software enables you to tune some VRML export options These are available in the Tools gt Options gt General gt Compatibility gt VRML Import VRML Models from CATIA Software Select VRML97 as the export format The Simulink 3D Animation software uses VRML97 standard format Select the Save normals check box This option affects whether or not to export explicit face normals definitions Clear the Save edges check box Clear this check box for optimum performance Selecting this check box directs the CATIA software to also export object edges in the form of IndexedLineSets Select the appropriate Save textures check boxes to the desired settings In particular if you want to save textures select the Save textures in external files option This option generates external JPG files for object textures Select the VRML model background color This option applies only to exporting products Structure of VRML Models Exported from the CATIA Environment The CATIA software exports CATProducts and
314. s value can be negative on systems that have more than one monitor bottom Distance from the bottom edge of the primary display to the inner bottom edge of the canvas This value can be negative on systems that have more than one monitor width Distance between the right and left inner edges of the canvas height Distance between the top and bottom inner edges of the canvas Example 230 250 570 510 Data Types double PropertyName Value Pair Arguments Specify optional comma separated pairs of PropertyName Value arguments PropertyName is the argument name and Value is the corresponding value PropertyName must appear inside single quotes You can specify several name and value pair arguments in any order as PropertyName1 Value1 PropertyNameN ValueN vr canvas class Example set myFigure Antialising on CameraPosition 0 100 100 Antialiasing Smooth textures using antialiasing off default on Smooth textures using antialising specified as on or off Antialiasing smooths textures by interpolating values between texture points CameraBound Camera movement with current viewpoint on default off Camera movement with the current viewpoint specified as on or off CameraDirection Camera direction in the current viewpoint local coordinates vector of three doubles Camera direction in the current viewpoint local coordinates specified as a vector of three
315. saves the file using the new name that you specify The file is saved in a form that is supported by the Simulink 3D Animation Viewer and 3D World Editor for example the saved file preserves links to the library texture files Use the File gt Export menu item to export a virtual world 3D file for use e With other VRML or X8D tools On different computers In previous versions of the Simulink 3D Animation previously the Virtual Reality Toolbox product for VRML files Note You cannot save an X3D file x3d or x3dv file as a VRML wrl file For exported files the 3D World Editor copies referenced inlined virtual world 3D files and texture files to the lt filename gt _files folder It modifies the corresponding URLs for those files so that they point to the lt filename gt _files folder Edit VRML and X3D Scripts To add a VRML or X8D Script node 1 Inthe Tree structure pane select the ROOT node 2 Select the appropriate kind of script using the Node gt Add gt Common gt Script menu To add Script interface elements 1 Right click a Script node 2 Select the appropriate Add Interface Item menu option The following is an example of a Script node in the Tree structure pane Basic Editing Eb Sel Script ed direction SFVec3 e atollMaterial SFNode ground MFColor B sky MFColor nop url MFString vrmlscript function direction value y value 1 if the sun is
316. se changes to the scene in the viewer Changes to the scene are normally queued and the views are updated when The MATLAB software is idle for some time no Simulink model is running and no script is being executed A Simulink step is finished 10 29 10 Functions Alphabetical List 10 30 vredit Open 3D World Editor Syntax w vredit w vredit filename Description w vredit opens the 3D World Editor with an empty virtual world w vredit filename opens a virtual world file in the 3D World Editor based on the specified filename It returns the vrworl1d handle of the virtual world Examples Open New Virtual World in 3D World Editor vredit Open Existing Virtual World in 3D World Editor Open the membrane virtual world in the 3D World Editor myworld vredit membrane wrl See Also vrworld edit vrworld open vrfigure class vrfigure class Create virtual reality figure Description Creates a virtual reality figure To access vr figure properties use the vrfigure get method To change properties use the vrfigure set method If you create a vr figure object by specifying a virtual world the virtual figure displays in the viewer specified in the vrsetpref DefaultViewer property Construction virtual_figure vrfigure world creates a virtual reality figure showing the specified virtual world virtual_figure vrfigure world position creates a virtual reality figure at the
317. se direction is the positive rotation angle of an object moving around that axis Child objects In the hierarchical structure of a VRML file specify the position and orientation of child objects relative to the parent object The parent object has its local coordinate space defined by its own position and orientation Moving the parent object also moves the child objects relative to the parent object Measurement units All lengths and distances are measured in meters and all angles are measured in radians VRML File Format You need not have any substantial knowledge of the VRML format to use the VRML authoring tools to create virtual worlds However a basic knowledge of VRML scene description helps you create virtual worlds more effectively A basic knowledge also Virtual Reality Modeling Language gives you a good understanding of how you can control the virtual world elements using Simulink 3D Animation software For more information see the VRML97 Reference at http www web3d org Many specialized VRML books can help you understand VRML concepts and create your own virtual worlds For more information about the VRML refer to an appropriate third party VRML book VRML uses a hierarchical tree structure of objects nodes to describe a 3 D scene Every node in the tree represents some functionality of the scene There are many different types of nodes Some of them are shape nodes representing real 3 D objects and
318. sented by a sequence of floating point numbers SFString String in UTF 8 encoding char Compatible with ASCII allowing you to use Unicode characters SFNode Container for a node vrnode MFFloat Array of SFFloat values Single array n by 1 MFInt32 Array of SFInt32 values int32 array n by 1 MFVec2f Array of SFVec2f values Single array n by 2 MFVec3f Array of SFvec3f values Single array n by 3 MFColor Array of SFColor values Single array n by 3 MFRotation Array of SFRotation values Single array n by 4 MFString Array of SFString values char array n by 1 MFNode Array of SFNode values vrnode 5 25 5 Build Virtual Reality Worlds 5 26 The Simulink 3D Animation software can work with various MATLAB data types converting them if necessary The inputs for the setfield function and its dot notation form and VR Sink and VR Source blocks accept all meaningful data types on input Both convert the data types into natural virtual world types as necessary The data types include logicals signed and unsigned integers singles and doubles The getfield function and its dot notation form return their natural data types according to the table above To ensure backward compatibility with existing models and applications use the Simulink 3D Animation vrsetpref function to define the data type support Their names are as follows Property Description DataTypeBool Specifies the boolean dat
319. setpref Change Simulink 3D Animation preferences Syntax vrsetpref preference_name vrsetpref factory Arguments preference_name preference_value Description preference_value Name of the preference New value of the preference This function sets the given Simulink 3D Animation preference to a given value The following preferences are defined For preferences that begin with the string DefaultFigure or DefaultWor1d these values are the default values for the corresponding vrf igure or vrworld property Preference Description DataTypeBool DataTypeInt32 Specifies the handling of the virtual world Bool data type for vrnode setfield and vrnode getfield Valid values are logical and char If set to logical the virtual world Bool data type is returned as a logical value If set to char the Bool data type is returned on or off Default is logical Specifies handling of the virtual world Int32 data type for vrnode setfield and vrnode getfield Valid values are int32 and double If set to int32 the virtual world Int32 data type is returned as int32 If set to vrsetpref Preference Description double the Int32 data type is returned as double Default is double DataTypeFloat Specifies the handling of the virtual world float data type for vrnode setfield and vrnode getfield Valid values are single and double If set t
320. sitions in global coordinates Object rotations Send to VR Sink all rotations in global coordinates with center of rotation defined as the coordinate system origin As the default center of rotation of Transform objects is 0 0 0 it is usually not necessary to define it for each part in the virtual world 3D file When all parts in Simulink model follow hierarchical relations and the virtual world has a nested structure use the following positions and rotations Object positions Send to VR Sink all positions in local coordinates relative to their parents or predecessors in the object hierarchy For example send the robot s tool position relative to the robot s hand Object rotations Send to VR Sink all rotations in local coordinates relative to their parents or predecessors in the object hierarchy For example send the robot s tool rotation relative to the robot s hand To visually match the positions of joints between objects it is usually necessary to coincide the center of rotation defined in the virtual world with the center of rotation defined in the Simulink model as joints between parts are usually positioned not in the origin 0 0 0 of the parent s coordinate system To define a center of rotation different from the default value 0 O 0 define the center field of the child s Transform node in the virtual world 3D file For example define the robot s tool center of ro
321. slation HIT of two stereoscopic images double from 0 to 1 Horizontal image translation HIT of two stereoscopic images specified as a double from 0 through 1 inclusive The larger the value the further back the background appears By default the background image is at zero and the foreground image appears to pop out from the monitor toward the person viewing the virtual world Specifying a vr utils stereo3d object sets the Stereo3D Stereo3DCamaraOf fset and Stereo3DHIT properties Specifying a vr utils stereo3d object also sets color filters for the left and right cameras Textures Texture use on default off 10 53 10 Functions Alphabetical List 10 54 Texture use specified as on or off Toolbar Toolbar display on default off Toolbar display specified as on or off Tooltips Tooltips display on default off Tooltips display specified as on or off Transparency Transparency effect on default off Transparency effect specified as on or off Viewpoint Active viewpoint of figure string Active viewpoint of a figure specified as a string If the active viewpoint has no description use an empty string Wireframe Wireframe display of f default on Wireframe display specified as on or off ZoomFactor Camera zoom factor 1 default floating point number Camera zoom factor spec
322. some of them are grouping nodes used for holding child nodes Here are some example nodes Box Represents a box in a scene e Transform Defines position scale scale orientation rotation translation and children of its subtree grouping node Material Corresponds to material in a scene e DirectionalLight Represents lighting in a scene Fog Allows you to modify the environment optical properties e ProximitySensor Brings interactivity to VRML97 This node generates events when you enter exit and move within the defined region in space Each node contains a list of fields that hold values defining parameters for its function Nodes can be placed in the top level of a tree or as children of other nodes in the tree hierarchy When you change a value in the field of a certain node all nodes in its subtree are affected This feature allows you to define relative positions inside complicated compound objects You can mark every node with a specific name by using the keyword DEF in the VRML scene code For example the statement DEF MyNodeName Box sets the name for this box node to MyNodeName You can access the fields of only those nodes that you name in a virtual world In the following example of a simple VRML file two graphical objects are modeled in a 3 D scene A flat box with a red ball above it represents the floor The VRML file is a readable text file that you can write in any text editor VRML
323. ssembly1 SAN children children Transform Crank ssembly1 Transform CylinderSleeve1 Transform Piston ssembly1 Transform CrankshaftAssembly1 Group Do not adjust parts in the scene that you do not want to control from the MATLAB environment 5 54 Import VRML Models from CATIA Software Scaling of VRML Objects To convert CATProduct size from millimeters to meters VRML default units the CATIA software wraps the transform corresponding to the CATProduct with an additional transform In this transform the scale field is defined The preceding example illustrates this If you have a small object or an object that you must place into an overall virtual world adjust this scale If you leave the VRML object scale in the default state the local part coordinates are still in millimeters Remember this fact when controlling these parts from the MATLAB or Simulink environment If your MATLAB or Simulink model units are meters scale each part individually to achieve correct results You can do this by deleting the scale field from the top level transform and adding it to each individual part transform For example Transform children DEF CylinderAssembly1 Transform children DEF CrankAssembly1 Transform scale 0 001 0 001 0 001 5 55 Using the 3D World Editor 3D World Editor on page 6 2 Open the 3D World Editor on page 6 5 3D World Editor Panes on p
324. ssible to send to the VR Sink block a virtual world rotation value consisting of three placeholder signals and the computed angle forming a valid four element axis angle vector SimMechanics Models You can use the Simulink 3D Animation product to view the behavior of a model created with the SimMechanics software First you build a model of a machine in the Simulink interface using SimMechanics blocks Then create a detailed picture of your machine in a virtual world connect this world to the SimMechanics body sensor outputs and view the behavior of the bodies in a virtual world viewer The SimMechanics software is very well suited for 3D visualizations using the Simulink 3D Animation product Apart from features that SimMechanics product offers for modeling mechanical assemblies the following features simplify the visualization of SimMechanics models in virtual reality SimMechanics and virtual world coordinate systems are identical In the SimMechanics software you can work with both global and local object coordinates so it is easy to adapt the model to the structure of the virtual world exported from the CAD tool The SimMechanics product also offers a convenient way of importing CAD assembly designs into SimMechanics machines through the SimMechanics Link interface Alternatively when you export a CAD assembly to the virtual world format the additional steps described in this section can add virtual reality visualization to
325. st 10 130 vrworld delete Remove virtual world from memory Syntax delete vrworld_object Arguments vrworld_ object A vrworld object representing a virtual world Description The delete method removes from memory the virtual world associated with a vrworld object The virtual world must be closed before you can delete it Deleting a virtual world frees the virtual world from memory and invalidates all existing vrworld objects associated with the virtual world If vrworld_object is a vector of vrwor1d objects all associated virtual worlds are deleted You do not commonly use this method One of the possible reasons to use this method is to ensure that a large virtual world is removed from memory before another memory consuming operation starts See Also vrclear vrworld close vrworld edit vrworld edit Open virtual world file in virtual world editor Syntax edit vrworld_ object Arguments vrworld_ object A vrworld object representing a virtual world Description The edit method opens the virtual world 3D file associated with the vrwor1d object in a virtual world editor The Editor preference specifies the editor to use See vrsetpref for details on setting preferences The editor saves any changes you make directly to a virtual world file If the virtual world is open e Use the save command in the virtual world editor to save the changes to a virtual world file In the MATLAB interface t
326. sualization Simulation of Multiple Objects vr_octavia_2cars This example extends the vr_octavia example to show multiple object scenario visualizations The precomputed simulation data represents a standard double lane change maneuver conducted in two vehicle configurations One configuration engages the Electronic Stability Program control unit The other configuration switches that control unit off The example sends two sets of vehicle dynamics data in parallel to the virtual reality scene to drive two different vehicles Models of the vehicles use the EXTERNPROTO mechanism In the main virtual world associated with the VR Sink block you can create several identical vehicles as instances of a common 3 D object This approach greatly simplifies virtual world authoring For instance it is very easy to create a third vehicle to simultaneously visualize another simulation scenario The octavia_scene_lchg_2cars wrl virtual world the code after the definition of PROTOS illustrates an approach for easy to define reusable objects In addition to vehicle properties controlled in the vr_octavia example vehicle prototypes also allow you to define vehicle color and scale These properties distinguish individual car instances color and avoid unpleasant visual interaction of two nearly aligned 3 D objects scale Scaling one of the cars by a small amount encompasses one car into another so that their faces do not clip randomly based on the curre
327. system behavior using Simulink 3D Animation Build virtual worlds with Virtual Reality Modeling Language VRML or X8D Extensible 3D Use the 3D World Editor to Create objects in the virtual world from scratch using X3D or VRML node types Create objects using templates available in the 3D World Editor object library Import objects exported from CAD tools Simplify geometries of imported objects Create or modify hierarchy of objects in the scene Give objects in the virtual world unique names in order to access them from MATLAB and Simulink Set scene background lighting and navigation properties Define suitable viewpoints that are significant for working with the virtual world Open the 3D World Editor App MATLAB command prompt Enter vredit Examples Create a Virtual World on page 6 9 Build and Connect a Virtual World on page 5 7 Basic Editing on page 6 11 Reduce Number of Polygons for Shapes on page 6 20 Add Sound to a Virtual World on page 5 30 3D World Editor View a Virtual World in Stereoscopic Vision on page 7 57 Virtual Reality World and Dynamic System Examples on page 1 22 More About 3D World Editor on page 6 2 3D World Editor Panes on page 6 7 X3D Support on page 1 11 Virtual Reality Modeling Language on page 1 14 3D World Editor Library on page 6 25 Virtual World Navigation in 3D World Editor on page 6 21 See
328. t Run Alternatively if you are using the Simulink 3D Animation default viewer you can run the Simulink model with one of the following from the viewer From the menu bar select the Simulation menu Start option to start the simulation From the toolbar click Start pause continue simulation to start the simulation From the keyboard press Ctrl T to start the simulation 4 25 MATLAB Interface 4 26 10 11 12 The simulation runs The Simulink 3D Animation software starts recording when the simulation time reaches the specified start time and creates the file vrplanets_anim_N avi in the current working folder when finished where N is either 1 or more depending on how many file iterations you have When you are done stop the simulation You can use one of the following from the viewer From the menu bar select the Simulation menu Stop option to stop the simulation From the toolbar click Stop simulation to stop the simulation From the keyboard press Ctrl T to stop the simulation If you want to enable the navigation panel again type set f NavPanel halfbar Close and delete the objects if you do not want to continue using them Record Animations for Unconnected Virtual Worlds Record Animations for Unconnected Virtual Worlds This topic describes how to programmatically record animation files for virtual worlds that are not associated with Simulink models in other words from
329. t f NavPanel none Run the Simulink model From the Simulation menu select Mode gt Normal then click Simulation gt Run Alternatively if you are using the Simulink 3D Animation default viewer you can run the Simulink model with one of the following from the viewer From the menu bar select the Simulation menu Start option to start or stop the simulation From the toolbar click Start pause continue simulation to start the simulation From the keyboard press Ctrl T to start the simulation As the simulation runs start recording the animation by setting the virtual world Recording property Type set myworld Recording on This turns on the recording state To stop the recording operation type set myworld Recording off 4 19 MATLAB Interface 4 20 11 12 13 The Simulink 3D Animation software stops recording the animation The Simulink 3D Animation software creates the file vrplanets_anim_1 avi in the current working folder If the simulation stops before you stop recording the recording operation stops and creates the animation file Stop the simulation You can use one of the following from the viewer From the menu bar select the Simulation menu Stop option to stop the simulation From the toolbar click Stop simulation to stop the simulation From the keyboard press Ctrl T to stop the simulation You do not need to manually stop the simulation If you do no
330. t is often just an issue of finding the appropriate compromise between these two requirements As there are significant performance differences among various computers and graphic accelerators there is no firm recommendation for the number of polygons or triangles suitable for use with the Simulink 3D Animation product To assess the model s complexity you can display the resulting virtual world 3D file in the Simulink 3D Animation viewer and observe the viewer response to navigation If you can navigate the virtual world without any significant delays the model is usually suitable for further work If you connect the virtual world to a Simulink model you have access to more precise measures of suitability such as the number of frames rendered per second during simulation Units Used in Exported Files VRML length units are meters To scale exported parts correctly in the virtual world export the parts using meters If the exported objects are very small or very large you may want to create your virtual world in some other scale In this case you should export the objects using units other than meters Virtual reality viewers are made to measure using dimensions that are comparable to the dimensions of people to achieve the immersion effect of virtual reality Viewers assume that the author prepared the scene so that it can be walked through or examined by a virtual visitor to the scene sometimes called the Avatar whose physical dimension
331. t manually stop the recording the recording operation does not stop and create the animation file until the simulation stops If you want to enable the Navigation Panel again type set f NavPanel halfbar Close and delete the objects if you do not want to continue using them Scheduled 3 D Recording with MATLAB Scheduled 3 D Recording with MATLAB This topic describes how to schedule the recording of a 3 D animation using the MATLAB interface for a virtual world that is associated with a Simulink model You control the animation file recording by presetting a time interval The Simulink 3D Animation software records the animation during this interval in the simulation In this example the timing of the recorded animation file derives from the simulation time One second of the recorded animation time corresponds to one second of Simulink time This procedure uses the vrplanets example It describes how to create a virtual world 3D animation filename with the default name format 1 Run the Simulink model for vrplanets In the MATLAB window type vrplanets The Simulink model is displayed Also by default the Simulink 3D Animation Viewer for that model is loaded and becomes active If the viewer is not displayed double click the Simulink 3D Animation block in the Simulink model To work with the virtual world associated with vrplanets from the MATLAB interface retrieve the virtual world handle Use the vrwhos comman
332. t use spaces when naming assemblies and components Avoiding spaces in assembly and component names ensures that the assembly VRML file has the same tree structure as the related source in SolidWorks You can then use the vrphysmod function to process the assembly VRML file to obtain a Simulink model with VRML visualization See Also vrcadcleanup vrphysmod vrcadcleanup vrcadcleanup Clean up virtual world 3D file exported from CAD tools Syntax vrcadcleanup filename vrcadcleanup filename hint Description vrcadcleanup filename copies the specified file to a backup file with the extension bak It then modifies the virtual world 3D file exported from Pro ENGINEER or SolidWorks This cleanup enables the Simulink 3D Animation software to use these files vrcadcleanup performs the following modifications to VRML files Removal of everything except inlines viewpoints and transforms e Provision of names for inline transforms Note You can use vrcadcleanup with VRML files wr1 but not with X8D files x3d or X3dv vrcadcleanup filename hint takes in account the value of hint during conversion Possible value of hint includes Argument Description solidworks Assumes that the software is exporting the original set of virtual world 3D files from SolidWorks This option adds or increments the numerical suffix to the node names to match the part names that exist in the corres
333. tains several VR Sink blocks that refer to the same vrmlfile this function attempts to consolidate the animation signals of that virtual scene into one VR Sink block Note The SolidWorks VRML export filter does not preserve part instance names and the part order in the resulting virtual world 3D file Therefore the association between such parts and the corresponding bodies in the block diagram is not always an exact match In such cases the function identifies nodes with partial matches and issues warnings To prevent these warnings ensure that node DEF names in the virtual world 3D file are identical to their corresponding bodies in the Simulink model before running this function vrphysmod If you receive this warning and the set of VRML files does not originate in the SolidWorks product ignore the message Other supported CAD tools also generate part names with similar names but preserve them across different export formats Examples To update the model four_link using the file four_link wrl vrphysmod four_link wrl four_link To update the subsystem four_link FOURLINK_ASM using the VRML file four_link wrl ensure that the model that contains the subsystem is open then vrphysmod four_link wrl four_link FOURLINK_ASM To update the current system using the file four_link wrl vrphysmod four_link wrl gcs See Also stl2vrml vrcadcleanup mech_import 10 97 10 Functions Alphabetical L
334. tances when this MATLAB functionality is appropriate for use with CAD based designs may include Using customized GUIs to visualize static objects and their relations in a virtual environment such as in interactive machine assembly instructions Visualizing 3D information based on an independent quantity not necessarily time Using MATLAB interface functions in Simulink model callbacks Visualizing systems whose dynamic models are available as MATLAB code Visualizing systems where massive object changes such as deformations are taking place In this case you must send dynamically sized matrix type data from the dynamic models to virtual worlds which is not possible using just Simulink signals For information on setting object properties using the MATLAB interface see MATLAB Interaction 5 39 5 Build Virtual Reality Worlds Import STL and Physical Modeling XML Files Directly into a Virtual World 5 40 CAD models frequently use STL STereoLithography format files or Physical Modeling XML files You can use the 3D World Editor to import STL and Physical Modeling XML files directly into a VRML virtual scene You can integrate content from those files into a virtual world converting the structure into VRML Note You cannot use the 3D World Editor to import STL and Physical Modeling XML files directly into an X3D virtual scene To import an STL or Physical Modeling XML file 1 Inthe 3D World Editor select
335. tation 0 0 1 0 ff translation SFVec3f 0 0 0 f bboxCenter SFVec3 0 0 0 f bboxSize SFVec3f 1 1 1 children MFNode 5 Shape appearance SFNode Appearance d textureTransform SFNode texture SFNode 5 material SFNode Material ambientintensity SFFI af diffuseColor SFColor af emissiveColor SFColo H shininess SFFloat 0 2 4 specularColor SFColo f transparency SFFloat 5 geometry SFNode Sphere si 5 To make the sphere blue under the Material node select the diffuseColor property In the object properties edit pane change the first column value to 0 2 the second column to 1 and the third column to 1 3D World Editor H Documents MATLAB vrtut3 junk wrl gt lo File Edit ViewPane Tree Nodes Help paggeuUBuHJA J JeERENEEET We E F ST ranstormy ai of center SFVec3f 0 0 0 rotation SFRotation 0 0 1 0 scale SFVec3f 1 1 1 scaleOrientation SFRotation 0 0 1 0 4h translation SFVec3f 0 0 0 f bboxCenter SFVec3f 0 0 0 f bboxSize SFVec3f 1 1 1 5 e children MFNode Shape appearance SFNode Appearance textureTransform SFNode texture SFNode 3J material SFNode El e Material af ambientintensity SFI of diffuseColor SFColor ff emissiveColor SFColo h shininess SFFloat 0 2 af specularColor SFColo f transparency SFFloat 5 geometry SFNode Sphere f radiu
336. tation to coincide with the Using CAD Models with the Simulink 3D Animation Product joint connecting the hand and the tool in the hand s local coordinates In a hierarchical scene structure when the parts are connected by revolving joints it is easy to define the relative rotations between parts The joint axis directly defines the virtual world rotation axis so constructing the axis angle four element rotation vector is trivial Initial Conditions A Simulink model s initial conditions must correspond to the initial object s positions and rotations defined in the virtual world Otherwise the object controlled from Simulink would jump from the position defined in the VRML file to the position dictated by the Simulink software at the start of the simulation You can compensate for this offset either in the virtual world 3D file by defining an another level of nested Transform around the controlled object or in the Simulink model by adding the object s initial position to the model calculations before sending to the VR Sink block You should align the Simulink model s initial conditions with the virtual world s object positions while maintaining the correct position of the object relative to the surrounding scene To do so you may need to adjust the position of the object s surroundings e g move the road position so that the car at position 0 0 0 stays on the road with the wheels neither sinking nor floating a
337. te When importing a Physical Modeling XML file into a new unsaved VRML model children VRML files are created in the current working folder If you save the file into a different folder move the referenced VRML files to the new location 5 41 5 Build Virtual Reality Worlds Import VRML Models from CAD Tools 5 42 In this section VRML Format Type on page 5 42 Level of Detail Considerations on page 5 43 Units Used in Exported Files on page 5 43 Coordinate System Used on page 5 44 Assembly Hierarchy on page 5 44 To import VRML models from CAD tools you first convert your product assembly model into the VRML format used by the Simulink 3D Animation software Most CAD tools have VRML export filters but there are conversion utilities available from third parties if the export filter is not directly available in the CAD tool When exporting CAD models into the VRML format several options can be set to customize the output These include options specific to the export filters or are general CAD file properties consult your CAD system documentation for specific details on how to set these properties Note You cannot use the Simulink 3D Animation to import CAD tool VRML models to X3D files in Simulink 3D Animation VRML Format Type There are two major versions of the VRML format used by graphic tools the older format called VRML1 and the newer format called VRML2 or more
338. te and zoom the membrane while you use the check boxes to determine the axis to rotate around In the virtual scene notice the text object It is a child of the Billboard node You can configure this node so that its local z axis turns to point to the viewer at all times This can be useful for modeling virtual control panels and head up displays HUDs Terrain Visualization Example vrterrain_simple This example illustrates converting available Digital Elevation Models into the VRML format for use in virtual reality scenes As a source of terrain data the South San Francisco DEM model included in the Mapping Toolbox software has been used A simple Boeing 747 model is included in the scene to show the technique of creating virtual worlds from several sources on the fly Virtual Reality World and Dynamic System Examples This example requires the Mapping Toolbox software from MathWorks Plane Manipulation Using Space Mouse MATLAB Object This example illustrates how to use a space mouse using the MATLAB interface After you start this example a virtual world with an aircraft is displayed in the Simulink 3D Animation Viewer You can navigate the plane in the scene using a space mouse input device Press button 1 to place a marker at the current plane position This example requires a space mouse or compatible device 1 37 Installation The Simulink 3D Animation product provides the files you need for insta
339. terface is the preferred way of working with the software It is more straightforward to use and all the features are easily accessible through a graphical interface Virtual World Connection to a Model on page 3 2 Open a Viewer Window on page 3 10 Display Virtual World and Start Simulation on page 3 11 View Virtual World on Host Computer on page 3 13 View Virtual World Remotely on page 3 16 Add Sensors to Virtual Worlds on page 3 22 Modify Remote Virtual World via Sensor Events on page 3 23 Read Sensor Values on page 3 24 VR Source Block Input to Simulink Models on page 3 26 Interact with Generated Code on page 3 27 3 Simulink Interface Virtual World Connection to a Model 3 2 In this section Add a Simulink 3D Animation Block on page 3 2 Changing the Virtual World Associated with a Simulink Block on page 3 8 Add a Simulink 3D Animation Block To visualize a dynamic system simulation connect a Simulink block diagram to a virtual world The example in this section explains how to display a simulated virtual world on a host computer This is the recommended way to view associated virtual worlds on the host computer Simulating a Simulink model generates signal data for a dynamic system By connecting the Simulink model to a virtual world you can use this data to control and animate the virtual world After you create a virtual world and a
340. the MATLAB interface In this instance you must specify the relationship between the events that change the virtual world state and the time in the animation file This requirement is different from virtual worlds associated with Simulink models Virtual worlds that are controlled completely from the MATLAB interface have no default intuitive interpretation of time relation between MATLAB environment models and virtual scenes Note Many engineering time dependent problems are modeled and solved in MATLAB For those that have meaningful visual representation you can create virtual reality models and animate their solutions In addition the offline animation time can represent any independent variable along which you can observe and visualize a model solution Using offline animation files can bring the communication of such engineering problem resolutions to new levels The Simulink 3D Animation example vrheat heat transfer visualization is an example of a time dependent problem modeled and solved in MATLAB Its modified version vrheat_anim shows the use of the programming technique described in this topic To record animation files for virtual worlds that are not associated with Simulink models note the following guidelines You should be an advanced Simulink 3D Animation user Retrieve the vrwor1d object handle of the virtual scene that you want to record To record 2 D animations 1 Retrieve the corresponding vr figure o
341. the lighting is taken into account when Default on rendering If it is off all the objects are drawn as if uniformly lit Maximum texture size auto 32 lt x lt video Sets the maximum pixel size of a texture used in rendering vrfigure objects The smaller the size the faster the texture can render Increasing this value improves image quality but decreases performance A value of auto sets the maximum possible pixel size If the value Set Simulink 3D Animation Preferences Property Value Description you enter is unsuitable a warning might trigger The software then automatically adjusts the property to the next smaller suitable value Textures off on Turns texture rendering on or off Default on Transparency off On Specifies whether or not transparency information Default on is taken into account when rendering Wireframe off on Specifies whether objects are drawn as solids or wireframes Default off Figure 2 D Recording Preferences To access the virtual figure 2 D recording preferences 1 From the MATLAB Toolstrip in the Home tab in the Environment section select Preferences In the left pane of the Preferences dialog box select Simulink 3D Animation In the left pane under Simulink 3D Animation select Figure The Simulink 3D Animation Preferences dialog box opens in the right pane Select the 2 D Recording tab The Simulink
342. the selected virtual reality scene 3 For smooth visualization of the movement it is sometimes necessary to change the block s Sample time For example to update the virtual world 25 times per simulation second set the Sample time to 0 04 Be careful when using the inherited sample time for the VR Sink block Depending on the solver used using inherited sample time might result in nonequidistant in simulation time updating of the virtual world giving the user a false impression of system dynamics 4 In Virtual World Tree in the right side of the dialog box expand the main object s Transform branch and in the scene object hierarchy locate all parts you want to control from Simulink according to their names as given in Add DEF Names on page 5 32 Each part is represented by named Transform nodes and you select the check box next to its rotation and position fields These selections tell the VR Sink block that you want to control the rotation and position of these parts You can also select other properties of virtual world objects such as color but rotations and positions are the ones most frequently controlled 5 Click OK For each selected field the VR Sink block creates an input port Increase the VR Sink block size as appropriate to the number of input ports After the VR Sink block is associated with a virtual world you can double click it to open the Simulink 3D Animation viewer Block parameters are available through the m
343. this check box node types are shown in the virtual scene tree Show field types If you select this check box field types are shown in the virtual scene tree 9 27 9 Blocks Alphabetical List 9 28 VR Text Output Allows display of Simulink signal values as text in virtual reality scene Library Simulink 3D Animation gt TXT VR Description VR Text Output The VR Text Output can display Simulink values of signal as text in a virtual reality scene Text rendering is a demanding task for virtual world viewers so there is generally be a decrease in rendering speed when outputting text This effect increases with the complexity of the text output You can improve the performance if you limit the output from the Simulink model to only the values of signals that change e g modeling captions or use more static text nodes VR Text Output Block Parameters Dialog Box Block Parameters VR Text Output VR Text Output mask link Format the input data under eye the specified format string and output resulting string to the selected Text node in the associated virtual world For possible format string definitions and block output see documentation for sprintf Exceptions VR Text Output supports only the n escape non printing character s and c conversion characters are not allowed in the format string Input The vector of values to be used as sprintf arguments Parameters Associate
344. thm parameters replaced by values defined in options The options structure contains the parameter epsilon that represents the value below which a number will be treated as zero default value is le 12 The result r is a four element axis angle rotation row vector The first three elements specify the rotation axis and the last element defines the angle of rotation See Also vrrotvec vrrotvec2mat vrrotvec2mat vrrotvec2mat Convert rotation from axis angle to matrix representation Syntax m vrrotvec2mat r m vrrotvec2mat r options Description m vrrotvec2mat r returns a matrix representation of the rotation defined by the axis angle rotation vector r m vrrotvec2mat r options returns a matrix representation of rotation defined by the axis angle rotation vector r with the default algorithm parameters replaced by values defined in options The options structure contains the parameter epsilon that represents the value below which a number will be treated as zero default value is le 12 The rotation vector r is a row vector of four elements where the first three elements specify the rotation axis and the last element defines the angle To rotate a column vector of three elements multiply it by the rotation matrix To rotate a row vector of three elements multiply it by the transposed rotation matrix See Also vrrotvec vrrotmat2vec 10 103 10 Functions Alphabetical List 10 104 vr
345. tion DefaultFigureRecord2DCompressMethod DefaultFigureRecord2DCompressQuality DefaultFigureRecord2DFileName DefaultFigureRecord2DFPS DefaultFigureStatusBar DefaultFigureTextures DefaultFigureToolBar DefaultFigureTooltips DefaultFigureTransparency logical double double opaque normalized 822 123 661 703 bottomleft on tif Sf anim _ n tif on auto halfbar of f 5 92 576 380 auto 75 Sf anim _ n avi 15 on on on Lon ton Set the Default Viewer The DefaultViewer property is set to internal DefaultFigureTriad DefaultFigureWireframe DefaultViewer DefaultWorldRecord3DFileName DefaultWorldRecordMode DefaultWorldRecordInterval DefaultWorldRemoteView DefaultWorldTimeSource Editor EditorPreserveLayout EditorSavePosition HttpPort TransportBuffer TransportTimeout VrPort none off internal Sf anim _ n wrl manual 0 0 off external BUILTIN off len 8123 5 20 8124 The Simulink 3D Animation Viewer is the default viewer for viewing virtual worlds Any virtual worlds that you open are displayed in the viewer 1 For example at the MATLAB command prompt type The Planets example is loaded and the virtual world is displayed in the Simulink 3D Animation Viewer 2 3 2 Installation E Planets Em File View Viewpoints Navigation Renderin
346. tion Keyboard Shortcut Return to current viewpoint R Go to previous viewpoint Page Up Go to next viewpoint Page Down Set the navigation method to Walk W Set the navigation method to Examine E Set the navigation method to Fly F Move the camera forward and backward Shift Up Down Arrow Pan the camera up and down Up Down Arrow Pan the camera right and left Left Right Arrow Shift Left Right Arrow Tilt the camera right and left Shift Alt Left Right Arrow Slide up and down Alt Up Down Arrow Slide left and right Alt Left Right Arrow Set pivot point Double click Orbit around selected item pivot point Ctrl Left Right Up Down Arrow Turn interactive mode on or off Set navigation mode to none Cycle through navigation speed presets Show or hide information panel Show or hide status bar WM O Q 2A 7 Show or hide rendering information panel Spacebar Cycle through navigation panel modes P Web Viewer Preferences The following Simulink 3D Animation preferences apply to the Web Viewer as well as to the 3D World Editor Canvas gt Navigation panel Figure gt Appearance gt Status bar 7 53 7 Viewing Virtual Worlds Figure gt Appearance gt Navigation zones To access the preferences from the MATLAB Toolstrip in the Home tab in the Environment section select Preferences gt Simulink 3D Animat
347. tion block in the Simulink model To work with the virtual world associated with vrplanets from the MATLAB interface retrieve the virtual world handle Use the vrwhos command Type vrwhos If the result indicates that only one vrworld object is in the workspace assign its handle directly to a variable Type myworld vrwho If multiple virtual worlds are listed you must select which of these virtual worlds you want to manipulate To select the virtual world you can use indexing or a selection method using a string comparison of virtual world descriptions For the indexing method type worlds vrwho myworld worlds 1 For the string comparison method type worlds vrwho myworld worlds strcmp Planets get worlds Description Manual 2 D AVI Recording with MATLAB 10 If the description string is unique myworld is assigned the correct virtual world To retrieve the handle to the currently displayed the Simulink 3D Animation Viewer figure type f get myworld Figures To have the software manually record the animation set the RecordMode property to manual Type set myworld RecordMode manual Direct the Simulink 3D Animation software to record the animation as a avi format file Type set f Record2D on Disable the navigation panel The navigation panel appears at the bottom of the virtual scene view You might want to turn off this panel for a cleaner view of the virtual scene Type se
348. tions 7 38 In this section Animation Recording on page 7 38 Recording Formats on page 7 38 File Names on page 7 39 Start and Stop Animation Recording on page 7 40 Play Animation Files on page 7 40 Record 3 D Animation Files on page 7 41 Record Files in the Audio Video Interleave AVI Format on page 7 41 Schedule Files for Recording on page 7 44 Animation Recording The Simulink 3D Animation software enables you to record animations of virtual scenes that are controlled by the Simulink or MATLAB product You can record simulations using the Simulink 3D Animation Viewer You can then play back these animations offline in other words independent of the MATLAB Simulink or Simulink 3D Animation products You might want to generate such files for presentations to distribute simulation results or to generate archives Note Optimally use the Simulink 3D Animation Viewer to record animations of virtual worlds associated with Simulink models This method ensures that all necessary virtual world and vrfigure properties are properly set to record simulations If you are working with virtual scenes controlled from MATLAB you can record virtual scenes through the MATLAB interface For details see Animation Recording on page 4 10 You can save a frame snapshot capture of the current Simulink 3D Animation viewer scene You can save this frame as either a TI
349. to Speed Initial rotation Initial condition for integrated rotations This is not used when you set the Output Type to Speed Lower position limit Position coordinates for the lower limit of the mouse Space Mouse Input Upper position limit Position coordinates for the upper limit of the mouse See Also Manipulator with SpaceMouse 9 13 9 Blocks Alphabetical List 9 14 Viewpoint Direction to VRML Orientation Convert viewpoint direction to virtual world orientation Library Simulink 3D Animation J gt Zp VR Viewpoint Direction Description t VPML Orientation Takes a viewpoint direction 3 by 1 vector as input and outputs the corresponding virtual world viewpoint orientation four element rotation vector Note This block works with VRML and X3D virtual worlds Block Parameters Dialog Box Z Function Block Parameters iewpoint Direction to RML Ori Subsystem mask link Converts viewpoint direction to VAML orientation Converts the viewpoint direction specified by a vector of 3 elements to a corresponding YAML viewpoint orientation 4 element YAML rotation vector Cancel Help Apply VR Placeholder VR Placeholder Send unspecified value to Simulink 3D Animation block Library Simulink 3D Animation Description 2 The VR Placeholder block sends out a special value that is interpreted as unspecified by the VR Sink
350. to existing node Syntax mynode vrnode mynode vrnode mynode vrnode vrworld_object node_name mynode vrnode vrworld_ object node_name node_type mynode vrnode vrworld_object USE othernode mynode vrnode parent_node parent_field node_name node_type mynode vrnode parent_node parent_field USE othernode Arguments vrworld_ object Name of a vrwor1d object representing a virtual world node_name Name of the node node _ type Type of the node parent_node Name of the parent node that is a vrnode object parent_field Name of the field of the parent node USE Enables a USE reference to another node othernode Name of another node for a USE reference Description mynode vrnode creates an empty vrnode handle that does not reference any node vrnode mynode vrnode creates an empty array of vrnode handles mynode vrnode vrworld object node_name creates a handle to an existing named node in the virtual world mynode vrnode vrworld object node name node_type creates a new node called node_name of type node_ type on the root of the virtual world It returns the handle to the newly created node mynode vrnode vrworld object USE othernode creates a USE reference to the node othernode on the root of the world vrworld_object It returns the handle to the virtual world to the original node mynode vrnode parent_node parent_field
351. tree expands Now you can see what characteristics of the plane can be driven from the Simulink interface This model computes the position and the pitch of the plane In the Plane Transform tree select the translation and rotation fields The selected fields are marked with checks These fields represent the position translation and the pitch rotation of the plane Parameters R Sink E lolx YR Sink Writes Simulink values to virtual world node fields Fields to be written are marked by checkboxes in the tree view Every marked field corresponds to an input port of the block World properties Source File frtkoFF wel Browse view Edit Reload Output JT Open YRML Viewer automatically IV Allow viewing from the Internet Description fR Plane Take Off Block properties Sample time 1 For inherit fo 1 I Show video output port video output signal dimensions Set up and preview video output 0 2 2 wveeeeevee A H VRML Tree ewe JV Show node types JV Show field types NavigationInfo Background DirectionalLight DirectionalLight Transform Transform viewpoint Cameral Transform Plane Transform x addChildren MFNode xX removeChildren MFNode O center SFVvec3F rotation SFRotation O scale SFvec3F O scaleorientation SFRotation transl oO bboxCenter SFV ec3h O bboxsize SF ec
352. tual World cresie ese heeds Sew edie Ee its She es 5 40 TRESULES 452 scarce nk tab ls tries 5 SoBe he SSR tee SS a 5 40 Import VRML Models from CAD Tools 5 42 VRML Format Type 0 0 0 ce ees 5 42 Level of Detail Considerations 0000 0 5 43 Units Used in Exported Files 0 0 0 0 00005 5 43 Coordinate System Used 0 ccc eee eee 5 44 Assembly Hierarchy 0 0 00 eee eee nee 5 44 Import VRML Models from CATIA Software 5 49 CATIA Coordinate Systems 0 0 00 5 49 Settings that Affect the VRML Output 5 50 Tievel of Detal i 4ck ash den aud ee A OM ela tone Mero S 5 50 VRML Export Filter Settings 0 00 00 00 0s 5 50 Structure of VRML Models Exported from the CATIA Environment 0 0 00 ee ee ee eens 5 51 Adjusting Resulting VRML files 0005 5 54 Using the 3D World Editor 6 3D World Editor ener eases ho bitte ek ROS ee aa Ra 6 2 Supported Platforms 0 0 0 0 cece ee eee 6 2 Use with Other Editors 0 0 0 0 6 2 VRML Support and X3D Support 00 00 8 6 2 VRML Nodes Library Objects and Templates 6 3 Open the 3D World Editor 000005 6 5 3D World Editor Is the Default Editor 6 5 Open an Empty Virtual World 00005 6 5 Open a Saved Virtual World 000000005 6 6 ix X Contents
353. tual Reality Worlds you can visualize that virtual world with a virtual world viewer or HTML5 enabled web browser The Simulink 3D Animation product includes three viewers Simulink 3D Animation Viewer the default viewer Simulink 3D Animation Web Viewer Orbisnap viewer To determine which viewer to use see Comparison of Viewers on page 7 2 Host and Remote Viewing You can view a virtual world on your host computer with either the Simulink 3D Animation Viewer Orbisnap or a Web browser For Web browser support Simulink 3D Animation provides the Simulink 3D Animation Web Viewer In most configurations you do not need to install a viewer on a client computer because you can perform all the tasks on a host computer However if you have very large models that consume considerable computational resources you might want to use a client computer to run and view the virtual world To view a virtual world on a client computer which does not need to have Simulink 3D Animation installed you can use the Web Viewer or Orbisnap For remote viewing use the Web Viewer or Orbisnap Comparison of Viewers Feature Simulink 3D Animation Simulink 3D AnimationWeb Orbisnap Viewer Viewer Platforms Windows Macintosh Windows Macintosh and Windows Macintosh and Linux Linux and Linux 7 2 Virtual World Viewers Feature Simulink 3D Animation Viewer Simulink 3D AnimationWeb Viewer
354. tware requirements as MATLAB It is a multiplatform product that can run on PC compatible computers with Windows or Linux See the following page on the MathWorks Web site http www mathworks com products matlab requirements html Copying Orbisnap to Another Location Orbisnap runs independently of the MATLAB and Simulink 3D Animation products This means that you can copy Orbisnap to another location or even another machine The following is a general procedure on how to copy Orbisnap to another location 1 From a command line or a graphical interface such as Windows Explorer create a folder into which you can copy Orbisnap 2 Copy all the files in the Orbisnap folder and its subdirectories These files are likely located in the Simulink 3D Animationorbisnap folder for example matlabroot toolbox s13d orbisnap for the Windows platform 3 Paste the files into the folder you created in step 1 8 3 8 Simulink 3D Animation Stand Alone Viewer 8 4 Adding Shortcuts or Symbolic Links For convenience you can create a shortcut Windows or symbolic link UNIX to the Orbisnap starter file In Windows Explorer right click orbisnap bat and select Properties You can start Orbisnap from either the shortcut or the original starter file In UNIX use the 1n s command to create a symbolic link to orbisnap Start Orbisnap Start Orbisnap You can start Orbisnap from any command line with the following orbisnap orbisna
355. type worlds vrwho myworld worlds 1 To have the Simulink 3D Animation software manually record the animation set the RecordMode property to manual Type set myworld RecordMode manual Direct the Simulink 3D Animation software to record the animation to a virtual world 3D format file Type Manual 3 D Recording with MATLAB set myworld Record3D on Run the Simulink model From the Simulation menu select Mode gt Normal then click Simulation gt Run Alternatively if you are using the Simulink 3D Animation default viewer you can run the Simulink model with one of the following from the viewer From the menu bar select the Simulation menu Start option to start or stop the simulation From the toolbar click Start pause continue simulation to start the simulation From the keyboard press Ctrl T to start the simulation As the simulation runs start recording the animation by setting the virtual world Recording property Type set myworld Recording on This turns on the recording state When you want to stop the recording operation type set myworld Recording off The Simulink 3D Animation software stops recording the animation The Simulink 3D Animation software creates the file vrplanets_anim_1 wrl in the current working folder If the simulation stops before you stop recording the recording operation stops and creates the animation file Stop the simulation You can us
356. u can control the virtual world by using functions and methods From the MATLAB software you can set positions and properties of VRML objects create callbacks from graphical interfaces and map data to virtual objects You can also view the world with a VRML viewer determine its structure and assign new values to all available nodes and their fields The software includes functions for retrieving and changing the virtual world properties and for saving the VRML files corresponding to the actual structure of a virtual world The MATLAB software provides communication for control and manipulation of virtual reality objects using MATLAB objects For details about interacting between MATLAB and virtual reality worlds see MATLAB Interaction View Dynamic System Simulations After you connect the virtual world to the dynamic system model use a VRML viewer to view the virtual world representation of the dynamic system simulation In Simulink and SimMechanics simulate the model that is connected to the virtual reality world In MATLAB use the view function to view a vrwor1d object that the MATLAB code updates with data values While running a simulation you can change the positions and properties of virtual world objects For information about using virtual world viewers to navigate a virtual reality world see View Dynamic System Simulations Share Dynamic System Simulation Visualizations You can share dynamic syste
357. u select this check box the Simulink 3D Animation software dynamically adjusts the ports to correspond to the capabilities of the connected joystick each time that you open the model If the connected device does not have force feedback capability selecting this check box causes the removal of the force feedback input from the block even if you select the Enable force feedback input check box The block ports do not have the full widths provided by the Windows Game Controllers interface Enable force feedback input If you select this check box the Simulink 3D Animation software can support force feedback joystick steering wheel and haptic one that enables tactile feedback devices Output Ports Depending on the Adjust I O ports according to joystick capabilities check box setting the output ports change to correspond to the actual capabilities of the connected joystick Or on Windows platforms the output ports have fixed maximum width provided by the system Game Controllers interface Joystick Input Output Port Value Description Axes Vector of doubles in the range lt Outputs correspond to the 1 1 gt current position of the joystick in the given axis Values are normalized to range from 1 to 1 Buttons Vector of doubles Outputs correspond to the 0 Button released 1 Button pressed current status of joystick buttons Point of view 1 Selector inactive lt 0 360 gt The angle of the P
358. ually start recording The recording then automatically stops at stop time and automatically restarts at start time 5 Click OK After you define the schedule you can record simulations See Start and Stop Animation Recording on page 7 40 Note You can override the recording schedule by starting or stopping the recording interactively 7 45 7 Viewing Virtual Worlds Play Animations with Simulink 3D Animation Viewer 7 46 You can use the Simulink 3D Animation You can also use the Simulink 3D Animation Viewer to play animation files using one of these approaches At the MATLAB command line use vrview For example enter w vrview vrplanets_anim_1 wrl set w TimeSource freerun The vrview command displays the default Simulink 3D Animation Viewer for the animation file Setting the TimeSource property of the set method to freerun directs the viewer to advance its time independent of the MATLAB software To stop the animation type set w TimeSource external To close the viewer and delete the world get the handle of the vrfigure object and close it as follows f get w Figures close f delete w Or to close all vr figure objects and delete the world type vrclose delete w Configure Frame Capture Parameters Configure Frame Capture Parameters This topic describes how to configure and capture a frame using the vrplanets example as the example 1 7
359. ulink 3D Animation viewer You can define a viewpoint to be either static or dynamic Static Created typically at the top level of the virtual world object hierarchy You can also create these viewpoints as children of static objects Transforms Viewpoints Dynamic Created as children of moving objects objects controlled from MATLAB or Simulink or linked to moving objects with the VRML and X3D ROUTE mechanism Dynamic viewpoints allow you to create interesting views such as from the driver s seat at a racing course For more information about working with viewpoints see e Define and Reset Viewpoints on page 7 30 e Navigate Through Viewpoints on page 7 34 7 29 7 Viewing Virtual Worlds Define and Reset Viewpoints 7 30 In this section Reset Viewpoints on page 7 30 Define Viewpoints on page 7 30 Reset Viewpoints You can reset your position in a scene to initial default or current viewpoint position through the menu bar toolbar navigation panel or keyboard shortcut keys From the menu bar use the Viewpoints menu Return to viewpoint option to return to the initial position of the current viewpoint Alternatively from the toolbar select Return to viewpoint button to return to the initial position of the current viewpoint From the navigation panel click the Go to default viewpoint control to return to the default viewpoint of the virtual world Alternative
360. ulink 3D Animation Preferences Property Value Description Triad none top left top Specifies where in the virtual right bottom left world display pane to locate a bottom right center triad of coordinate axes Default bottom left Preserve Layout per off on Specifies whether the 3D World Virtual Reality 3D Editor starts up either with the File Default on default virtual world display layout or with the layout as it was when you exited it previously The saved layout includes settings for the view viewpoints navigation and rendering Simulink 3D Animation saves the layout ona per virtual world 3D file basis for up to eight files Canvas Preferences The Simulink 3D Animation preferences include a Navigation panel preference The canvas preferences apply to the 3D World Editor Simulink 3D Animation Viewer and Simulink 3D Animation Web Viewer Simulink 3D Animation Canvas Preferences Navigation panel none v Property Value Description Navigation panel none minimized Controls the appearance of the translucent opaque navigation panel in the canvas Default none 2 15 2 Installation Figure Preferences The Simulink 3D Animation figure has a number of preferences Figure Rendering Preferences on page 2 17 Figure 2 D Recording Preferences on page 2 19 Figure Frame Capture Preferences o
361. ulink model You control the animation file recording by presetting a time interval The Simulink 3D Animation software records the animation during this interval in the simulation In this example the timing of the recorded animation file derives from the simulation time One second of the recorded animation time corresponds to one second of Simulink time 4 24 This procedure uses the vrplanets example It describes how to create an avi animation filename with the default name format 1 Run the Simulink model for vrplanets In the MATLAB window type vrplanets The Simulink model is displayed Also by default the Simulink 3D Animation Viewer for that model is loaded and becomes active If the viewer is not displayed double click the Simulink 3D Animation block in the Simulink model To work with the virtual world associated with vrplanets from the MATLAB interface retrieve the virtual world handle Use the vrwhos command Type vrwhos If the result indicates that only one vrworl1d object is in the workspace assign its handle directly to a variable Type myworld vrwho If multiple virtual worlds are listed you must select which of these virtual worlds you want to manipulate To select the virtual world you can use indexing or a selection method using a string comparison of virtual world descriptions For the indexing method type worlds vrwho myworld worlds 1 For the string comparison method type worlds
362. uments vrnode_object Name of a vrnode object representing the node field_name Name of the field to be synchronized action The action parameter determines what should be done on enables synchronization of this field e off disables synchronization of this field Description The sync method controls whether the value of a field is synchronized When the field is marked on the field value is updated every time it is changed on the client computer If the field is marked off the host computer ignores the changes on the client computer Synchronized fields add more traffic to the network line because the value of the field must be resent by the client any time it is changed Because of this you should mark for synchronization only the fields you need to scan for changes made on clients typically sensors By default fields are not synchronized and their values reflect only settings from MATLAB or the Simulink software Synchronization is meaningful only for readable fields Readable fields are of data class eventOut and exposedField You cannot enable synchronization for eventIn or nonexposed fields 10 89 10 Functions Alphabetical List See Also vrnode vrnode get 10 90 vrori2dir vrori2dir Convert viewpoint orientation to direction Syntax vrori2dir r vrori2dir r options Description vrori2dir r converts the viewpoint orientation specified by a rotation vector r toa direction t
363. up and preview video output Opens a figure window for navigation and viewing Virtual Scene Tree This box shows the structure of the virtual world 3D file and the virtual world itself Nodes that have names are marked with red arrows You can access them from the Simulink 3D Animation interface Nodes without names but whose children are named are also marked with red arrows This marking scheme makes it possible for you to find all accessible nodes by traversing the tree using arrows Other nodes have a blue dot before their names Fields with values that you set have check boxes Use these check boxes to select the fields whose values you want the Simulink software to update For every field that you VR Sink select an input port is created in the block Input ports are assigned to the selected nodes and fields in the order that corresponds to the virtual world 3D file Fields whose values cannot be written because their parent nodes do not have names or because they are not of virtual world data class eventIn or exposedField have an X shaped icon Show node types If you select this check box node types are shown in the virtual scene tree Show field types If you select this check box field types are shown in the virtual scene tree 9 23 9 Blocks Alphabetical List 9 24 VR Source Read data from virtual world to Simulink model Library Simulink 3D Animation Description The
364. upport on page 1 11 1 21 1 Getting Started Virtual Reality World and Dynamic System Examples 1 22 In this section Simulink Interface Examples on page 1 22 MATLAB Interface Examples on page 1 34 Simulink Interface Examples For all the examples that have a Simulink model use the following procedure to run the example and view the model 1 In the MATLAB Command Window enter the name of a Simulink model For example enter vrbounce A Simulink window opens with the block diagram for the model By default a virtual world also opens in the Simulink 3D Animation Viewer or your HTML5 enabled web browser If you close the virtual world window double click the VR Sink block to display it again Note If the viewer does not open double click the VR Sink block in the Simulink model In the Simulink 3D Animation Viewer from the Simulation menu click Block Parameters A Block Parameters dialog box opens The Open viewer automatically check box should be selected by default When you double click the VR Sink block this selection enables the virtual world window to open In the Simulink window from the Simulation menu click Run Alternatively in the Simulink 3D Animation Viewer from the Simulation menu click Start A simulation starts running and the virtual world is animated using signal data from the simulation Virtual Reality World and Dynamic System Examples The fo
365. ursor changes the orientation of the virtual world Coordinate Axes Triad To help you visualize changes in the orientation coordinate axes of nodes in a virtual world the 3D World Editor virtual world display pane includes a triad of red green and blue arrows These arrows are always parallel with global x y and Z coordinate axes As you navigate in a virtual world the triad display changes to reflect changes in orientation 6 21 6 Using the 3D World Editor 6 22 ROOT gt B1 Transform gt B2 Transform gt ee FH Ww To hide the triad for a virtual world or to change the location of the triad in the virtual world display pane right click in the pane and select the appropriate option from the View gt Triad menu To change the default location or visibility of the triad 1 From the MATLAB Toolstrip in the Home tab in the Environment section select Preferences 2 Inthe Preferences dialog box left pane select Simulink 3D Animation gt 3D World Editor gt Triad View Panes You can view the virtual world in one pane two horizontal panes two vertical panes or four panes For example if you select View Pane gt Grid View the 3D World Editor displays four view panes Virtual World Navigation in 3D World Editor CO RRC ORCS RECO REC Ame Come Clee Cae Clee Caen cn chen cnc ac cs a gt gt gt gt gt gt Octavia EXTERNPROTO WorldInfo Navig
366. various object types e g a Shape node or the Inline mechanism To control part positions and orientations you need to wrap each such Shape or Inline node with a node that allows for the changing of these properties This wrapping node is the Transform node whose purpose is to transform the coordinates of its children For instance after wrapping with a Transform node an Inline node may have the following syntax Transform children Inline url robot_arm1 wrl To set the initial location of the entire assembly in the virtual world it is a good practice to wrap all parts of the assembly with an additional Transform node Add DEF Names CAD export filters often export objects with no names or with synthetic nondescriptive names To be accessible from MATLAB interface each virtual world object needs to be given a unique name in the virtual world 3D file You name the object by adding a DEF Object_Name statement to the Transform line After adding the DEF Object_Name the Robot_Arm1 definition in the main virtual world 3D file has the following syntax Using CAD Models with the Simulink 3D Animation Product DEF Robot_Arm1 Transform children Inline url robot_arm1 wrl These object names are used in the Simulink 3D Animation functions and in the user interface such as the descriptions of inputs to the VR Sink block Therefore it is good practice to give the parts descriptive names to help you
367. ve and Export Virtual World Files on page 6 17 Edit VRML and X8D Scripts on page 6 18 These topics describes how to use the 3D World Editor for common tasks involved in creating a virtual world For information about opening a file in the editor see Open the 3D World Editor on page 6 5 For a step by step tutorial see Build and Connect a Virtual World on page 5 7 Add Objects Add virtual world objects by adding nodes in the tree structure pane The hierarchy of nodes controls the scope to which node properties apply Note Nodes must have unique names to work in the Simulink 3D Animation product Approaches for Adding Objects Use one of these approaches to add a node Approach Procedure Use the Nodes menu 1 Inthe tree structure pane select the parent node for the object that you want to add 6 11 6 Using the 3D World Editor Approach Procedure 2 Select Nodes gt Add 3 Select appropriate submenus to add the node that you want Use a context menu for a node 1 Inthe tree structure pane right click the parent node for the object that you want to add 2 Select the Add Node menu and then select appropriate submenus to add the node that you want Insert an object from a library 3D file Add an inlined virtual world For Material Texture and children nodes select the Insert From menu option from either the Nodes menu or from th
368. ve vrnode object Syntax delete vrnode_object delete n Arguments vrnode_object Name of a vrnode object Description delete vrnode object deletes the virtual world node delete n deletes the vrnode object referenced by the vrnode handle n If n is a vector of vrnode handles multiple nodes are deleted As soon as a node is deleted it and all its child objects are removed from all clients connected to the virtual world See Also vrworld delete 10 79 10 Functions Alphabetical List 10 80 vrnode fields virtual world field summary of node object Syntax fields vrnode_object x fields vrnode_object Arguments vrnode_ object Name of a vrnode object representing the node to be queried Description fields vrnode_ object displays a list of fields of the node associated with the vrnode object in the MATLAB Command Window x fields vrnode object returns the fields of the node associated with the vrnode object in a structure array The resulting structure contains a field for every field with the following subfields Type is the name of the field type for example MFString SFColor e Access is the accessibility description of the data class for example eventIn exposedField Sync is the synchronization status on or off See also vrnode sync See Also vrnode get vrnode set vrnode get vrnode get Property value of vrnode object Syntax get vrnode_o
369. vigate Using Orbisnap Navigate Using Orbisnap You can navigate around a virtual world using the menu bar toolbar navigation panel mouse and keyboard Navigation view You can change the camera position From the menu bar select the Navigation menu Straighten Up option This option resets the camera so that it points straight ahead Navigation methods Navigation with the mouse depends on the navigation method you select and the navigation zone you are in when you first click and hold down the mouse button You can set the navigation method using one of the following From the menu bar select the Navigation menu Method option This option provides three choices Walk Examine or Fly See the table Orbisnap Mouse Navigation From the toolbar select the drop down menu that displays the navigation options Walk Examine and Fly e From the navigation panel click the W E or F buttons From the keyboard press Shift W Shift E or Shift F Navigation zones You can view the navigation zones for a virtual world through the menu bar or keyboard From the menu bar select the View menu Navigation Zones option The virtual world changes as the navigation zones are toggled on and appear in the virtual world Alternatively from the keyboard press the F7 key The following table summarizes the behavior associated with the movement modes and navigation zones when you use your mouse to navigate through a virtual world
370. vigation panel at the bottom These three areas of the viewer give you alternate ways to work with the virtual scene 7 5 7 Viewing Virtual Worlds Inverted Pendulum CoCa fete File View Viewpoints Navigation Rendering Simulation Recording Help x Pseudo orthographic view z Examine v SM ZS adaa BIS wl re Pseudo orthographic view Pos 180 00 100 00 180 00 Dir 0 66 0 36 0 66 Note The Simulink 3D Animation viewer settings are saved when you save your model file Viewer Uses MATLAB Figures The Simulink 3D Animation software contains a viewer as the default method for viewing virtual worlds You can use this viewer on any supported operating system This viewer uses MATLAB figures It provides a number of capabilities including Simulink 3D Animation Viewer Treat the viewer window like a MATLAB figure This ability enables you to perform MATLAB figure actions such as dock the viewer window in the MATLAB window For example ia a Dock Planets Right click in the viewer window to display a context menu that contains the viewer commands For example File gt View b Viewpoints gt parr gt Speed xamine Up Undo Move v Camera Bound to Viewpoint Combine multiple virtual reality viewer figures in several tiles of a MATLAB figure Set Viewer Appearance Preferences You can configure the appearance of the viewer using Simulink 3D Animation preferences For details see
371. virtual reality canvas in the specified parent figure or panel A panel arranges user interface components into groups By visually grouping related controls panels can make the user interface easier to understand A panel can have a title and various borders virtualCanvas vr canvas world parent position creates a virtual reality canvas in a figure or panel at the specified position virtualCanvas vr canvas world PropertyName Value PropertyName Value sets the values of the vr canvas properties specified by one or more PropertyName Value pair arguments Input Arguments world Virtual world vrworld object Virtual world specified as a vrwor1d object Note Open the virtual world before you create a vr canvas object using that virtual world 10 7 10 Functions Alphabetical List 10 8 parent Figure for displaying canvas figure object uipanel object Figure for displaying the canvas specified as a MATLAB figure or uipanel object position Canvas location and size vector with four elements Location and size of virtual canvas specified as the vector in the form left bottom width height Specify measurements in pixels Note On Windows systems figure windows cannot be less than 104 pixels wide regardless of the value of the position argument Element Description left Distance from the left edge of the primary display to the inner left edge of the canvas Thi
372. virtual world file Name of virtual world 3D file specified as a string You can specify a wrl VRML x3dv or x3d X8D in classic or XML format file export Make an additional copy specifying all resources relative to actual virtual world location Set to true or false Description The save method saves the current virtual world to a VRML9 7 file or X8D file based on the file extension wrl or xX3d that you specify The virtual world must be open for you to use this method If the virtual world is associated to a VRML file it can be saved to the VRML or X8D file formats If the virtual world is associated to an X8D file it can be saved only to one of the X8D file formats Lines are indented using spaces Line ends are encoded as CR LF or LF according to the local system default Values are separated by spaces If you specify a VRML file the resulting file is a VRML97 compliant UTF 8 encoded text file The optional export argument saves an additional copy of the virtual world specifying all resources relative to the actual virtual world location Resources include virtual 10 141 10 Functions Alphabetical List world elements such textures and resources from the Simulink 8D Editor library This option supports using a Simulink 3D Animation virtual world outside of Simulink 3D Animation See Also vrworld edit vrworld open vrworld reload 10 142 vrworld set vrworld set Change property value
373. vrmount wrl Move the MATLAB window and the browser window side by side so you can view both at the same time In the MATLAB Command Window type myworld Automobile translation 15 0 25 20 The MATLAB sets a new position for the Automobile node and you can observe that the car is repositioned in the virtual world browser window You can change the node fields listed by using the function vrnode setfield Note The dot notation is the preferred method for accessing nodes Close and Delete a vrworld Object Close and Delete a vrworld Object After you are finished with a session you must close all open virtual worlds and remove them from memory 1 In the MATLAB Command Window type close myworld delete myworld The virtual world representation of the vrworl1d object mywor 1d is removed from memory All possible connections to the viewer and browser are closed and the virtual world name is removed from the list of available worlds Note Closing and deleting a virtual world does not delete the vrworld object handle myworld from the MATLAB workspace 4 9 MATLAB Interface Animation Recording 4 10 In this section Recording Formats on page 4 10 Manual and Scheduled Animation Recording on page 4 11 The Simulink 3D Animation software enables you to record animations of virtual scenes that are controlled by the Simulink or MATLAB product You can record simulations th
374. vrnode setfield vrnode getfield vrnode getfield Field value of vrnode object Syntax getfield vrnode_object x getfield vrnode_ object x getfield vrnode_object fieldname Arguments vrnode_ object Name of a vrnode object representing the node to be queried fieldname Name of the vrnode object field whose values you want to query Description getfield vrnode object displays all the field names and their current values for the respective node x getfield vrnode object where vrnode_ object isa scalar returns a structure where each field name is the name of a vrnode field and each field contains the value of that field x getfield vrnode_object fieldname returns the value of the specified field for the node referenced by the vrnode_object handle If vrnode_object is a vector of vrnode handles getfield returns an M by 1 cell array of values where M is equal to length vrnode object If fieldname is a 1 by N or N by 1 cell array of strings containing field names getfield returns an M by N cell array of values Note The dot notation is the preferred method for accessing nodes 10 83 10 Functions Alphabetical List See Also vrnode vrnode get vrnode set vrnode setfield 10 84 vrnode isvalid vrnode isvalid 1 if vrnode object is valid 0 if not Syntax x isvalid vrnode_object_vector Arguments vrnode_object_vector Name of an array of vrnode objects to be que
375. ware before the change takes effect TransportBuffer Length of the transport buffer network packet overlay for communication between the Simulink 3D Animation server and its clients TransportTimeout Amount of time the Simulink 3D Animation server waits for a reply from the client If there is no response from the client the Simulink 3D Animation server disconnects from the client VrPort IP port used for communication between the Simulink 3D Animation server and its clients If you change this preference you must restart the MATLAB software before the change takes effect When you use factory asa single argument all preferences are reset to their default values If you use factory for a preference value that single preference is reset to its default The HttpPort VrPort and TransportBuffer preferences affect Web based viewing of virtual worlds DefaultFigurePosition and DefaultNavPanel affect the Simulink 3D Animation Viewer Changes to the HttpPort or VrPort preferences take effect only after you restart the MATLAB software DefaultFigureNavPanel Controls the appearance of the navigation panel in the Simulink 3D Animation Viewer For example setting this value to translucent causes the navigation panel to appear translucent DefaultViewer Determines whether the virtual scene appears in the default Simulink 3D Animation Viewer or in your Web browser DefaultViewer Setting Description
376. with MATLAB This topic describes how to manually record a 3 D animation using the MATLAB interface for a virtual world that is associated with a Simulink model In this example the timing of the animation file derives from the simulation time One second of the recorded animation time corresponds to one second of Simulink time You create and record the animation file by interactively starting and stopping the recording from the MATLAB Command Window 4 16 This procedure uses the vrplanets example It describes how to create a virtual world 3D animation filename with the default name format 1 Run the Simulink model for vrplanets In the MATLAB window type vrplanets The Simulink model appears Also by default the Simulink 3D Animation Viewer for that model is loaded and becomes active If the viewer does not appear double click the Simulink 3D Animation block in the Simulink model To work with the virtual world associated with vrplanets from the MATLAB interface retrieve the virtual world handle Use the vrwhos command Type vrwhos If the result shows that only one vrworld object is in the workspace assign its handle directly to a variable Type myworld vrwho If multiple virtual worlds are listed you must select which of these virtual worlds you want to manipulate To select the virtual world you can use indexing or a selection method using a string comparison of virtual world descriptions For the indexing method
377. world must be fully active on the Simulink 3D Animation server for Orbisnap to remotely access it Error connecting to host J x Error connecting to host 127 0 0 1 No response from remote host Possible reasons are the remote host does not exist there s no VR server running on the remote host no virtual worlds have been open yet the remote host is temporarily busy View Virtual Worlds Remotely with Orbisnap 4 Select a virtual world 5 Click OK Orbisnap displays the selected virtual world of the remote Simulink 3D Animation server 6 Navigate and render the virtual world as you want 7 To close Orbisnap select File gt Close Using the menus toolbar and navigation panel you can perform many of the same operations on the virtual world that you can with the Simulink 3D Animation lt olink localinfo sViewer See Orbisnap Interface on page 8 6 See Start Orbisnap on page 8 5 for a description of the Orbisnap command line options 8 17 Blocks Alphabetical List 9 Blocks Alphabetical List 9 2 Cross Product Cross product of two 3 D vectors Library Simulink 3D Animation Descri ption Cross Product Takes two 3 by 1 vectors as input and returns their cross product Block Parameters Dialog Box Function Block Parameters Cross Product E xj m Subsystem mask link Cross product of two 3x1 vectors a al a2 a3 b b1 b2 b3 y a x b a2b3 a3b2 i a3b1
378. ystem Examples Mutual gravity accelerations of the bodies are computed using Simulink matrix type data support Plane Takeoff Example vrtkoff The vrtkoff example represents a simplified aircraft taking off from a runway Several viewpoints are defined in this model both static and attached to the plane allowing you to see the takeoff from various perspectives The model shows the technique of combining several objects imported or obtained from different sources CAD packages general 3 D modelers and so on into a virtual reality scene Usually it is necessary for you to wrap such imported objects with an additional Transform node This wrapper allows you to set appropriately the scaling position and orientation of the objects to fit in the scene In this example the aircraft model from the Ligos V Realm Builder Object Library is incorporated into the scene The file vrtkoff2 wrl uses the same scene with a different type of aircraft Plane Take Off with Trajectory Tracing Example vrtkoff_trace The vrtkoff_trace is a variant of the vrtkoff example that illustrates how to trace the trajectory of a moving object plane in a scene It uses a VR Tracer block Using a predefined sample time this block allows you to place markers at the current position of an object When the simulation stops the markers indicate the trajectory path of the object This example uses an octahedron as a marker Plane Take Off with HUD Text Example vrtk
Download Pdf Manuals
Related Search
Related Contents
Horizon Fitness 2.3T Treadmill User Manual 振動監視装置 - IMV株式会社 user`s manual - LiNuo Beauty PanelView Plus 7 Standard Terminals GUIA DEL USUARIO BLOCK-iT™ Pol II miR Validated miRNA Control Vector 取扱説明書 - hhstyle.com Copyright © All rights reserved.
Failed to retrieve file