The calculation you’re using is essentially a 2D cross product (or the out‑of‑plane component of a 3D cross product) that’s being applied in a torque context. In physics, torque (τ) is defined as the cross product of the moment arm (r) and the applied force (F):
\tau = \mathbf{r} \times \mathbf{F}.
For planar problems (here using x and z as the axes), the scalar torque is usually given by:
\tau_y = r_x F_z - r_z F_x.
Your expression,
z_1 \times x_2 - x_1 \times z_2,
is simply the negative of the conventional formulation if you set \mathbf{r} = (x_1, z_1) and \mathbf{F} = (x_2, z_2). (Getting a minus sign is common when switching the order of operands.)
Choosing Parameter Names
Since you’re calculating a torque, the two vectors likely represent: 1. The Moment (or Lever) Arm: This is the displacement vector from the pivot point (or the attachment point) to where the force is applied. Naming this parameter momentArm or leverArm is clear and conventional. 2. The Applied Force: This represents the force being exerted by the elastic leash. Naming this parameter force (or appliedForce) immediately communicates its role in generating torque.
Thus, your method signature could be something like:
public double calculateTorque(Vec3d momentArm, Vec3d force) { ... }
This naming directly expresses the physical meaning of each parameter: • momentArm clearly indicates the vector representing the arm (i.e., the radial distance and direction from the rotation point). • force or appliedForce clarifies that the vector represents the force causing the rotational effect.
A Note on Coordinate Conventions
Given that you’re working with x and z components to compute the torque (which is mathematically analogous to the y‑component of the full 3D cross product), you might also want to document or comment on the coordinate system. This can help future readers understand why the cross product is being computed using only the x and z components (i.e., the system’s “up” direction is along y).
In Summary • Parameter 1 (momentArm or leverArm): The displacement vector from the pivot point. • Parameter 2 (force or appliedForce): The force vector applied by the leash elasticity.
This approach is standard and should make the code immediately understandable to anyone reading your implementation.