LIBRARY
ArrowShape
Arrow shape primitive for 3D rendering.
Renders a vector arrow (shaft cylinder + arrowhead cone). Used for visualizing forces, torques, and other vector quantities. The arrow direction and length come from the length_direction and length variables of the parent Shape.
This component extends from Shape
Usage
MultibodyComponents.ArrowShape(render=true, color=[0.5, 0.5, 0.5, 1.0], specular_coefficient=0.7, head_at_origin=true, diameter=0.05, head_length=0.1, head_diameter=0.1)
Parameters:
| Name | Description | Units | Default value |
|---|---|---|---|
render | Whether this shape should be rendered | – | true |
color | RGBA color of the shape | – | [0.5, 0.5, 0.5, 1] |
specular_coefficient | Specular reflection coefficient (0 = fully diffuse) | – | 0.7 |
head_at_origin | – | true | |
diameter | – | 0.05 | |
head_length | – | 0.1 | |
head_diameter | – | 0.1 |
Variables
| Name | Description | Units |
|---|---|---|
r | 3D position of the shape origin in world frame | – |
R | 3D rotation matrix (orientation) of the shape in world frame | – |
r_shape | Offset from r to shape origin, resolved in shape frame | – |
length_direction | Primary axis direction (unit vector, resolved in shape frame) | – |
width_direction | Secondary axis direction (unit vector, resolved in shape frame) | – |
length | Dimension along length_direction | – |
width | Dimension along width_direction | – |
height | Dimension perpendicular to both length and width | – |
Behavior
Source
dyad
"""
Arrow shape primitive for 3D rendering.
Renders a vector arrow (shaft cylinder + arrowhead cone). Used for visualizing
forces, torques, and other vector quantities. The arrow direction and length
come from the `length_direction` and `length` variables of the parent Shape.
"""
component ArrowShape
extends Shape
# Whether the arrowhead points at the origin (true for forces) or away
parameter head_at_origin::Boolean = true
# Diameter of the arrow shaft
parameter diameter::Real = 0.05
# Length of the arrowhead cone
parameter head_length::Real = 0.1
# Diameter of the arrowhead cone base
parameter head_diameter::Real = 0.1
relations
endFlattened Source
dyad
"""
Arrow shape primitive for 3D rendering.
Renders a vector arrow (shaft cylinder + arrowhead cone). Used for visualizing
forces, torques, and other vector quantities. The arrow direction and length
come from the `length_direction` and `length` variables of the parent Shape.
"""
component ArrowShape
"Whether this shape should be rendered"
parameter render::Boolean = true
"3D position of the shape origin in world frame"
variable r::Real[3]
"3D rotation matrix (orientation) of the shape in world frame"
variable R::Real[3, 3]
"Offset from r to shape origin, resolved in shape frame"
variable r_shape::Real[3]
"Primary axis direction (unit vector, resolved in shape frame)"
variable length_direction::Real[3]
"Secondary axis direction (unit vector, resolved in shape frame)"
variable width_direction::Real[3]
"Dimension along length_direction"
variable length::Real
"Dimension along width_direction"
variable width::Real
"Dimension perpendicular to both length and width"
variable height::Real
"RGBA color of the shape"
parameter color::Real[4] = [0.5, 0.5, 0.5, 1.0]
"Specular reflection coefficient (0 = fully diffuse)"
parameter specular_coefficient::Real = 0.7
# Whether the arrowhead points at the origin (true for forces) or away
parameter head_at_origin::Boolean = true
# Diameter of the arrow shaft
parameter diameter::Real = 0.05
# Length of the arrowhead cone
parameter head_length::Real = 0.1
# Diameter of the arrowhead cone base
parameter head_diameter::Real = 0.1
relations
metadata {}
endTest Cases
No test cases defined.
Related
Examples
Experiments
Analyses