The Metric_Golf_Swing_Plane command computes the best fit plane to the trajectory of a TARGET or LANDMARK signal, usually defined within a specific event sequence (e.g., the golf swing phase).
The underlying calculation uses Visual3D's Best Fit Plane method- a least squares fitting procedure that determines a plane which best fits the path of a point from a START event to an END event. This plane is defined by four coefficients (a, b, c, and d) in the equation.
ax + by + cz + d = 0, where (a, b, c) is the normal vector to the plane.
In a standard Best Fit Plane calculation, the normal vector can point in either of two opposite directions. In the case of this command, the calculation includes an additional check to ensure that the plane's normal always points away from the pelvis- providing a consistent and meaningful orientation for golf swing analysis.
The command below is as seen in the Visual3D application. Parameters allow you to control various details of the command.
Metric_Golf_Swing_Plane /SIGNAL_TYPES= ! /SIGNAL_FOLDER=ORIGINAL ! /SIGNAL_NAMES= ! /RESULT_FOLDER=PROCESSED /RESULT_NAME= ! /EVENT_SEQUENCE= ! /EXCLUDE_EVENTS= ;
The following table shows the command parameters and descriptions:
Parameter | Description |
/SIGNAL_TYPES= | Specifies the type of signal to use for the plane fitting (e.g. TARGET, LANDMARK) |
! /SIGNAL_FOLDER=ORIGINAL | The folder containing the input signal. Default is ORIGINAL. |
! /SIGNAL_NAMES= | Name of the signal (e.g., CLUB) |
! /RESULT_FOLDER= PROCESSED | Folder where the resulting metric will be stored. Default is PROCESSED. |
/RESULT_NAME= | Name assigned to the resulting swing plane metric. |
!/ EVENT_SEQUENCE= | Defines the start and end events for the swing segment to be analyzed (e.g., TAKEAWAY + BACK) |
! /EXCLUDE_EVENTS= | Events that should be excluded from the calculation. |
This command can be edited in the text editor or in dialog form. To open the dialog, either click Edit in the Pipeline Workshop or double-click the command.
The dialog options are:
The following examples will go through the use of the Metric_Golf_Swing_Plane command in the Visual3D application.
This example computes the stance plane using the club's motion between the TAKEAWAY and BACK events.
Metric_Golf_Swing_Plane /SIGNAL_TYPES=TARGET /SIGNAL_NAMES=CLUB /SIGNAL_FOLDER=ORIGINAL /RESULT_NAME=STANCE_CLUB /EVENT_SEQUENCE=TAKEAWAY+BACK ! /EXCLUDE_EVENTS= ;
This example computes the swing plane using the club's motion between the TOP and DOWN events.
Metric_Golf_Swing_Plane /SIGNAL_TYPES=TARGET /SIGNAL_NAMES=CLUB ! /SIGNAL_FOLDER=ORIGINAL /RESULT_NAME=SWING_CLUB /RESULT_FOLDER=GOLF /EVENT_SEQUENCE=TOP+DOWN ! /EXCLUDE_EVENTS= ;
Once you have calculated the stance and swing phase, you can use Highlight_Golf_Features to visualize them alongside other golf metrics.
Highlight_Golf_Features ! /CALIBRATION_FILE= ! /X_FACTOR=RPV::X+RTA::X /CLUB_PATH=TARGET::ORIGINAL::CLUB ! /BALL_PATH+TARGET::ORIGINAL::BALL /STANCE_PLANE=METRIC::GOLF::STANCE_CLUB /SWING_PLANE=METRIC::GOLF::SWING_CLUB /HIGHLIGHT_X_FACTOR=TRUE /HIGHLIGHT_CLUB_PATH=TRUE /HIGHLIGHT_BALL_PATH=TRUE /HIGHLIGHT_STANCE_PLANE=TRUE /HIGHLIGHT_SWING_PLANE=TRUE ;
This is shown in dialog form below:
Due to the dataset used for this example, it has been difficult to generalize a good view of the swing planes. An example image is shown here: