Sine is the ratio obtained by dividing the side opposite the angle by the hypotenuse. Since the center points of the barrels are spaced along the points of an equilateral triangle, all angles of the triangle are equal to 60°. If you multiply the sine of 60° by the length of one of the sides of the triangle, the result is the height of the triangle.
It is important to know which units of measurement the built-in functions of a programming language use. Many programming languages, including MEL and Python, perform trigonometric operations in radians. You must convert from degrees to radians when using the sine function to calculate the Y offset.
float $Y_offset;
$Y_offset = $diameter_barrel * (sin(deg_to_rad(60)));
The assignment operator evaluates the right hand side of the expression and assigns it to the left hand side. The degree to radian conversion function is the first to be evaluated, as it is within the most interior set of brackets. The sine function calculates the sine of the angle given in radians. The sine value is multiplied by the diameter to calculate the Y offset. The variable is assigned the calculated value.
select -allDagObjects; duplicate;
Using the select command with the -allDagObjects flag selects all DAG (Directed Acyclic Graph) objects, which are a set of objects that exist in the scene such as geometry, IK chains and measure tools. Textures and animation information do not belong to the Directed Acyclic Graph.
move -r 0 $Y_offset ($diameter_barrel/2.0); duplicate; move -r 0 $Y_offset ($diameter_barrel/2.0); duplicate; move -r 0 $Y_offset ($diameter_barrel/2.0);