sim3d.graphics.Arrow
Description
Use the sim3d.graphics.Arrow object to create an actor object with
N number of arrow elements in the 3D environment for annotation and
visualization of relevant vector data during simulation. After you create a
sim3d.graphics.Arrow object, you can modify the aspects of the arrow actor by
setting property values.
Creation
Description
creates a
default arrow actor object in the 3D environment.arrow = sim3d.graphics.Arrow()
specifies options using one or more optional name-value arguments. For example, to create
an arrow actor at the position (0,1,0), set arrow = sim3d.graphics.Arrow(Name=Value)Translation to [0
1 0].
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN, where Name is
the argument name and Value is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Example: arrow = sim3d.graphics.Arrow(ActorName='Arrow',Translation=[3 4
3],Color=[1 1 0]) creates an actor object with a single arrow element, the
specified actor name, position and color.
Example: arrows = sim3d.graphics.Arrow(ActorName='Arrows',Translation=[3 2 3;
3 5 3; 3 3 3],Color=[1 1 0; 1 0 0; 0 1 0]) creates an actor object with three
arrow elements by specifying the actor name, positions and colors.
Name of actor, specified as a character array or string. If you do not specify an actor name,
then the software assigns the actor an autogenerated name. Use
this argument to set the name of the
sim3d.graphics.Arrow object.
Note
If you specify the same name as an actor that already exists, then the software appends actor name you specify with a unique identifier.
Relative translation
(x,y,z) of the actor object to its
parent actor, specified as a real N-by-3 array, in m. N
specifies the number of elements created using the sim3d.graphics.Arrow object. When
you add an actor to the 3D environment, the default parent actor is the Scene
Origin at (0,0,0).
Example: Translation=[3 4 3]
Example: Translation=[3 2 3; 3 5 3; 3 3 3]
Data Types: double
Relative rotation (roll, pitch, yaw) of the actor object to its parent actor, specified as a real N-by-3 array, in rad.
Example: Rotation=[0 pi/2 -pi/4]
Example: Rotation=[0 pi/2 -pi/4; 0 pi/2 -pi/4; 0 pi/2
-pi/4]
Data Types: double
Relative scale in x, y, and z coordinates of the actor object to its parent actor, specified as a real N-by-3 array.
Example: Scale=[1 2 1]
Example: Scale=[2 2 2; 2 2 2; 2 2 2]
Data Types: double
Base color of actor, specified as real N-by-3 array of RGB triplet values. An RGB triplet is a three-element row vector whose elements specify the intensities of the red, green, and blue components of the color. The intensities must be in the range [0, 1].
Example: Color=[0 1 0]
Example: Color=[1 0 0; 0 0 1; 1 1 0]
Data Types: double
Total length of arrow including the arrow head, specified as real positive N-by-1 vector, in m.
Example: Length=2
Example: Length=[0.5; 0.5; 0.5]
Data Types: double
Option to hide the actor from the 3D environment scene,
specified as 0 (false) if the actor is visible in the
scene or 1 (true) if the actor is hidden in the scene. For
N number of elements, specify as a logical N-by-1
vector.
Example: Hidden=1
Example: Hidden=[1; 0; 1]
Output Arguments
Actor object, returned as a sim3d.graphics.Arrow object.
Properties
All the properties are run-time configurable.
Parent of actor, specified as a handle to the parent actor object. After you add an actor to
the sim3d.World object, the default parent actor is the
Scene Origin at (0,0,0). Use this property to
set any actor in the 3D environment as the parent actor of a
sim3d.graphics.Arrow object.
This property is read-only.
Children of actor, specified as a structure.
Each field of the structure contains a handle to
the child of a sim3d.graphics.Arrow
object.
Parent world, specified as a handle to the parent sim3d.World
object. You can use this property only if the sim3d.graphics.Arrow object is
added to the parent sim3d.World object.
Coordinate system that the actor uses for translation and rotation in the 3D environment, specified as one of these listed values:
'Default'– World coordinate system'MATLAB'– MATLAB® coordinate system'ISO8855'– ISO 8855 standard coordinate system'AERO'– SAE coordinate system'VRML'– X3D ISO standard coordinate system'SAE'– SAE coordinate system
For more details on the different coordinate systems, see Coordinate Systems in Simulink 3D Animation.
Data Types: string
Relative translation
(x,y,z) of the actor object to its
parent actor, specified as a real N-by-3 array, in m. N
specifies the number of elements created using the sim3d.graphics.Arrow object. When
you add an actor to the 3D environment, the default parent actor is the Scene
Origin at (0,0,0).
Example: arrow.Translation = [1 2 1]
Example: arrows.Translation = [1 4 2; 1 3 2; 1 2 2]
Relative rotation (roll, pitch, yaw) of the actor object to its parent actor, specified as a real N-by-3 array, in rad.
Example: arrow.Rotation = [0 pi/2 pi/8]
Example: arrows.Rotation = [pi/2 pi/4 pi/2; 0 pi/4 pi/2; pi pi/2
0]
Relative scale in x, y, and z coordinates of the actor object to its parent actor, specified as a real N-by-3 array.
Example: arrow.Scale = [2 2 2]
Example: arrows.Scale = [2 2 2; 2 2 2; 2 2 2]
Base color of actor, specified as real N-by-3 array of RGB triplet values. An RGB triplet is a three-element row vector whose elements specify the intensities of the red, green, and blue components of the color. The intensities must be in the range [0, 1].
Example: arrow.Color = [0 1 0]
Example: arrows.Color = [1 0 0; 0 0 1; 1 1 0]
Data Types: double
Total length of arrow including the arrow head, specified as real positive N-by-1 vector, in m.
Example: arrow.Length = 2
Example: arrows.Length = [0.5; 0.5; 0.5]
Data Types: double
Option to hide the actor from the 3D environment scene,
specified as 0 (false) if the actor is visible in the
scene or 1 (true) if the actor is hidden in the scene. For
N number of elements, specify as a logical N-by-1
vector.
Example: arrow.Hidden = 1
Example: arrows.Hidden = [1; 0; 1]
Examples
Create arrows and text labels in the 3D environment. First, create a box actor. Then, create arrows and text label objects and attach them to the actor. Finally, view the annotated actor in the Simulation 3D Viewer window.
Create 3D Environment
Create a world object using sim3d.World.
world = sim3d.World();
Create Actor
Create a box actor in the 3D environment using the sim3d.Actor object and add the box actor to the world.
box = sim3d.Actor(ActorName='Box'); createShape(box,'box',[0.5 0.5 0.5]); box.Color = [1 1 0]; add(world,box);
Create Arrows
Create three arrows using the sim3d.graphics.Arrow object and set the ActorName of the object. To position the arrows in the 3D environment, set the Translation argument with a 3-by-3 array value. Set the Rotation and Color properties for each arrow and add the object to the world.
arrows = sim3d.graphics.Arrow( ... ActorName='Arrows', ... Translation=[0.25 0 0; 0 0.25 0; 0 0 0.25]); arrows.Rotation = [0 0 0; 0 0 pi/2; 0 pi/2 0]; arrows.Color = [1 0 0; 0 1 0; 0 0 1]; add(world,arrows,box);
Create Text
Create three text labels using the sim3d.graphics.Text object and set the ActorName of the object. To position the text labels in the 3D environment, set the Translation argument with a 3-by-3 array value. Set the Color property of each text label and the String property with the display text. Add the object to the world.
texts = sim3d.graphics.Text( ... ActorName='Texts', ... Translation=[1.25 0 0; 0 1.25 0; 0 0 1.25]); texts.Color = [1 0 0; 0 1 0; 0 0 1]; texts.String = ["X";"Y";"Z"]; add(world,texts,box);
Run Simulation
Set the Simulation 3D Viewer window point of view and run the simulation.
viewport = createViewport(world,Translation=[-3 4 1]); viewport.Rotation = [0 0 -pi/4]; sampletime = 0.01; stoptime = 5; run(world,sampletime,stoptime);

delete(world);
Version History
Introduced in R2024a
See Also
sim3d.graphics.Text | sim3d.World | sim3d.Actor | add | run | Simulation 3D Actor
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)