<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="EN">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Sports Act. Living</journal-id>
<journal-title>Frontiers in Sports and Active Living</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Sports Act. Living</abbrev-journal-title>
<issn pub-type="epub">2624-9367</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fspor.2025.1635581</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Sports and Active Living</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Development of a MediaPipe-based framework for biomechanical quantification of table tennis forehand strokes</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author"><name><surname>Lyu</surname><given-names>Yuanyuan</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref><uri xlink:href="https://loop.frontiersin.org/people/3021809/overview"/><role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/><role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/><role content-type="https://credit.niso.org/contributor-roles/software/"/><role content-type="https://credit.niso.org/contributor-roles/project-administration/"/><role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/><role content-type="https://credit.niso.org/contributor-roles/methodology/"/><role content-type="https://credit.niso.org/contributor-roles/validation/"/><role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/><role content-type="https://credit.niso.org/contributor-roles/supervision/"/><role content-type="https://credit.niso.org/contributor-roles/investigation/"/><role content-type="https://credit.niso.org/contributor-roles/data-curation/"/></contrib>
<contrib contrib-type="author"><name><surname>Duan</surname><given-names>Xiaoling</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref><uri xlink:href="https://loop.frontiersin.org/people/3158489/overview"/><role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/><role content-type="https://credit.niso.org/contributor-roles/methodology/"/><role content-type="https://credit.niso.org/contributor-roles/resources/"/><role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/><role content-type="https://credit.niso.org/contributor-roles/investigation/"/></contrib>
<contrib contrib-type="author"><name><surname>Yang</surname><given-names>Chen</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref><uri xlink:href="https://loop.frontiersin.org/people/3157691/overview"/><role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/><role content-type="https://credit.niso.org/contributor-roles/data-curation/"/><role content-type="https://credit.niso.org/contributor-roles/methodology/"/><role content-type="https://credit.niso.org/contributor-roles/resources/"/><role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/><role content-type="https://credit.niso.org/contributor-roles/investigation/"/></contrib>
<contrib contrib-type="author" corresp="yes"><name><surname>Ye</surname><given-names>Qiang</given-names></name>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
<xref ref-type="corresp" rid="cor1">&#x002A;</xref><uri xlink:href="https://loop.frontiersin.org/people/554754/overview" /><role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/><role content-type="https://credit.niso.org/contributor-roles/project-administration/"/><role content-type="https://credit.niso.org/contributor-roles/supervision/"/><role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/><role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/><role content-type="https://credit.niso.org/contributor-roles/methodology/"/><role content-type="https://credit.niso.org/contributor-roles/validation/"/><role content-type="https://credit.niso.org/contributor-roles/software/"/><role content-type="https://credit.niso.org/contributor-roles/investigation/"/><role content-type="https://credit.niso.org/contributor-roles/resources/"/><role content-type="https://credit.niso.org/contributor-roles/data-curation/"/></contrib>
</contrib-group>
<aff id="aff1"><label><sup>1</sup></label><institution>School of Sport and Health Science, Nanjing Sport Institute</institution>, <addr-line>Nanjing</addr-line>, <country>China</country></aff>
<aff id="aff2"><label><sup>2</sup></label><institution>School of Table Tennis and Badminton, Nanjing Sport Institute</institution>, <addr-line>Nanjing</addr-line>, <country>China</country></aff>
<aff id="aff3"><label><sup>3</sup></label><institution>Information Affairs Office, Nanjing Sport Institute</institution>, <addr-line>Nanjing</addr-line>, <country>China</country></aff>
<author-notes>
<fn fn-type="edited-by"><p><bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/3014248/overview">Lei Zhao</ext-link>, Shandong Jianzhu University, China</p></fn>
<fn fn-type="edited-by"><p><bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1281265/overview">Datao Xu</ext-link>, Ningbo University, China</p>
<p><ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1632683/overview">Guoxin Zhang</ext-link>, The Hong Kong Polytechnic University, Hong Kong SAR, China</p></fn>
<corresp id="cor1"><label>&#x002A;</label><bold>Correspondence:</bold> Qiang Ye <email>yeqiang@nsi.edu.cn</email></corresp>
</author-notes>
<pub-date pub-type="epub"><day>15</day><month>08</month><year>2025</year></pub-date>
<pub-date pub-type="collection"><year>2025</year></pub-date>
<volume>7</volume><elocation-id>1635581</elocation-id>
<history>
<date date-type="received"><day>26</day><month>05</month><year>2025</year></date>
<date date-type="accepted"><day>28</day><month>07</month><year>2025</year></date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2025 Lyu, Duan, Yang and Ye.</copyright-statement>
<copyright-year>2025</copyright-year><copyright-holder>Lyu, Duan, Yang and Ye</copyright-holder><license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution License (CC BY)</ext-link>. The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license>
</permissions>
<abstract><sec><title>Introduction</title>
<p>This study aimed to quantify kinematic relationships across body segments during forehand strokes to provide interpretable metrics for single-camera based lightweight table tennis diagnostics.</p>
</sec><sec><title>Methods</title>
<p>We analyzed 34 female players (aged 9.1&#x2013;21.7 years) from provincial teams, recording a total of 340 strokes (10 per player). An SVM model was used to predict ball speed, after which 320 strokes (8&#x2013;10 per player) were retained by removing outliers in ball speed. From MediaPipe position time series, we calculated velocity, angle and angular velocity time series, and extracted kinematic parameters from these time series, including range, mean/peak/impact values. Within-subject correlation coefficients (<italic>r</italic><sub>ws</sub>) were calculated to identify key biomechanical parameters that contribute to the ball speed, while between-subject correlation coefficients (<italic>r</italic><sub>bs</sub>) were used to detect the relationship between age/height and ball speed.</p>
</sec><sec><title>Results</title>
<p>Ball speed increased with greater playing-side arm linear movement at the shoulder (<italic>r</italic><sub>ws</sub>&#x2009;&#x003D;&#x2009;0.51 to 0.63), elbow (<italic>r</italic><sub>ws</sub>&#x2009;&#x003D;&#x2009;0.63 to 0.70) and wrist (<italic>r</italic><sub>ws</sub>&#x2009;&#x003D;&#x2009;0.50 to 0.60), as well as with enhanced rotational motion at the playing-side upper arm (<italic>r</italic><sub>ws</sub>&#x2009;&#x003D;&#x2009;0.65 to 0.71), shoulder line (<italic>r</italic><sub>ws</sub>&#x2009;&#x003D;&#x2009;0.54 to 0.57), and hip line (<italic>r</italic><sub>ws</sub>&#x2009;&#x003D;&#x2009;0.51 to 0.59). Conversely, ball speed decreased with excessive contralateral shoulder horizontal flexion/extension (<italic>r</italic><sub>ws</sub>&#x2009;&#x003D;&#x2009;&#x2212;0.44 to &#x2212;0.62) and playing-side elbow flexion-extension (<italic>r</italic><sub>ws</sub>&#x2009;&#x003D;&#x2009;&#x2212;0.35). At the population-level, ball speed increases with age before 14.3 years (<italic>r</italic><sub>bs</sub>&#x2009;&#x003D;&#x2009;0.68) but plateaus thereafter (<italic>r</italic><sub>bs</sub>&#x2009;&#x003D;&#x2009;0.17).</p>
</sec><sec><title>Discussion</title>
<p>This MediaPipe-based framework demonstrates potential for efficient biomechanical analysis in table tennis, providing a promising foundation for lightweight real-time analysis solutions.</p>
</sec>
</abstract>
<kwd-group>
<kwd>motion analysis</kwd>
<kwd>MediaPipe</kwd>
<kwd>table tennis</kwd>
<kwd>forehand stroke</kwd>
<kwd>biomechanics</kwd>
</kwd-group><counts>
<fig-count count="11"/>
<table-count count="8"/><equation-count count="809"/><ref-count count="56"/><page-count count="18"/><word-count count="0"/></counts><custom-meta-wrap><custom-meta><meta-name>section-at-acceptance</meta-name><meta-value>Biomechanics and Control of Human Movement</meta-value></custom-meta></custom-meta-wrap>
</article-meta>
</front>
<body><sec id="s1" sec-type="intro"><label>1</label><title>Introduction</title>
<p>Table tennis requires precise whole-body coordination and accurate stroke timing, creating unique biomechanical analysis challenges. Biomechanical analysis reveals underlying technique patterns and improves player training and performance. Researchers employ various devices to study motion characteristics: optical systems (<xref ref-type="bibr" rid="B1">1</xref>&#x2013;<xref ref-type="bibr" rid="B5">5</xref>), pressure and force sensors (<xref ref-type="bibr" rid="B1">1</xref>, <xref ref-type="bibr" rid="B2">2</xref>), electromyography (EMG) (<xref ref-type="bibr" rid="B3">3</xref>), and inertial measurement units (IMUs) attached to the body or racket (<xref ref-type="bibr" rid="B6">6</xref>).</p>
<p>Optical devices serve as primary tools, used alone or combined with other sensors. They capture precise three-dimensional spatial data while allowing players to move freely without interference. Researchers examine movement patterns across skill levels, identifying subtle joint and muscle dynamics invisible to the naked eye. Wang et al. used optical systems and EMG to compare elite and amateur players. Elite players showed greater ankle eversion and larger knee and hip flexion angles during backswing and follow-through phases (<xref ref-type="bibr" rid="B3">3</xref>). He et al. employed a VICON optical system to study driving leg kinematics during topspin forehand loops. They found significant ankle movement differences between elite and intermediate players, recommending that intermediate players enhance lower limb muscle response to improve energy transfer (<xref ref-type="bibr" rid="B7">7</xref>). Qian et al. compared superior and intermediate players using VICON, finding that superior players exhibited greater hip flexion and knee external rotation at stroke initiation, plus increased hip internal rotation and extension at stroke completion (<xref ref-type="bibr" rid="B1">1</xref>). However, these optical systems require controlled environments, expensive multi-camera setups, high-frequency capabilities, time-consuming marker placement, large laboratories, and skilled technicians. These limitations restrict widespread use in practical training.</p>
<p>Researchers have adopted lightweight machine learning-based pose estimation models (e.g., OpenPose, MediaPipe Pose, PoseNet, AlphaPose, DeepLabCut, HRNet, BlazePose, EfficientPose, MoveNet) as alternatives to complex optical motion analysis systems (<xref ref-type="bibr" rid="B8">8</xref>&#x2013;<xref ref-type="bibr" rid="B12">12</xref>). These models provide human body landmarks for further development (<xref ref-type="bibr" rid="B8">8</xref>, <xref ref-type="bibr" rid="B11">11</xref>). In sports and exercise, these models analyze movements (e.g., running, jumping, squatting) to optimize technique (<xref ref-type="bibr" rid="B8">8</xref>, <xref ref-type="bibr" rid="B11">11</xref>, <xref ref-type="bibr" rid="B12">12</xref>), detect injury-prone postures, and provide real-time form feedback via mobile apps (<xref ref-type="bibr" rid="B12">12</xref>). They also assess team dynamics, monitor exercise quality in fitness apps, and enable remote training guidance (<xref ref-type="bibr" rid="B9">9</xref>). Compared to other models requiring complex configurations, MediaPipe provides easy-to-use APIs and comprehensive documentation, lowering the development barrier. Developers can quickly integrate it into existing projects (<xref ref-type="bibr" rid="B9">9</xref>, <xref ref-type="bibr" rid="B10">10</xref>, <xref ref-type="bibr" rid="B13">13</xref>). These advantages make MediaPipe Pose the preferred solution suitable for scenarios requiring real-time performance and cross-platform deployment.</p>
<p>While lightweight machine learning-based pose estimation models exhibit lower precision compared to high-fidelity motion capture systems like VICON (<xref ref-type="bibr" rid="B10">10</xref>, <xref ref-type="bibr" rid="B13">13</xref>, <xref ref-type="bibr" rid="B14">14</xref>), recent advances in machine learning have significantly enhanced the utilization of keypoint data from lightweight pose estimation models (<xref ref-type="bibr" rid="B10">10</xref>, <xref ref-type="bibr" rid="B15">15</xref>). Machine learning includes classical approaches and deep learning architectures. Integrating these methods with pose estimation data creates new opportunities for automated movement quality assessment (AQA) in athletic and rehabilitative applications.</p>
<p>Classical machine learning approaches include Decision Trees, Random Forest, SVM, Naive Bayes, K-NN, and Linear/Logistic Regression (<xref ref-type="bibr" rid="B9">9</xref>). These methods address classification (<xref ref-type="bibr" rid="B16">16</xref>&#x2013;<xref ref-type="bibr" rid="B20">20</xref>), regression (<xref ref-type="bibr" rid="B21">21</xref>&#x2013;<xref ref-type="bibr" rid="B23">23</xref>), clustering tasks, and feature importance ranking (<xref ref-type="bibr" rid="B24">24</xref>). Naive Bayes offers mathematical robustness and efficiency but relies on independence assumptions (<xref ref-type="bibr" rid="B16">16</xref>). Decision Trees are capable of identifying contributing factors in biomechanical analyses, with applications including knee biomechanical asymmetry (<xref ref-type="bibr" rid="B24">24</xref>). Random Forest combines multiple trees to improve prediction accuracy and reduce overfitting (<xref ref-type="bibr" rid="B24">24</xref>, <xref ref-type="bibr" rid="B25">25</xref>), successfully predicting joint angles and moments (<xref ref-type="bibr" rid="B21">21</xref>). Linear regression predicts continuous outcomes, such as running stride temporal variables and peak vertical ground reaction force (<xref ref-type="bibr" rid="B22">22</xref>), while logistic regression addresses classification problems, such as binary musculoskeletal disorder classification (<xref ref-type="bibr" rid="B16">16</xref>, <xref ref-type="bibr" rid="B17">17</xref>). Linear and logistic regression can work together to identify key predictors and examine high vs. low knee abduction moments (<xref ref-type="bibr" rid="B18">18</xref>). Support Vector Machines (SVM) provide nonlinear classification and regression capabilities through kernel methods, making them well-suited for complex biomechanical tasks among classical machine learning approaches. Applications of SVM include predicting athlete aerobic fitness (<xref ref-type="bibr" rid="B19">19</xref>), analyzing running gait (<xref ref-type="bibr" rid="B20">20</xref>), and predicting fastball speed using kinetic and kinematic predictors (<xref ref-type="bibr" rid="B23">23</xref>).</p>
<p>These classical machine learning approaches offer significant advantages in interpretability (<xref ref-type="bibr" rid="B16">16</xref>, <xref ref-type="bibr" rid="B23">23</xref>) and computational efficiency (<xref ref-type="bibr" rid="B18">18</xref>, <xref ref-type="bibr" rid="B21">21</xref>), making them well-suited for clinical applications and scenarios with limited data availability. However, their dependency on manual feature engineering (<xref ref-type="bibr" rid="B26">26</xref>), limited capacity for processing high-dimensional data structures (<xref ref-type="bibr" rid="B27">27</xref>), constrained nonlinear modeling capabilities, and insufficient handling of temporal sequences (<xref ref-type="bibr" rid="B28">28</xref>) restrict their effectiveness in advanced analytical tasks (<xref ref-type="bibr" rid="B26">26</xref>). In contrast, deep learning architectures&#x2014;including Convolutional Neural Networks (CNNs), Recurrent Neural Networks/Long Short-Term Memory networks (RNNs/LSTMs), and Transformers&#x2014;provide superior accuracy and automation capabilities for complex spacial or temporal movement analysis. Nevertheless, these approaches require substantial computational resources and large training datasets to achieve optimal performance (<xref ref-type="bibr" rid="B29">29</xref>).</p>
<p>CNNs excel at processing visual data through hierarchical structures and have been successfully applied to performance classification and kinetic parameter prediction (<xref ref-type="bibr" rid="B27">27</xref>, <xref ref-type="bibr" rid="B30">30</xref>). While CNNs effectively extract spatial features, they struggle with temporal sequence modeling, prompting researchers to integrate CNNs with RNNs to achieve comprehensive spatial and temporal analysis (<xref ref-type="bibr" rid="B31">31</xref>, <xref ref-type="bibr" rid="B32">32</xref>). RNNs handle time-series prediction effectively (<xref ref-type="bibr" rid="B29">29</xref>) but suffer from vanishing and exploding gradient problems (<xref ref-type="bibr" rid="B33">33</xref>). LSTM units address these limitations as a specialized RNN component (<xref ref-type="bibr" rid="B29">29</xref>, <xref ref-type="bibr" rid="B33">33</xref>, <xref ref-type="bibr" rid="B34">34</xref>). LSTMs have predicted joint reaction forces (<xref ref-type="bibr" rid="B35">35</xref>), segmented jump phases (<xref ref-type="bibr" rid="B36">36</xref>), and modeled stress evolution in skeletal muscle tissue (<xref ref-type="bibr" rid="B33">33</xref>). Transformers extend RNN capabilities by overcoming LSTM&#x2019;s long-range dependency limitations. Their attention mechanisms capture relationships across entire sequences simultaneously, providing superior sequence modeling and interpretability through attention weights while enabling efficient parallelization.</p>
<p>Recent advances in table tennis research have leveraged lightweight machine learning models and pose estimation techniques to analyze player performance. Chen et al. enhanced swing recognition through an improved OpenPose framework integrated with MobileNet v3-small and InceptionTime architectures (<xref ref-type="bibr" rid="B8">8</xref>). Building on pose estimation approaches, Llanos et al. developed a comprehensive assessment system using OpenPose and SVM-RBF classifiers to differentiate four key postural elements: upper body lean, knee bend, forehand/backhand strokes, and footwork patterns (<xref ref-type="bibr" rid="B11">11</xref>). For real-time applications, He et al. combined YOLOv5 and MediaPipe for stroke and posture assessment, implementing dynamic time warping algorithms to compare temporal sequences of joint angles (elbow-shoulder-hip) between player motions and reference techniques (<xref ref-type="bibr" rid="B12">12</xref>).Similarly, Huang and colleagues employed OpenPose for skeleton extraction combined with SVM for real-time swing recognition, incorporating Dynamic Time Warping (DTW) algorithms to evaluate technique through keypoint trajectory comparison and identification of suboptimal joint movements (<xref ref-type="bibr" rid="B37">37</xref>). Transformer-based approaches have also shown promise, with Dong and colleagues utilizing MediaPipe for human keypoint extraction and employing Transformer models for stroke recognition across six distinct stroke types (<xref ref-type="bibr" rid="B38">38</xref>).</p>
<p>Despite advances in lightweight pose estimation for table tennis, existing methods focus primarily on stroke classification without quantifying how multi-segment body kinematics influence ball impact outcomes. These approaches have not yet established measurable relationships between whole-body movement patterns and performance metrics, limiting their utility for diagnostic applications in sports training.</p>
<p>This study aimed to quantify kinematic relationships across body segments during forehand strokes to provide interpretable metrics for lightweight table tennis diagnostics. Using single-camera whole-body landmark detection and ball speed measurement, we employed statistical analysis to identify key kinematic factors influencing ball performance. This research bridges lightweight human motion capture with actionable biomechanical insights for practical sports training applications.</p>
</sec>
<sec id="s2" sec-type="methods"><label>2</label><title>Methods</title>
<p>The research method consists of the following steps: (1) Pre-train a Support Vector Machine (SVM) model to serve as a tool for direct ball speed measurement from video footage. (2) Participants perform forehand strokes while MediaPipe captures the 3D position series of human body landmarks. (3) Calibrate the position series to compute velocity, angle, and angular velocity sequences, from which kinematic summaries are extracted. (4) Apply the pre-trained SVM model to predict ball speed based on the ball trajectory. (5) Conduct statistical analysis to examine correlations between kinematic summaries and ball velocity, as well as relationships between participant demographics (age and height) and ball speed.</p>
<sec id="s2a"><label>2.1</label><title>SVM ball speed model</title>
<p>A Support Vector Machine (SVM) regression model was pre-trained on ball coordinates (x and y values) extracted from video frames to predict ball speed. This model was then employed in the main experiment to streamline the measurement process, ensuring efficiency for practical applications.</p>
<p>Ball speed specifically denotes average horizontal ball speed, which critically measures offensive performance in table tennis. The table surface was divided into <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM1"><mml:mn>10</mml:mn><mml:mspace width="thinmathspace" /><mml:mtext>cm</mml:mtext><mml:mo>&#x00D7;</mml:mo><mml:mn>10</mml:mn><mml:mspace width="thinmathspace" /><mml:mtext>cm</mml:mtext></mml:math></inline-formula> squares using fine lines to accurately identify ball landing spots and determine horizontal flight distance. A centrally positioned audio recorder captured sounds from ball-racket and ball-table contact. These sound waves were analyzed using Adobe Audition, which provides 1 millisecond temporal resolution, enabling precise measurement of impact time intervals. Corrections were applied based on sound velocity at 20&#x00B0;C (343 m/s) to account for varying sound travel times caused by different distances between impact points, drop points, and the recorder. Ball speed was calculated by dividing horizontal flight distance by travel time.</p>
<p>The SVM regression model was developed using 517 preliminary stroke measurements from standardized ball trajectories at controlled speeds. Manually annotated (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM3"><mml:mi>x</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM4"><mml:mi>y</mml:mi></mml:math></inline-formula>) coordinates from six consecutive video frames created 12-dimensional feature vectors capturing ball movement immediately before screen exit.</p>
<p>Using six-frame coordinates with SVM regression rather than simple two-point measurement offers several advantages: (1) Table tennis ball trajectories are inherently nonlinear due to air resistance, spin effects, and gravitational forces. SVM&#x2019;s ability to find optimal decision boundaries in high-dimensional space makes it particularly suitable for processing multi-frame coordinate data and learning complex velocity patterns that simple kinematic equations cannot capture. (2) Six frames provide finer temporal sampling of ball motion, effectively filtering random noise and measurement errors common in single-frame coordinate detection. (3) If ball detection fails in one or two frames, SVM can still make accurate predictions using remaining frames, whereas two-point methods would fail completely.</p>
<p>The 517 preliminary measurements were split into training (80&#x0025;) and test (20&#x0025;) sets, with the test set remaining independent throughout the training process. Hyperparameter optimization employed 5-fold cross-validation with grid search across <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM5"><mml:mi>C</mml:mi></mml:math></inline-formula> parameters [0.1, 1, 10, 100, 1,000, 10,000, 100,000] and <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM6"><mml:mi>&#x03B3;</mml:mi></mml:math></inline-formula> values [1, 0.1, 0.01, 0.001, 0.0001, 0.00001]. This strategy ensured robust parameter selection while preventing overfitting. The optimal configuration achieved <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM7"><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:mn>100,000</mml:mn></mml:math></inline-formula> and <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM8"><mml:mi>&#x03B3;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.001</mml:mn></mml:math></inline-formula>, yielding best cross-validation score (R<sup>2</sup><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM9"><mml:mo>=</mml:mo><mml:mn>0.987</mml:mn></mml:math></inline-formula>) and test set R<sup>2</sup><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM10"><mml:mo>=</mml:mo><mml:mn>0.981</mml:mn></mml:math></inline-formula> (<xref ref-type="fig" rid="F1">Figure&#x00A0;1</xref>).</p>
<fig id="F1" position="float"><label>Figure 1</label>
<caption><p>Validation of SVM ball speed prediction model against acoustic measurements with high accuracy.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="fspor-07-1635581-g001.tif"><alt-text content-type="machine-generated">Scatter plot showing SVM predicted ball speed versus acoustic measured ball speed, both in kilometers per hour. Data points are clustered near the y=x line. The correlation coefficient is 0.981, and the root mean square error is 1.398 km/h.</alt-text>
</graphic>
</fig>
<p>Bland&#x2013;Altman analysis demonstrated excellent agreement between predicted and measured speeds in the test set. Most data points fell within 95&#x0025; confidence limits with minimal systematic bias of 0.02 km/h (<xref ref-type="fig" rid="F2">Figure&#x00A0;2</xref>). This validated SVM model was employed for lightweight ball speed prediction.</p>
<fig id="F2" position="float"><label>Figure 2</label>
<caption><p>Bland&#x2013;Altman analysis of predicted vs. measured ball speeds. Dotted lines indicate limits of agreement (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM11"><mml:mo>&#x00B1;</mml:mo><mml:mn>1.96</mml:mn></mml:math></inline-formula> SD), with shaded areas representing 95&#x0025; confidence intervals for the mean difference and limits of agreement.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="fspor-07-1635581-g002.tif"><alt-text content-type="machine-generated">Bland-Altman plot showing the difference in speeds between two measurement methods (y-axis) against their mean (x-axis) in kilometers per hour. Data points are scattered around the mean difference line at 0.02 km/h. Upper and lower limits of agreement are depicted with dashed lines at +2.76 and -2.72 km/h, respectively, with shaded areas indicating &#x00B1;1.96 standard deviations.</alt-text>
</graphic>
</fig>
</sec>
<sec id="s2b"><label>2.2</label><title>Participants and protocol</title>
<p>This study included 34 female table tennis players (aged 9.1&#x2013;21.7 years) from provincial teams training at Nanjing Sport Institute in February 2023. Twenty-six were from the Jiangsu team and eight from the Shanghai team. (<xref ref-type="table" rid="T1">Table&#x00A0;1</xref>). Power analysis using PASS 2023 demonstrated adequate statistical power for within-subject correlations (93&#x0025;, ICC <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM12"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.5) and between-subject correlations (87&#x0025;, r <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM13"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.5) at <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM14"><mml:mi>&#x03B1;</mml:mi><mml:mo>=</mml:mo></mml:math></inline-formula> 0.05. All participants were physically fit with no training contraindications. The Ethics Committee at Nanjing Sport Institute approved these procedures (Approval No. RT-2023-02). Participants or their guardians provided written informed consent before the study began.</p>
<table-wrap id="T1" position="float"><label>Table 1</label>
<caption><p>Participant characteristics, means<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM15"><mml:mo>&#x00B1;</mml:mo></mml:math></inline-formula>SD or N (&#x0025;).</p></caption>
<table frame="hsides" rules="groups">
<colgroup>
<col align="left"/>
<col align="center"/>
</colgroup>
<thead>
<tr>
<th valign="top" align="left">Characteristics</th>
<th valign="top" align="center">Participants</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">N</td>
<td valign="top" align="center">34</td>
</tr>
<tr>
<td valign="top" align="left">Age (yr)</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM16"><mml:mn>15.0</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>3.5</mml:mn></mml:math></inline-formula></td>
</tr>
<tr>
<td valign="top" align="left">Height (cm)</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM17"><mml:mn>161.2</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>9.5</mml:mn></mml:math></inline-formula></td>
</tr>
<tr>
<td valign="top" align="left">Weight (kg)</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM18"><mml:mn>51.4</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>10.1</mml:mn></mml:math></inline-formula></td>
</tr>
<tr>
<td valign="top" align="left">Left-handed</td>
<td valign="top" align="center">8 (23.5&#x0025;)</td>
</tr>
<tr>
<td valign="top" align="left">Right-handed</td>
<td valign="top" align="center">26 (76.5&#x0025;)</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>An experienced coach delivered balls at slow speed (approximately 24 km/h) to allow players adequate physical and mental preparation based on her movements and optimal shot timing. Right-handed players positioned themselves on the table&#x2019;s left side and executed forehand strokes toward the opposite corner, maintaining ball trajectory approximately 20 cm above the table surface. A single camera (SONY FDR-AX700) positioned 95 cm above ground level captured body movements and ball trajectories from a <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM19"><mml:msup><mml:mn>45</mml:mn><mml:mrow><mml:mo>&#x2218;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula> angle on the right front (<xref ref-type="fig" rid="F3">Figure&#x00A0;3</xref>). The camera operated at <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM20"><mml:mn>1920</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>1080</mml:mn></mml:math></inline-formula> pixel resolution and 100 fps frame rate. The experimental setup was mirrored across the net for left-handed players: participants stood on the table&#x2019;s right side, and the camera position was correspondingly adjusted. The first ten valid strokes per player&#x2013;excluding edge and net contacts&#x2013;were recorded, resulting in a total of 340 strokes across 34 participants. Subsequent processing removed 20 strokes due to ball speed outliers, leaving 320 strokes (8&#x2013;10 per player). The outlier was identified using the criterion of values exceeding <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM21"><mml:mi>Q</mml:mi><mml:mn>3</mml:mn><mml:mo>+</mml:mo><mml:mn>1.5</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mi>I</mml:mi><mml:mi>Q</mml:mi><mml:mi>R</mml:mi></mml:math></inline-formula> or falling below <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM22"><mml:mi>Q</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mn>1.5</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mi>I</mml:mi><mml:mi>Q</mml:mi><mml:mi>R</mml:mi></mml:math></inline-formula>, where <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM23"><mml:mi>Q</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> and <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM24"><mml:mi>Q</mml:mi><mml:mn>3</mml:mn></mml:math></inline-formula> represent first and third quartiles, respectively, and <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM25"><mml:mi>I</mml:mi><mml:mi>Q</mml:mi><mml:mi>R</mml:mi></mml:math></inline-formula> denotes the interquartile range, reflecting the spread within the middle 50&#x0025; of data. Finally, for correlation analysis, only the fastest and slowest two strokes per player (68 strokes in total) were selected.</p>
<fig id="F3" position="float"><label>Figure 3</label>
<caption><p>Camera positioning and coordinate system for right-handed players. The MediaPipe coordinate system was modified such that the x and z axes lie parallel to the floor plane and perpendicular to each other, while the y-axis points upward, perpendicular to the transverse plane.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="fspor-07-1635581-g003.tif"><alt-text content-type="machine-generated">Diagram illustrating a post-stroke and serve trajectory with a standing position marked by footprints. Measurements are labeled as 2.2 meters and 0.6 meters along the x, y, and z axes. A camera location is indicated by a diamond shape.</alt-text>
</graphic>
</fig>
</sec>
<sec id="s2c"><label>2.3</label><title>Landmark tracking and data processing</title>
<sec id="s2c1"><label>2.3.1</label><title>Human landmark tracking</title>
<p>We tracked thirty-three landmark positions for each player using MediaPipe Pose (Version 0.10.14), as defined by Bazarevsky et al. (<xref ref-type="bibr" rid="B39">39</xref>) (<xref ref-type="fig" rid="F4">Figure&#x00A0;4</xref>). Each landmark was represented by three-dimensional coordinates (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM26"><mml:mi>x</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM27"><mml:mi>y</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM28"><mml:mi>z</mml:mi></mml:math></inline-formula>), where x and y indicate relative position in the 2D image, and z reflects regressed depth value. Data were stored as time series sampled at 100 Hz, matching the video frame rate. Left-handed players&#x2019; video frames were horizontally flipped before MediaPipe tracking to maintain consistency with right-handed movement patterns.</p>
<fig id="F4" position="float"><label>Figure 4</label>
<caption><p>MediaPipe landmarks.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="fspor-07-1635581-g004.tif"><alt-text content-type="machine-generated">Diagram of a human figure with numbered joints and body parts, resembling a skeleton used in pose estimation. Numbers are labeled corresponding to body parts such as nose, eyes, ears, shoulders, elbows, wrists, hands, hips, knees, ankles, heels, and foot indices.</alt-text>
</graphic>
</fig>
</sec>
<sec id="s2c2"><label>2.3.2</label><title>Ball trajectory and impact timing annotation</title>
<p>To ensure the progression of the main experiment, this study employed manual annotation to identify ball flight trajectories and racket-ball impact timing. Ball trajectories were determined by marking the coordinates of the ball in the final six frames before it exited the video frame boundaries. These trajectory data were subsequently used to predict ball speed using the pre-trained Support Vector Machine (SVM) model. Meanwhile, the manually identified racket-ball impact timing served as temporal reference points to extrac forward swing phase.</p>
</sec>
<sec id="s2c3"><label>2.3.3</label><title>Position data filtering</title>
<p>Landmark position time series were filtered using a low-pass Finite Impulse Response (FIR) filter designed with a Hamming window and 31 taps, implemented through the <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM29"><mml:mi>s</mml:mi><mml:mi>c</mml:mi><mml:mi>i</mml:mi><mml:mi>p</mml:mi><mml:mi>y</mml:mi><mml:mo>.</mml:mo><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>g</mml:mi><mml:mi>n</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mo>.</mml:mo><mml:mi>f</mml:mi><mml:mi>i</mml:mi><mml:mi>r</mml:mi><mml:mi>w</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi></mml:math></inline-formula> function. The filter applied 100 Hz sampling rate and 0.08 normalized cutoff frequency, corresponding to 4 Hz actual cutoff.</p>
</sec>
<sec id="s2c4"><label>2.3.4</label><title>Position data scaling</title>
<p>Two scaling factors converted landmark coordinates from video frames to actual positions. The first factor, calculated solely for the initial frame, addresses disparity between MediaPipe-estimated body dimensions and actual measurements. It compares cumulative lengths of bilateral shoulder-hip-knee-ankle segments calculated by MediaPipe with manually measured lengths. The second factor, computed for every subsequent frame, compensates for apparent size variations due to body movement, maintaining proportional consistency across frames. This factor adjusts landmark positions by comparing cumulative segment lengths in the current frame to those in the first frame. Each landmark position is then multiplied by both factors to obtain real-world coordinates.</p>
</sec>
<sec id="s2c5"><label>2.3.5</label><title>Dynamic origin calibration</title>
<p>MediaPipe&#x2019;s coordinate system is based on the camera coordinate system, which originally placed its origin <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM30"><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> between the hips, with the x-axis extending rightward, y-axis downward, and z-axis toward the camera. We still use the camera coordinate system, but repositioned the origin to the time-averaged midpoint between both feet across all frames during the current forehand stroke and redefined the y-axis to extend upward (<xref ref-type="fig" rid="F3">Figure&#x00A0;3</xref>). Landmark coordinates were then transformed relative to this motion-adaptive origin.</p>
</sec>
<sec id="s2c6"><label>2.3.6</label><title>Kinematic parameter calculation</title>
<p><bold>Landmark velocities</bold> were computed from position time series using the central difference method. Velocity components in x-, y-, and z-directions were calculated from <xref ref-type="disp-formula" rid="disp-formula1">Equation 1</xref>:<disp-formula id="disp-formula1"><label>(1)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="DM1"><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>z</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM31"><mml:mi>x</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM32"><mml:mi>y</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM33"><mml:mi>z</mml:mi></mml:math></inline-formula> represent each landmark&#x2019;s camera coordinates.</p>
<p><bold>Body segments</bold>, defined as anatomical regions between two landmarks, were analyzed for orientation angles in the xy-, yz-, and zx-planes. Angles were computed from <xref ref-type="disp-formula" rid="disp-formula2">Equation 2</xref>:<disp-formula id="disp-formula2"><label>(2)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="DM2"><mml:mi>&#x03B1;</mml:mi><mml:mo>=</mml:mo><mml:mi>arctan</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mfrac><mml:mi>y</mml:mi><mml:mi>x</mml:mi></mml:mfrac></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>&#x03B2;</mml:mi><mml:mo>=</mml:mo><mml:mi>arctan</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mfrac><mml:mi>z</mml:mi><mml:mi>y</mml:mi></mml:mfrac></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>&#x03B3;</mml:mi><mml:mo>=</mml:mo><mml:mi>arctan</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mfrac><mml:mi>x</mml:mi><mml:mi>z</mml:mi></mml:mfrac></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM34"><mml:mi>x</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM35"><mml:mi>y</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM36"><mml:mi>z</mml:mi></mml:math></inline-formula> denote landmark&#x2019;s camera coordinates. The <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM37"><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:math></inline-formula>-plane is perpendicular to the camera&#x2019;s optical axis, the <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM38"><mml:mi>y</mml:mi><mml:mi>z</mml:mi></mml:math></inline-formula>-plane is parallel to the camera&#x2019;s optical axis, and the <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM39"><mml:mi>z</mml:mi><mml:mi>x</mml:mi></mml:math></inline-formula>-plane is parallel to the floor.</p>
<p>Angular velocities in each plane (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM40"><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM41"><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM42"><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mrow><mml:mi>z</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>) were derived using <xref ref-type="disp-formula" rid="disp-formula3">Equation 3</xref>:<disp-formula id="disp-formula3"><label>(3)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="DM3"><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mrow><mml:mi>z</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula><bold>Joint angles</bold> were defined as angles between two adjacent body segments, determined by three landmarks (e.g., points A, B, and C, with B at the joint). Joint angle <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM43"><mml:mi>&#x03B8;</mml:mi></mml:math></inline-formula> was calculated from vectors <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM44"><mml:mrow><mml:mover><mml:mrow><mml:mi>B</mml:mi><mml:mi>A</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM45"><mml:mrow><mml:mover><mml:mrow><mml:mi>B</mml:mi><mml:mi>C</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> using <xref ref-type="disp-formula" rid="disp-formula4">Equation 4</xref>:<disp-formula id="disp-formula4"><label>(4)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="DM4"><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mrow><mml:mover><mml:mrow><mml:mi>B</mml:mi><mml:mi>A</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mi>B</mml:mi><mml:mi>C</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mrow><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mi>B</mml:mi><mml:mi>A</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mi>B</mml:mi><mml:mi>C</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo></mml:mrow></mml:mfrac></mml:mrow><mml:mo>,</mml:mo></mml:math></disp-formula>with corresponding angular velocity computed from <xref ref-type="disp-formula" rid="disp-formula5">Equation 5</xref>:<disp-formula id="disp-formula5"><label>(5)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="DM5"><mml:mi>&#x03C9;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula></p>
</sec>
<sec id="s2c7"><label>2.3.7</label><title>Forward swing phase extraction</title>
<p>A forehand stroke consists of three distinct phases: backswing, forward swing, and follow-through. This study focuses exclusively on the forward swing phase, defined as the interval during which players maximally accelerate the racket toward the ball to achieve precise contact. Forward swing duration was extracted from a duplicate playing-side wrist (Landmark 16) resultant velocity time series. The series was processed using the previously applied 31st-order FIR filter again, and its second derivative was calculated to identify inflection points. The inflection point immediately before ball impact marked phase start time, while the inflection point directly after impact defined its end time. All landmark position and velocity time-series data were then truncated based on calculated boundaries. Taking the playing-side wrist (Landmark 16) as an example, <xref ref-type="fig" rid="F5">Figure&#x00A0;5</xref> displays its position and velocity time series, with the shaded portion representing the truncated forward swing phase. The duration of the forward stroke phase across all players is <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM46"><mml:mn>30.34</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>2.03</mml:mn></mml:math></inline-formula> frames or <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM47"><mml:mn>303.4</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>20.3</mml:mn></mml:math></inline-formula> milliseconds.</p>
<fig id="F5" position="float"><label>Figure 5</label>
<caption><p>Forward swing phase in position and velocity time series. R <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM48"><mml:mo>=</mml:mo></mml:math></inline-formula> resultant values; x, y, z <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM49"><mml:mo>=</mml:mo></mml:math></inline-formula> components (x: rightward, y: upward, z: toward camera). All series are time-aligned to ball impact (vertical dashed line). Shaded area indicates the mathematically extracted forward swing phase.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="fspor-07-1635581-g005.tif"><alt-text content-type="machine-generated">Graphs depicting position and velocity series over time. The left graph shows position in meters for x, y, z axes, and R with curves in blue, green, purple, and red. The right graph displays velocity in meters per second for the same axes. Both graphs feature a time range from -60 to 60 frames with a highlighted section from -20 to 20 frames.</alt-text>
</graphic>
</fig>
<p>We compared the mathematically derived start and end points of the forward swing phase with manually annotated timepoints obtained through frame-by-frame expert analysis (n <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM50"><mml:mo>=</mml:mo></mml:math></inline-formula> 320). The validation results demonstrate excellent agreement between the two methods. Bland&#x2013;Altman analysis showed that <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM51"><mml:mrow><mml:mo>&#x003E;</mml:mo></mml:mrow><mml:mn>95</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula> of measurements fell within the limits of agreement for both start and end time detection. Both timepoint detections exhibited excellent reliability (ICC: 0.968 and 0.987) and strong correlations with manual annotation (r: 0.974 and 0.988, both <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM52"><mml:mi>p</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.001</mml:mn></mml:math></inline-formula>). The mathematical method showed minimal systematic bias with mean differences of <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM53"><mml:mo>&#x2212;</mml:mo><mml:mn>1.016</mml:mn></mml:math></inline-formula> ms for start time and <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM54"><mml:mo>&#x2212;</mml:mo><mml:mn>0.278</mml:mn></mml:math></inline-formula> ms for end time. Mean relative errors were low at 3.69&#x0025; and 1.46&#x0025; respectively (<xref ref-type="table" rid="T2">Table&#x00A0;2</xref>).</p>
<table-wrap id="T2" position="float"><label>Table 2</label>
<caption><p>Comparison of mathematical method and manual measurement for forward swing phase timing detection.</p></caption>
<table frame="hsides" rules="groups">
<colgroup>
<col align="left"/>
<col align="center"/>
<col align="center"/>
</colgroup>
<thead>
<tr>
<th valign="top" align="left">Statistical measure</th>
<th valign="top" align="center">Start time</th>
<th valign="top" align="center">End time</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Sample size (n)</td>
<td valign="top" align="center">320</td>
<td valign="top" align="center">320</td>
</tr>
<tr>
<td valign="top" align="left">Mean difference (95&#x0025; CI)</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM55"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>1.016 (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM56"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>1.246, <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM57"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.785)</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM58"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.278 (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM59"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.440, <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM60"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.116)</td>
</tr>
<tr>
<td valign="top" align="left">Limits of agreement (LoA)</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM61"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>5.140 to 3.109</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM62"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>3.182 to 2.625</td>
</tr>
<tr>
<td valign="top" align="left">Within LoA (&#x0025;)</td>
<td valign="top" align="center">96.2</td>
<td valign="top" align="center">95.3</td>
</tr>
<tr>
<td valign="top" align="left">ICC (95&#x0025; CI)</td>
<td valign="top" align="center">0.968 (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM63"><mml:mi>E</mml:mi><mml:mi>x</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>t</mml:mi></mml:math></inline-formula>)</td>
<td valign="top" align="center">0.987 (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM64"><mml:mi>E</mml:mi><mml:mi>x</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>t</mml:mi></mml:math></inline-formula>)</td>
</tr>
<tr>
<td valign="top" align="left">Pearson correlation (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM65"><mml:mi>r</mml:mi></mml:math></inline-formula>)</td>
<td valign="top" align="center">0.974 (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM66"><mml:mi>p</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.001</mml:mn></mml:math></inline-formula>)</td>
<td valign="top" align="center">0.988 (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM67"><mml:mi>p</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.001</mml:mn></mml:math></inline-formula>)</td>
</tr>
<tr>
<td valign="top" align="left">Spearman correlation (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM68"><mml:mi>&#x03C1;</mml:mi></mml:math></inline-formula>)</td>
<td valign="top" align="center">0.958 (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM69"><mml:mi>p</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.001</mml:mn></mml:math></inline-formula>)</td>
<td valign="top" align="center">0.981 (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM70"><mml:mi>p</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.001</mml:mn></mml:math></inline-formula>)</td>
</tr>
<tr>
<td valign="top" align="left">MAE (frames, 1/100 s)</td>
<td valign="top" align="center">1.716</td>
<td valign="top" align="center">1.109</td>
</tr>
<tr>
<td valign="top" align="left">RMSE (frames, 1/100 s)</td>
<td valign="top" align="center">2.337</td>
<td valign="top" align="center">1.507</td>
</tr>
<tr>
<td valign="top" align="left">Mean relative error (&#x0025;)</td>
<td valign="top" align="center">3.69</td>
<td valign="top" align="center">1.46</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-fn1"><p>Note: Comparison between automated mathematical algorithm and manual expert measurement for forward swing phase timing detection. CI, confidence interval; LoA, limits of agreement (Bland&#x2013;Altman analysis); ICC, intraclass correlation coefficient; MAE, mean absolute error; RMSE, root mean square error. Negative mean differences indicate earlier detection by the mathematical method. ICC interpretation: excellent (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM71"><mml:mrow><mml:mo>&#x003E;</mml:mo></mml:mrow><mml:mn>0.90</mml:mn></mml:math></inline-formula>), good (0.75&#x2013;0.90), moderate (0.50&#x2013;0.75), poor (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM72"><mml:mrow><mml:mo>&#x003C;</mml:mo></mml:mrow><mml:mn>0.50</mml:mn></mml:math></inline-formula>). All correlations are statistically significant (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM73"><mml:mi>p</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.001</mml:mn></mml:math></inline-formula>).</p></fn>
</table-wrap-foot>
</table-wrap>
</sec>
</sec>
<sec id="s2d"><label>2.4</label><title>Data validation</title>
<sec id="s2d1"><label>2.4.1</label><title>Repeated measurement reliability</title>
<p>To compare the consistency and similarity of repeated position time series measurements, all position time series were truncated to a uniform duration of 0.8 s, which was slightly shorter than the minimum stroke length observed across all participants. Two strokes were randomly selected per player. Three metrics were employed for consistency and similarity validation: the intraclass correlation coefficient (ICC), normalized Dynamic Time Warping (DTW) similarity, and cosine similarity (CS). For each participant, these three similarity measures were computed for their stroke pairs, and overall similarity values were calculated as the mean across all participants.</p>
<p>The ICC measures reliability and consistency between repeated measurements, calculated as: <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM74"><mml:mi>I</mml:mi><mml:mi>C</mml:mi><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>M</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi>M</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mi>W</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mi>M</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mi>W</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mrow></mml:math></inline-formula> where <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM75"><mml:mi>M</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:math></inline-formula> represents between-subjects mean square, <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM76"><mml:mi>M</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mi>W</mml:mi></mml:msub></mml:math></inline-formula> represents within-subjects mean square, and <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM77"><mml:mi>k</mml:mi></mml:math></inline-formula> represents the number of measurements per subject.</p>
<p>Normalized DTW similarity captures temporal alignment between sequences with potential time warping, computed as: <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM78"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>T</mml:mi><mml:mi>W</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mi>D</mml:mi><mml:mi>T</mml:mi><mml:mi>W</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo>,</mml:mo><mml:mi>Y</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>v</mml:mi><mml:mi>g</mml:mi></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mrow></mml:mfrac></mml:mrow></mml:math></inline-formula> where <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM79"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>v</mml:mi><mml:mi>g</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents average sequence length and <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM80"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> denotes data range.</p>
<p>Cosine similarity measures angular similarity between vectors, defined as: <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM81"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>X</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mi>X</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mi>Y</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo></mml:mrow></mml:mfrac></mml:mrow></mml:math></inline-formula>.</p>
<p><xref ref-type="table" rid="T3">Table&#x00A0;3</xref> demonstrate strong measurement consistency across different similarity metrics. Most landmarks achieved excellent reliability (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM82"><mml:mo>&#x2A7E;</mml:mo><mml:mn>0.90</mml:mn></mml:math></inline-formula>) in multiple dimensions, confirming the robustness of the motion capture model and the consistency of skilled athletic performance.</p>
<table-wrap id="T3" position="float"><label>Table 3</label>
<caption><p>Consistency and similarity measures for repeated landmark position measurements: intraclass correlation coefficients (ICC), normalized DTW similarity, and cosine similarity.</p></caption>
<table frame="hsides" rules="groups">
<colgroup>
<col align="left"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
</colgroup>
<thead>
<tr>
<th valign="top" align="left" rowspan="2">LM</th>
<th valign="top" align="center" colspan="4">ICC</th>
<th valign="top" align="center" colspan="4">Normalized DTW similarity</th>
<th valign="top" align="center" colspan="4">Cosine similarity</th>
</tr>
<tr>
<th valign="top" align="center">R</th>
<th valign="top" align="center">x</th>
<th valign="top" align="center">y</th>
<th valign="top" align="center">z</th>
<th valign="top" align="center">R</th>
<th valign="top" align="center">x</th>
<th valign="top" align="center">y</th>
<th valign="top" align="center">z</th>
<th valign="top" align="center">R</th>
<th valign="top" align="center">x</th>
<th valign="top" align="center">y</th>
<th valign="top" align="center">z</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">0</td>
<td valign="top" align="center">0.982<sup>a</sup></td>
<td valign="top" align="center">0.909<sup>a</sup></td>
<td valign="top" align="center">0.978<sup>a</sup></td>
<td valign="top" align="center">0.860</td>
<td valign="top" align="center">0.900</td>
<td valign="top" align="center">0.985<sup>a</sup></td>
<td valign="top" align="center">0.953<sup>a</sup></td>
<td valign="top" align="center">0.987<sup>a</sup></td>
<td valign="top" align="center">1.000<sup>a</sup></td>
<td valign="top" align="center">0.815</td>
<td valign="top" align="center">1.000<sup>a</sup></td>
<td valign="top" align="center">0.985<sup>a</sup></td>
</tr>
<tr>
<td valign="top" align="left">11</td>
<td valign="top" align="center">0.983<sup>a</sup></td>
<td valign="top" align="center">0.907<sup>a</sup></td>
<td valign="top" align="center">0.982<sup>a</sup></td>
<td valign="top" align="center">0.849</td>
<td valign="top" align="center">0.941<sup>a</sup></td>
<td valign="top" align="center">0.967<sup>a</sup></td>
<td valign="top" align="center">0.958<sup>a</sup></td>
<td valign="top" align="center">0.991<sup>a</sup></td>
<td valign="top" align="center">1.000<sup>a</sup></td>
<td valign="top" align="center">0.895</td>
<td valign="top" align="center">1.000<sup>a</sup></td>
<td valign="top" align="center">0.936<sup>a</sup></td>
</tr>
<tr>
<td valign="top" align="left">12</td>
<td valign="top" align="center">0.982<sup>a</sup></td>
<td valign="top" align="center">0.843</td>
<td valign="top" align="center">0.978<sup>a</sup></td>
<td valign="top" align="center">0.843</td>
<td valign="top" align="center">0.961<sup>a</sup></td>
<td valign="top" align="center">0.988<sup>a</sup></td>
<td valign="top" align="center">0.967<sup>a</sup></td>
<td valign="top" align="center">0.976<sup>a</sup></td>
<td valign="top" align="center">1.000<sup>a</sup></td>
<td valign="top" align="center">0.874</td>
<td valign="top" align="center">1.000<sup>a</sup></td>
<td valign="top" align="center">0.963<sup>a</sup></td>
</tr>
<tr>
<td valign="top" align="left">13</td>
<td valign="top" align="center">0.895</td>
<td valign="top" align="center">0.886</td>
<td valign="top" align="center">0.939<sup>a</sup></td>
<td valign="top" align="center">0.831</td>
<td valign="top" align="center">0.981<sup>a</sup></td>
<td valign="top" align="center">0.976<sup>a</sup></td>
<td valign="top" align="center">0.984<sup>a</sup></td>
<td valign="top" align="center">0.992<sup>a</sup></td>
<td valign="top" align="center">0.998<sup>a</sup></td>
<td valign="top" align="center">0.897</td>
<td valign="top" align="center">0.998<sup>a</sup></td>
<td valign="top" align="center">0.907<sup>a</sup></td>
</tr>
<tr>
<td valign="top" align="left">14</td>
<td valign="top" align="center">0.952<sup>a</sup></td>
<td valign="top" align="center">0.836</td>
<td valign="top" align="center">0.945<sup>a</sup></td>
<td valign="top" align="center">0.866</td>
<td valign="top" align="center">0.989<sup>a</sup></td>
<td valign="top" align="center">0.993<sup>a</sup></td>
<td valign="top" align="center">0.989<sup>a</sup></td>
<td valign="top" align="center">0.982<sup>a</sup></td>
<td valign="top" align="center">0.999<sup>a</sup></td>
<td valign="top" align="center">0.944<sup>a</sup></td>
<td valign="top" align="center">0.998<sup>a</sup></td>
<td valign="top" align="center">0.957<sup>a</sup></td>
</tr>
<tr>
<td valign="top" align="left">15</td>
<td valign="top" align="center">0.901<sup>a</sup></td>
<td valign="top" align="center">0.901<sup>a</sup></td>
<td valign="top" align="center">0.918<sup>a</sup></td>
<td valign="top" align="center">0.854</td>
<td valign="top" align="center">0.983<sup>a</sup></td>
<td valign="top" align="center">0.982<sup>a</sup></td>
<td valign="top" align="center">0.985<sup>a</sup></td>
<td valign="top" align="center">0.991<sup>a</sup></td>
<td valign="top" align="center">0.991<sup>a</sup></td>
<td valign="top" align="center">0.841</td>
<td valign="top" align="center">0.992<sup>a</sup></td>
<td valign="top" align="center">0.863</td>
</tr>
<tr>
<td valign="top" align="left">16</td>
<td valign="top" align="center">0.930<sup>a</sup></td>
<td valign="top" align="center">0.798</td>
<td valign="top" align="center">0.911<sup>a</sup></td>
<td valign="top" align="center">0.857</td>
<td valign="top" align="center">0.993<sup>a</sup></td>
<td valign="top" align="center">0.995<sup>a</sup></td>
<td valign="top" align="center">0.993<sup>a</sup></td>
<td valign="top" align="center">0.975<sup>a</sup></td>
<td valign="top" align="center">0.997<sup>a</sup></td>
<td valign="top" align="center">0.963<sup>a</sup></td>
<td valign="top" align="center">0.996<sup>a</sup></td>
<td valign="top" align="center">0.935<sup>a</sup></td>
</tr>
<tr>
<td valign="top" align="left">23</td>
<td valign="top" align="center">0.982<sup>a</sup></td>
<td valign="top" align="center">0.803</td>
<td valign="top" align="center">0.986<sup>a</sup></td>
<td valign="top" align="center">0.910<sup>a</sup></td>
<td valign="top" align="center">0.782</td>
<td valign="top" align="center">0.976<sup>a</sup></td>
<td valign="top" align="center">0.775</td>
<td valign="top" align="center">0.973<sup>a</sup></td>
<td valign="top" align="center">1.000<sup>a</sup></td>
<td valign="top" align="center">0.932<sup>a</sup></td>
<td valign="top" align="center">1.000<sup>a</sup></td>
<td valign="top" align="center">0.847</td>
</tr>
<tr>
<td valign="top" align="left">24</td>
<td valign="top" align="center">0.987<sup>a</sup></td>
<td valign="top" align="center">0.712</td>
<td valign="top" align="center">0.984<sup>a</sup></td>
<td valign="top" align="center">0.926<sup>a</sup></td>
<td valign="top" align="center">0.821</td>
<td valign="top" align="center">0.977<sup>a</sup></td>
<td valign="top" align="center">0.772</td>
<td valign="top" align="center">0.976<sup>a</sup></td>
<td valign="top" align="center">1.000<sup>a</sup></td>
<td valign="top" align="center">0.976<sup>a</sup></td>
<td valign="top" align="center">1.000<sup>a</sup></td>
<td valign="top" align="center">0.990<sup>a</sup></td>
</tr>
<tr>
<td valign="top" align="left">25</td>
<td valign="top" align="center">0.915<sup>a</sup></td>
<td valign="top" align="center">0.905<sup>a</sup></td>
<td valign="top" align="center">0.893</td>
<td valign="top" align="center">0.817</td>
<td valign="top" align="center">0.976<sup>a</sup></td>
<td valign="top" align="center">0.956<sup>a</sup></td>
<td valign="top" align="center">0.983<sup>a</sup></td>
<td valign="top" align="center">0.983<sup>a</sup></td>
<td valign="top" align="center">0.996<sup>a</sup></td>
<td valign="top" align="center">0.991<sup>a</sup></td>
<td valign="top" align="center">0.996<sup>a</sup></td>
<td valign="top" align="center">0.764</td>
</tr>
<tr>
<td valign="top" align="left">26</td>
<td valign="top" align="center">0.885</td>
<td valign="top" align="center">0.862</td>
<td valign="top" align="center">0.916<sup>a</sup></td>
<td valign="top" align="center">0.847</td>
<td valign="top" align="center">0.980<sup>a</sup></td>
<td valign="top" align="center">0.983<sup>a</sup></td>
<td valign="top" align="center">0.975<sup>a</sup></td>
<td valign="top" align="center">0.971<sup>a</sup></td>
<td valign="top" align="center">0.998<sup>a</sup></td>
<td valign="top" align="center">0.904<sup>a</sup></td>
<td valign="top" align="center">0.999<sup>a</sup></td>
<td valign="top" align="center">0.991<sup>a</sup></td>
</tr>
<tr>
<td valign="top" align="left">27</td>
<td valign="top" align="center">0.796</td>
<td valign="top" align="center">0.863</td>
<td valign="top" align="center">0.738</td>
<td valign="top" align="center">0.763</td>
<td valign="top" align="center">0.966<sup>a</sup></td>
<td valign="top" align="center">0.954<sup>a</sup></td>
<td valign="top" align="center">0.980<sup>a</sup></td>
<td valign="top" align="center">0.970<sup>a</sup></td>
<td valign="top" align="center">0.992<sup>a</sup></td>
<td valign="top" align="center">0.991<sup>a</sup></td>
<td valign="top" align="center">0.889</td>
<td valign="top" align="center">0.978<sup>a</sup></td>
</tr>
<tr>
<td valign="top" align="left">28</td>
<td valign="top" align="center">0.835</td>
<td valign="top" align="center">0.858</td>
<td valign="top" align="center">0.731</td>
<td valign="top" align="center">0.824</td>
<td valign="top" align="center">0.968<sup>a</sup></td>
<td valign="top" align="center">0.954<sup>a</sup></td>
<td valign="top" align="center">0.978<sup>a</sup></td>
<td valign="top" align="center">0.969<sup>a</sup></td>
<td valign="top" align="center">0.994<sup>a</sup></td>
<td valign="top" align="center">0.993<sup>a</sup></td>
<td valign="top" align="center">0.851</td>
<td valign="top" align="center">0.966<sup>a</sup></td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-fn2"><p>Note: LM, landmark number; x, y, z, displacement components in camera coordinate system; <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM195"><mml:mi>R</mml:mi><mml:mo>=</mml:mo><mml:msqrt><mml:msup><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mi>z</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:msqrt></mml:math></inline-formula>; ICC, intraclass correlation coefficient; DTW, dynamic time warping. <sup>a</sup><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM196"><mml:mi>e</mml:mi><mml:mi>x</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>t</mml:mi><mml:mo>&#x2A7E;</mml:mo><mml:mn>0.90</mml:mn></mml:math></inline-formula>.</p></fn>
</table-wrap-foot>
</table-wrap>
<p><xref ref-type="fig" rid="F6">Figure&#x00A0;6</xref> demonstrates a single player&#x2019;s position trajectories across multiple trials, revealing high consistency, particularly in the dominant-side wrist&#x2019;s x and y coordinates, while the z-coordinate shows greater variability. This consistent performance across trials reflects both the movement reliability of professionally trained players and MediaPipe&#x2019;s consistency and similarity in repeated assessments.</p>
<fig id="F6" position="float"><label>Figure 6</label>
<caption><p>Wrist position time series for a single participant across multiple trials. x, y, z <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM197"><mml:mo>=</mml:mo></mml:math></inline-formula> position components (x: rightward, y: upward, z: toward the camera), and <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM198"><mml:mi>R</mml:mi><mml:mo>=</mml:mo><mml:msqrt><mml:msup><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mi>z</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:msqrt></mml:math></inline-formula>. Lines of different colors represent the eight trials. All time series are aligned to ball impact (vertical dashed line).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="fspor-07-1635581-g006.tif"><alt-text content-type="machine-generated">Graphs show the movement of right and left wrists in three dimensions over time. Each subplot has colored lines representing different trials. The x-axis indicates time in frames per one hundredth of a second, and the y-axis shows position in meters. Vertical dashed lines mark ball-racket impact time point.</alt-text>
</graphic>
</fig>
</sec>
<sec id="s2d2"><label>2.4.2</label><title>Left-handed data validation</title>
<p>Left-handed video frames were horizontally flipped before MediaPipe processing to generate coordinate data comparable to right-handed players. Landmark position curve analysis employed multiple statistical approaches to assess group differences. Curves were preprocessed through cubic spline interpolation to achieve uniform temporal resolution. Eighteen kinematic features were extracted, including basic statistics (mean, standard deviation, maximum, minimum, range, median), distribution characteristics (skewness, kurtosis), peak properties (peak count, peak maximum, peak mean), temporal dynamics (mean velocity, maximum acceleration, zero crossings), spectral properties (dominant frequency, spectral centroid), and curve morphology (curve length, area under curve). Statistical comparisons utilized appropriate parametric or non-parametric tests based on normality and variance assessments. Bonferroni correction addressed multiple comparison issues. Multivariate analysis included dimensionality reduction and clustering for pattern recognition. Curve similarity was quantified using distance matrices comparing intra-group vs. inter-group variations.</p>
<p>Results demonstrated no significant differences in resultant position curves for all 33 landmarks between left-handed and right-handed players (corrected <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM199"><mml:mi>p</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>0.05</mml:mn></mml:math></inline-formula>), suggesting both groups originated from the same population. This finding validates the comparability of left-handed and right-handed player data. <xref ref-type="fig" rid="F7">Figure&#x00A0;7</xref> illustrates the consistent resultant position curves between groups for playing-side wrist, elbow, shoulder, and contralateral wrist, elbow, shoulder landmarks.</p>
<fig id="F7" position="float"><label>Figure 7</label>
<caption><p>Average resultant position curves for left-handed (n <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM200"><mml:mo>=</mml:mo></mml:math></inline-formula> 8, coral pink) vs. right-handed (n <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM201"><mml:mo>=</mml:mo></mml:math></inline-formula> 26, turquoise) players, aligned to ball impact (dashed line).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="fspor-07-1635581-g007.tif"><alt-text content-type="machine-generated">Six line graphs show limb position changes over time for playing-side and contralateral wrists, elbows, and shoulders. The vertical axis represents position in meters, and the horizontal represents time in frames (1/100s). Red lines indicate left-handed individuals; blue lines indicate right-handed individuals.</alt-text>
</graphic>
</fig>
</sec>
</sec>
<sec id="s2e"><label>2.5</label><title>Statistical analysis</title>
<p>The fastest and slowest strokes from each player were paired and analyzed using two correlation approaches: within-subject and between-subject. We chose correlation analysis over machine learning approaches for several reasons: (1) it provides direct, interpretable relationships between biomechanical variables that coaches and researchers can immediately understand and apply; (2) correlation analysis is statistically appropriate and robust for small sample sizes; and (3) this exploratory approach helps identify which biomechanical factors are most relevant before developing more complex predictive models.</p>
<sec id="s2e1"><label>2.5.1</label><title>Within-subject corrilation</title>
<p>Within-subject correlation is a statistical method used to assess association between paired measures across multiple occasions for each individual (<xref ref-type="bibr" rid="B40">40</xref>). This technique examines whether an increase in one variable corresponds to change in another (<xref ref-type="bibr" rid="B41">41</xref>). For example, it determines whether faster wrist movement correlates with higher ball speeds.</p>
<p>Statistical summaries of positional and angular changes are provided in <xref ref-type="table" rid="T4">Table&#x00A0;4</xref>. These kinematic parameters were extracted across three levels: (1) Landmark parameters including positional range (PR), mean velocity (MV), peak velocity (PV), and impact velocity (IV), decomposed into resultant components (subscript R) and axial components (subscripts x, y, z); (2) Segment parameters including angular range (AR), mean angular velocity (MAV), peak angular velocity (PAV), and impact angular velocity (IAV), analyzed as resultant components (subscript R) and planar components (subscripts xy, yz, zx); (3) Joint parameters including joint angular range (JAR), joint mean angular velocity (JMAV), joint peak angular velocity (JPAV), and joint impact angular velocity (JIAV), treated as scalar quantities without directional decomposition. Within-subject correlations (<italic>r</italic><sub>ws</sub>) between kinematic parameters and ball speeds were calculated using repeated measures correlation analysis (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM202"><mml:mi>P</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>g</mml:mi><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mo>.</mml:mo><mml:mi>r</mml:mi><mml:mi>m</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mi>r</mml:mi></mml:math></inline-formula> function), following the rmcorr methodology of Bakdash and Marusich (<xref ref-type="bibr" rid="B42">42</xref>) (<xref ref-type="disp-formula" rid="disp-formula6">Equation 6</xref>).<disp-formula id="disp-formula6"><label>(6)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="DM6"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mtext>rm</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mfrac><mml:mrow><mml:mi>S</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mtext>Measure</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>S</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mtext>Measure</mml:mtext></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mtext>Error</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mrow></mml:msqrt></mml:math></disp-formula><disp-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="UDM1"><mml:mtext>Sign of&#xA0;</mml:mtext><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mtext>rm</mml:mtext></mml:mrow></mml:msub><mml:mtext>&#xA0;( positive or negative)&#xA0;</mml:mtext><mml:mo>=</mml:mo><mml:mtext>Sign of&#xA0;</mml:mtext><mml:mi>&#x03B2;</mml:mi></mml:math></disp-formula>where <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM203"><mml:mi>S</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mtext>Measure</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula> represents the sum of squares for the measure (dependent variable), <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM204"><mml:mi>S</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mtext>Error</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula> represents the sum of squares for error (residual variance), and <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM205"><mml:mi>&#x03B2;</mml:mi></mml:math></inline-formula> represents the common regression slope coefficient estimated across all participants, estimated through analysis of covariance (ANCOVA).</p>
<table-wrap id="T4" position="float"><label>Table 4</label>
<caption><p>Summary of kinematic variables during the forward swing phase.</p></caption>
<table frame="hsides" rules="groups">
<colgroup>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th valign="top" align="left">Summaries</th>
<th valign="top" align="center">Descriptions</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Positional/angular range</td>
<td valign="top" align="left">Total absolute positional or angular change during forward swing</td>
</tr>
<tr>
<td valign="top" align="left">Mean velocity</td>
<td valign="top" align="left">Absolute mean linear or angular velocity during forward swing</td>
</tr>
<tr>
<td valign="top" align="left">Peak velocity</td>
<td valign="top" align="left">Absolute peak linear or angular velocity during forward swing</td>
</tr>
<tr>
<td valign="top" align="left">Impact velocity</td>
<td valign="top" align="left">Absolute linear or angular velocity at racket-ball impact</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>For each player, the fastest stroke was compared with the slowest stroke to compute <italic>r</italic><sub>ws</sub>. This method aimed to identify key factors driving differences between fastest and slowest ball speeds.</p>
</sec>
<sec id="s2e2"><label>2.5.2</label><title>Between-subject corrilation</title>
<p>Between-subject correlation evaluates whether individuals with higher values in one variable tend to exhibit higher values in another across subjects (<xref ref-type="bibr" rid="B41">41</xref>). For example, it can assess whether age or height correlates with ball speed. The between-subject correlation coefficient (<italic>r</italic><sub>bs</sub>) is calculated using <xref ref-type="disp-formula" rid="disp-formula7">Equation 7</xref> proposed by Bland and Altman (<xref ref-type="bibr" rid="B41">41</xref>):<disp-formula id="disp-formula7"><label>(7)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="DM7"><mml:mi>r</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mo>&#x2211;</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mrow><mml:mover><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mover><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mrow><mml:mo>&#x2211;</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mrow><mml:mover><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:mo>&#x2211;</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mrow><mml:mover><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mrow><mml:mo>&#x2211;</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mrow><mml:msqrt><mml:mrow><mml:mo>(</mml:mo><mml:mo>&#x2211;</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:msup><mml:mrow><mml:mover><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mn>2</mml:mn></mml:msup><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mo>&#x2211;</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mrow><mml:mover><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup><mml:mrow><mml:mo>&#x2211;</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mo>&#x2211;</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:msup><mml:mrow><mml:mover><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mn>2</mml:mn></mml:msup><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mo>&#x2211;</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mrow><mml:mover><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup><mml:mrow><mml:mo>&#x2211;</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>)</mml:mo></mml:mrow></mml:msqrt></mml:mfrac></mml:mrow></mml:math></disp-formula>where <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM206"><mml:msub><mml:mi>m</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> is the number of measurements for subject <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM207"><mml:mi>i</mml:mi></mml:math></inline-formula> (stroke count for a given player), and <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM208"><mml:mrow><mml:mover><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM209"><mml:mrow><mml:mover><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> are the means of two variables across multiple measurements for subject <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM210"><mml:mi>i</mml:mi></mml:math></inline-formula>.</p>
</sec>
</sec>
</sec>
<sec id="s3" sec-type="results"><label>3</label><title>Results</title>
<sec id="s3a"><label>3.1</label><title>Within-subject correlation between biomechanical kinematic characteristics and ball speed</title>
<sec id="s3a1"><label>3.1.1</label><title>Relationship between positional range, linear velocity of landmarks, and ball speed</title>
<p>The positional range and velocities (mean, peak, and at impact) of the head, playing-side shoulder (<italic>r</italic><sub>ws</sub>&#x2009;&#x003D;&#x2009;0.51, 0.63, 0.61 for PR<sub>x</sub>, MV<sub>x</sub>, PV<sub>x</sub>), elbow (<italic>r</italic><sub>ws</sub>&#x2009;&#x003D;&#x2009;0.63, 0.70, 0.69 for PR<sub>R</sub>, MV<sub>R</sub>, PV<sub>R</sub>), wrist (<italic>r</italic><sub>ws</sub>&#x2009;&#x003D;&#x2009;0.60, 0.56, 0.50 for MV<sub>R</sub>, PV<sub>R</sub>, IV<sub>R</sub>), fingers, and both hips show significant positive correlations with ball speed, particularly along the x-axis. The resultant peak and impact velocities of the legs reveal distinct patterns: the playing-side knee shows a weak positive correlation, while the contralateral knee and ankle display weak to moderate negative correlations with ball speed (<xref ref-type="fig" rid="F8">Figure&#x00A0;8</xref> and <xref ref-type="table" rid="T5">Table&#x00A0;5</xref>).</p>
<fig id="F8" position="float"><label>Figure 8</label>
<caption><p>Heatmap visualization of within-subject correlation between landmark kinematics and ball speed in the camera coordinate system, where the x-axis points right, y-axis points up and z-axis points toward the camera (<xref ref-type="fig" rid="F3">Figure&#x00A0;3</xref>). The resultant value represents the square root of the sum of squared components from the x, y, and z axes. Colored circles indicate significant correlations, with red representing positive correlations and blue representing negative correlations. Numbers indicate anatomical landmarks.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="fspor-07-1635581-g008.tif"><alt-text content-type="machine-generated">Diagram displaying four rows and four columns of linked skeletal models, indicating positional range, mean velocity, peak velocity, and impact velocity across resultant, x-axis, y-axis, and z-axis metrics. Nodes on the models are color-coded from red to blue, representing a scale from 0.9 to -0.9.</alt-text>
</graphic>
</fig>
<table-wrap id="T5" position="float"><label>Table 5</label>
<caption><p>Within-subject correlation coefficients (<italic>r</italic><sub>ws</sub>) between landmark kinematic variables (positional range and velocities) and ball speed.</p></caption>
<table frame="hsides" rules="groups">
<colgroup>
<col align="left"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
</colgroup>
<thead>
<tr>
<th valign="top" align="left" rowspan="2">LM</th>
<th valign="top" align="center" colspan="4">Positional range (PR)</th>
<th valign="top" align="center" colspan="4">Mean velocity (MV)</th>
<th valign="top" align="center" colspan="4">Peak velocity (PV)</th>
<th valign="top" align="center" colspan="4">Impact velocity (IV)</th>
</tr>
<tr>
<th valign="top" align="center">R</th>
<th valign="top" align="center">x</th>
<th valign="top" align="center">y</th>
<th valign="top" align="center">z</th>
<th valign="top" align="center">R</th>
<th valign="top" align="center">x</th>
<th valign="top" align="center">y</th>
<th valign="top" align="center">z</th>
<th valign="top" align="center">R</th>
<th valign="top" align="center">x</th>
<th valign="top" align="center">y</th>
<th valign="top" align="center">z</th>
<th valign="top" align="center">R</th>
<th valign="top" align="center">x</th>
<th valign="top" align="center">y</th>
<th valign="top" align="center">z</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">0</td>
<td valign="top" align="center">0.47<sup>b</sup></td>
<td valign="top" align="center">0.52<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM222"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.06</td>
<td valign="top" align="center">0.30</td>
<td valign="top" align="center">0.53<sup>b</sup></td>
<td valign="top" align="center">0.62<sup>b</sup></td>
<td valign="top" align="center">0.02</td>
<td valign="top" align="center">0.48<sup>b</sup></td>
<td valign="top" align="center">0.38<sup>a</sup></td>
<td valign="top" align="center">0.56<sup>b</sup></td>
<td valign="top" align="center">0.20</td>
<td valign="top" align="center">0.22</td>
<td valign="top" align="center">0.42<sup>a</sup></td>
<td valign="top" align="center">0.46<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM230"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.04</td>
<td valign="top" align="center">0.22</td>
</tr>
<tr>
<td valign="top" align="left">11</td>
<td valign="top" align="center">0.21</td>
<td valign="top" align="center">0.08</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM231"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.07</td>
<td valign="top" align="center">0.21</td>
<td valign="top" align="center">0.35<sup>a</sup></td>
<td valign="top" align="center">0.15</td>
<td valign="top" align="center">0.09</td>
<td valign="top" align="center">0.40<sup>a</sup></td>
<td valign="top" align="center">0.27</td>
<td valign="top" align="center">0.14</td>
<td valign="top" align="center">0.44<sup>b</sup></td>
<td valign="top" align="center">0.24</td>
<td valign="top" align="center">0.24</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM235"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.05</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM236"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.04</td>
<td valign="top" align="center">0.22</td>
</tr>
<tr>
<td valign="top" align="left">12</td>
<td valign="top" align="center">0.50<sup>b</sup></td>
<td valign="top" align="center">0.51<sup>b</sup></td>
<td valign="top" align="center">0.17</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM239"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.03</td>
<td valign="top" align="center">0.45<sup>b</sup></td>
<td valign="top" align="center">0.63<sup>b</sup></td>
<td valign="top" align="center">0.28</td>
<td valign="top" align="center">0.01</td>
<td valign="top" align="center">0.51<sup>b</sup></td>
<td valign="top" align="center">0.61<sup>b</sup></td>
<td valign="top" align="center">0.30</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM244"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.27</td>
<td valign="top" align="center">0.39<sup>a</sup></td>
<td valign="top" align="center">0.46<sup>b</sup></td>
<td valign="top" align="center">0.22</td>
<td valign="top" align="center">0.11</td>
</tr>
<tr>
<td valign="top" align="left">13</td>
<td valign="top" align="center">0.12</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM247"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.30</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM248"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.04</td>
<td valign="top" align="center">0.18</td>
<td valign="top" align="center">0.25</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM249"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.23</td>
<td valign="top" align="center">0.14</td>
<td valign="top" align="center">0.38<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM251"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.05</td>
<td valign="top" align="center">0.26</td>
<td valign="top" align="center">0.01</td>
<td valign="top" align="center">0.03</td>
<td valign="top" align="center">0.11</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM252"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.43<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM254"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.17</td>
<td valign="top" align="center">0.22</td>
</tr>
<tr>
<td valign="top" align="left">14</td>
<td valign="top" align="center">0.63<sup>b</sup></td>
<td valign="top" align="center">0.59<sup>b</sup></td>
<td valign="top" align="center">0.23</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM257"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.15</td>
<td valign="top" align="center">0.70<sup>b</sup></td>
<td valign="top" align="center">0.68<sup>b</sup></td>
<td valign="top" align="center">0.35<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM261"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.10</td>
<td valign="top" align="center">0.69<sup>b</sup></td>
<td valign="top" align="center">0.65<sup>b</sup></td>
<td valign="top" align="center">0.23</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM264"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.10</td>
<td valign="top" align="center">0.50<sup>b</sup></td>
<td valign="top" align="center">0.44<sup>b</sup></td>
<td valign="top" align="center">0.27</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM267"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.10</td>
</tr>
<tr>
<td valign="top" align="left">15</td>
<td valign="top" align="center">0.12</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM268"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.41<sup>a</sup></td>
<td valign="top" align="center">0.11</td>
<td valign="top" align="center">0.12</td>
<td valign="top" align="center">0.30</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM270"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.30</td>
<td valign="top" align="center">0.21</td>
<td valign="top" align="center">0.25</td>
<td valign="top" align="center">0.05</td>
<td valign="top" align="center">0.33</td>
<td valign="top" align="center">0.12</td>
<td valign="top" align="center">0.02</td>
<td valign="top" align="center">0.16</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM271"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.36<sup>a</sup></td>
<td valign="top" align="center">0.02</td>
<td valign="top" align="center">0.16</td>
</tr>
<tr>
<td valign="top" align="left">16</td>
<td valign="top" align="center">0.46<sup>b</sup></td>
<td valign="top" align="center">0.52<sup>b</sup></td>
<td valign="top" align="center">0.06</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM275"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.21</td>
<td valign="top" align="center">0.60<sup>b</sup></td>
<td valign="top" align="center">0.64<sup>b</sup></td>
<td valign="top" align="center">0.22</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM278"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.16</td>
<td valign="top" align="center">0.56<sup>b</sup></td>
<td valign="top" align="center">0.55<sup>b</sup></td>
<td valign="top" align="center">0.17</td>
<td valign="top" align="center">0.12</td>
<td valign="top" align="center">0.50<sup>b</sup></td>
<td valign="top" align="center">0.46<sup>b</sup></td>
<td valign="top" align="center">0.20</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM283"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.10</td>
</tr>
<tr>
<td valign="top" align="left">17</td>
<td valign="top" align="center">0.15</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM284"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.40<sup>a</sup></td>
<td valign="top" align="center">0.15</td>
<td valign="top" align="center">0.13</td>
<td valign="top" align="center">0.32</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM286"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.29</td>
<td valign="top" align="center">0.24</td>
<td valign="top" align="center">0.25</td>
<td valign="top" align="center">0.07</td>
<td valign="top" align="center">0.36<sup>a</sup></td>
<td valign="top" align="center">0.14</td>
<td valign="top" align="center">0.02</td>
<td valign="top" align="center">0.18</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM288"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.36<sup>a</sup></td>
<td valign="top" align="center">0.07</td>
<td valign="top" align="center">0.16</td>
</tr>
<tr>
<td valign="top" align="left">18</td>
<td valign="top" align="center">0.43<sup>a</sup></td>
<td valign="top" align="center">0.49<sup>b</sup></td>
<td valign="top" align="center">0.04</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM292"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.21</td>
<td valign="top" align="center">0.56<sup>b</sup></td>
<td valign="top" align="center">0.61<sup>b</sup></td>
<td valign="top" align="center">0.19</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM295"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.15</td>
<td valign="top" align="center">0.53<sup>b</sup></td>
<td valign="top" align="center">0.52<sup>b</sup></td>
<td valign="top" align="center">0.15</td>
<td valign="top" align="center">0.13</td>
<td valign="top" align="center">0.49<sup>b</sup></td>
<td valign="top" align="center">0.45<sup>b</sup></td>
<td valign="top" align="center">0.17</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM300"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.09</td>
</tr>
<tr>
<td valign="top" align="left">19</td>
<td valign="top" align="center">0.16</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM301"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.40<sup>a</sup></td>
<td valign="top" align="center">0.17</td>
<td valign="top" align="center">0.13</td>
<td valign="top" align="center">0.34<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM304"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.28</td>
<td valign="top" align="center">0.25</td>
<td valign="top" align="center">0.25</td>
<td valign="top" align="center">0.10</td>
<td valign="top" align="center">0.36<sup>a</sup></td>
<td valign="top" align="center">0.16</td>
<td valign="top" align="center">0.04</td>
<td valign="top" align="center">0.19</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM306"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.35<sup>a</sup></td>
<td valign="top" align="center">0.10</td>
<td valign="top" align="center">0.16</td>
</tr>
<tr>
<td valign="top" align="left">20</td>
<td valign="top" align="center">0.41<sup>a</sup></td>
<td valign="top" align="center">0.48<sup>b</sup></td>
<td valign="top" align="center">0.02</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM310"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.19</td>
<td valign="top" align="center">0.57<sup>b</sup></td>
<td valign="top" align="center">0.62<sup>b</sup></td>
<td valign="top" align="center">0.17</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM313"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.15</td>
<td valign="top" align="center">0.53<sup>b</sup></td>
<td valign="top" align="center">0.52<sup>b</sup></td>
<td valign="top" align="center">0.13</td>
<td valign="top" align="center">0.13</td>
<td valign="top" align="center">0.50<sup>b</sup></td>
<td valign="top" align="center">0.46<sup>b</sup></td>
<td valign="top" align="center">0.18</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM318"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.04</td>
</tr>
<tr>
<td valign="top" align="left">21</td>
<td valign="top" align="center">0.13</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM319"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.41<sup>a</sup></td>
<td valign="top" align="center">0.13</td>
<td valign="top" align="center">0.13</td>
<td valign="top" align="center">0.32</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM321"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.30</td>
<td valign="top" align="center">0.22</td>
<td valign="top" align="center">0.25</td>
<td valign="top" align="center">0.07</td>
<td valign="top" align="center">0.33</td>
<td valign="top" align="center">0.13</td>
<td valign="top" align="center">0.03</td>
<td valign="top" align="center">0.17</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM322"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.36<sup>a</sup></td>
<td valign="top" align="center">0.05</td>
<td valign="top" align="center">0.16</td>
</tr>
<tr>
<td valign="top" align="left">22</td>
<td valign="top" align="center">0.45<sup>b</sup></td>
<td valign="top" align="center">0.51<sup>b</sup></td>
<td valign="top" align="center">0.05</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM326"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.21</td>
<td valign="top" align="center">0.59<sup>b</sup></td>
<td valign="top" align="center">0.63<sup>b</sup></td>
<td valign="top" align="center">0.21</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM329"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.16</td>
<td valign="top" align="center">0.55<sup>b</sup></td>
<td valign="top" align="center">0.54<sup>b</sup></td>
<td valign="top" align="center">0.16</td>
<td valign="top" align="center">0.11</td>
<td valign="top" align="center">0.50<sup>b</sup></td>
<td valign="top" align="center">0.46<sup>b</sup></td>
<td valign="top" align="center">0.20</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM334"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.07</td>
</tr>
<tr>
<td valign="top" align="left">23</td>
<td valign="top" align="center">0.49<sup>b</sup></td>
<td valign="top" align="center">0.51<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM337"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.19</td>
<td valign="top" align="center">0.36<sup>a</sup></td>
<td valign="top" align="center">0.49<sup>b</sup></td>
<td valign="top" align="center">0.59<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM341"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.14</td>
<td valign="top" align="center">0.49<sup>b</sup></td>
<td valign="top" align="center">0.38<sup>a</sup></td>
<td valign="top" align="center">0.50<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM345"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.13</td>
<td valign="top" align="center">0.14</td>
<td valign="top" align="center">0.38<sup>a</sup></td>
<td valign="top" align="center">0.37<sup>a</sup></td>
<td valign="top" align="center">0.03</td>
<td valign="top" align="center">0.32</td>
</tr>
<tr>
<td valign="top" align="left">24</td>
<td valign="top" align="center">0.49<sup>b</sup></td>
<td valign="top" align="center">0.51<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM350"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.32</td>
<td valign="top" align="center">0.37<sup>a</sup></td>
<td valign="top" align="center">0.48<sup>b</sup></td>
<td valign="top" align="center">0.60<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM354"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.22</td>
<td valign="top" align="center">0.48<sup>b</sup></td>
<td valign="top" align="center">0.40<sup>a</sup></td>
<td valign="top" align="center">0.50<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM358"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.06</td>
<td valign="top" align="center">0.16</td>
<td valign="top" align="center">0.38<sup>a</sup></td>
<td valign="top" align="center">0.38<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM361"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.10</td>
<td valign="top" align="center">0.32</td>
</tr>
<tr>
<td valign="top" align="left">25</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM362"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.04</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM363"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.14</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM364"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.08</td>
<td valign="top" align="center">0.27</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM365"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.36<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM367"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.04</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM368"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.02</td>
<td valign="top" align="center">0.34<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM370"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.36<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM372"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.24</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM373"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.22</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM374"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.23</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM375"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.33</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM376"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.35<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM378"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.11</td>
<td valign="top" align="center">0.05</td>
</tr>
<tr>
<td valign="top" align="left">26</td>
<td valign="top" align="center">0.28</td>
<td valign="top" align="center">0.31</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM379"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.10</td>
<td valign="top" align="center">0.04</td>
<td valign="top" align="center">0.29</td>
<td valign="top" align="center">0.38<sup>a</sup></td>
<td valign="top" align="center">0.08</td>
<td valign="top" align="center">0.16</td>
<td valign="top" align="center">0.27</td>
<td valign="top" align="center">0.27</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM381"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.04</td>
<td valign="top" align="center">0.17</td>
<td valign="top" align="center">0.24</td>
<td valign="top" align="center">0.33</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM382"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.14</td>
<td valign="top" align="center">0.00</td>
</tr>
<tr>
<td valign="top" align="left">27</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM383"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.28</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM384"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.16</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM385"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.37<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM387"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.16</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM388"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.40<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM390"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.09</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM391"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.32</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM392"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.17</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM393"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.45<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM395"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.26</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM396"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.37<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM398"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.30</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM399"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.42<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM401"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.23</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM402"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.47<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM404"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.17</td>
</tr>
<tr>
<td valign="top" align="left">28</td>
<td valign="top" align="center">0.26</td>
<td valign="top" align="center">0.44<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM406"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.11</td>
<td valign="top" align="center">0.14</td>
<td valign="top" align="center">0.26</td>
<td valign="top" align="center">0.49<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM408"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.11</td>
<td valign="top" align="center">0.20</td>
<td valign="top" align="center">0.27</td>
<td valign="top" align="center">0.41<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM410"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.03</td>
<td valign="top" align="center">0.28</td>
<td valign="top" align="center">0.17</td>
<td valign="top" align="center">0.31</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM411"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.13</td>
<td valign="top" align="center">0.05</td>
</tr>
<tr>
<td valign="top" align="left">29</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM412"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.28</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM413"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.20</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM414"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.37<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM416"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.15</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM417"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.41<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM419"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.14</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM420"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.31</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM421"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.17</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM422"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.45<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM424"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.27</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM425"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.37<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM427"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.30</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM428"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.41<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM430"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.21</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM431"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.43<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM433"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.14</td>
</tr>
<tr>
<td valign="top" align="left">30</td>
<td valign="top" align="center">0.27</td>
<td valign="top" align="center">0.38<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM435"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.08</td>
<td valign="top" align="center">0.13</td>
<td valign="top" align="center">0.27</td>
<td valign="top" align="center">0.42<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM437"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.07</td>
<td valign="top" align="center">0.20</td>
<td valign="top" align="center">0.26</td>
<td valign="top" align="center">0.42<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM439"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.04</td>
<td valign="top" align="center">0.28</td>
<td valign="top" align="center">0.18</td>
<td valign="top" align="center">0.28</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM440"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.10</td>
<td valign="top" align="center">0.05</td>
</tr>
<tr>
<td valign="top" align="left">31</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM441"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.17</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM442"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.23</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM443"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.33</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM444"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.09</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM445"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.24</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM446"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.20</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM447"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.30</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM448"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.08</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM449"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.21</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM450"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.33<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM452"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.15</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM453"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.11</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM454"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.25</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM455"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.26</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM456"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.43<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM458"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.11</td>
</tr>
<tr>
<td valign="top" align="left">32</td>
<td valign="top" align="center">0.30</td>
<td valign="top" align="center">0.49<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM460"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.21</td>
<td valign="top" align="center">0.11</td>
<td valign="top" align="center">0.31</td>
<td valign="top" align="center">0.52<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM462"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.18</td>
<td valign="top" align="center">0.16</td>
<td valign="top" align="center">0.21</td>
<td valign="top" align="center">0.41<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM464"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.11</td>
<td valign="top" align="center">0.19</td>
<td valign="top" align="center">0.21</td>
<td valign="top" align="center">0.50<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM466"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.13</td>
<td valign="top" align="center">0.09</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-fn3"><p>x, y, z are displacement components in the camera coordinate system: x-axis points right, y-axis points up, and z-axis points toward the camera (<xref ref-type="fig" rid="F3">Figure&#x00A0;3</xref>), <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM467"><mml:mi>R</mml:mi><mml:mo>=</mml:mo><mml:msqrt><mml:msup><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mi>z</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:msqrt></mml:math></inline-formula>. &#x201C;LM&#x201D; refers to Landmark (<xref ref-type="fig" rid="F4">Figure&#x00A0;4</xref>). <sup>a</sup><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM468"><mml:mi>p</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.05</mml:mn></mml:math></inline-formula>. <sup>b</sup><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM469"><mml:mi>p</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.01</mml:mn></mml:math></inline-formula>.</p></fn>
</table-wrap-foot>
</table-wrap>
</sec>
<sec id="s3a2"><label>3.1.2</label><title>Relationship between angular range, angular velocity of body segments, and ball speed</title>
<p>The resultant angular range and mean angular velocity of the shoulder line (11&#x2013;12) (<italic>r</italic><sub>ws</sub>&#x2009;&#x003D;&#x2009;0.57, 0.54 for MAV<sub>R</sub>, MAV<sub>zx</sub>) and hip line (23&#x2013;24) (<italic>r</italic><sub>ws</sub>&#x2009;&#x003D;&#x2009;0.51, 0.59 for AR<sub>R</sub>, MAV<sub>zx</sub>) show moderate correlation with ball speed. The playing-side upper arm (12&#x2013;14) demonstrates significant positive correlations in both angular range and angular velocities with ball speed (<italic>r</italic><sub>ws</sub>&#x2009;&#x003D;&#x2009;0.65, 0.71, 0.70 for AR<sub>xy</sub>, MAV<sub>xy</sub>, PAV<sub>xy</sub>), while the contralateral upper arm (11&#x2013;13) shows no significant relationship. In the lower limbs, the playing-side segments (24&#x2013;26, 26&#x2013;28) present weak to moderately positive correlations, whereas the contralateral segments (23&#x2013;25, 25&#x2013;27) display weak to moderate negative correlations (<xref ref-type="fig" rid="F9">Figure&#x00A0;9</xref>, <xref ref-type="table" rid="T6">Table&#x00A0;6</xref>).</p>
<fig id="F9" position="float"><label>Figure 9</label>
<caption><p>Heatmap visualization of within-subject correlation between segment kinematics and ball speed. The human skeleton model displays correlations for different kinematic components across three planar projections (xy, yz, and zx-plane) in the camera coordinate system, where the x-axis points right, y-axis points up, and z-axis points toward the camera (<xref ref-type="fig" rid="F3">Figure&#x00A0;3</xref>). The resultant value represents the combined magnitude of these components. Colored lines indicate significant correlations, with red representing positive correlations and blue representing negative correlations. Numbers indicate anatomical landmarks.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="fspor-07-1635581-g009.tif"><alt-text content-type="machine-generated">Comparison of angular metrics across different planes in a heatmap figure diagram. Four rows represent different angular measurements: angular range, mean angular velocity, peak angular velocity, and impact angular velocity. Columns depict comparisons across resultant, xy-plane, yz-plane, and zx-plane. Each stick figure is color-coded from dark red to dark blue, indicating correlation coefficient values from -0.9 to 0.9, as shown in the color bar on the right. Various numbers near joints illustrate body landmarks.</alt-text>
</graphic>
</fig>
<table-wrap id="T6" position="float"><label>Table 6</label>
<caption><p>Within-subject correlation coefficients (<italic>r</italic><sub>ws</sub>) between segment kinematic variables (angular range and velocities) and ball speed.</p></caption>
<table frame="hsides" rules="groups">
<colgroup>
<col align="left"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
</colgroup>
<thead>
<tr>
<th valign="top" align="left" rowspan="2">Segment</th>
<th valign="top" align="center" colspan="4">Angular range (AR)</th>
<th valign="top" align="center" colspan="4">Mean angular velocity (MAV)</th>
<th valign="top" align="center" colspan="4">Peak angular velocity (PAV)</th>
<th valign="top" align="center" colspan="4">Impact angular velocity (IAV)</th>
</tr>
<tr>
<th valign="top" align="center">R</th>
<th valign="top" align="center">xy</th>
<th valign="top" align="center">yz</th>
<th valign="top" align="center">zx</th>
<th valign="top" align="center">R</th>
<th valign="top" align="center">xy</th>
<th valign="top" align="center">yz</th>
<th valign="top" align="center">zx</th>
<th valign="top" align="center">R</th>
<th valign="top" align="center">xy</th>
<th valign="top" align="center">yz</th>
<th valign="top" align="center">zx</th>
<th valign="top" align="center">R</th>
<th valign="top" align="center">xy</th>
<th valign="top" align="center">yz</th>
<th valign="top" align="center">zx</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">2&#x2013;9</td>
<td valign="top" align="center">0.46<sup>b</sup></td>
<td valign="top" align="center">0.38<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM479"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.06</td>
<td valign="top" align="center">0.16</td>
<td valign="top" align="center">0.48<sup>b</sup></td>
<td valign="top" align="center">0.52<sup>b</sup></td>
<td valign="top" align="center">0.13</td>
<td valign="top" align="center">0.53<sup>b</sup></td>
<td valign="top" align="center">0.32</td>
<td valign="top" align="center">0.27</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM483"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.22</td>
<td valign="top" align="center">0.40<sup>a</sup></td>
<td valign="top" align="center">0.34<sup>a</sup></td>
<td valign="top" align="center">0.30</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM486"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.06</td>
<td valign="top" align="center">0.40<sup>a</sup></td>
</tr>
<tr>
<td valign="top" align="left">5&#x2013;10</td>
<td valign="top" align="center">0.52<sup>b</sup></td>
<td valign="top" align="center">0.46<sup>b</sup></td>
<td valign="top" align="center">0.08</td>
<td valign="top" align="center">0.25</td>
<td valign="top" align="center">0.60<sup>b</sup></td>
<td valign="top" align="center">0.54<sup>b</sup></td>
<td valign="top" align="center">0.35<sup>a</sup></td>
<td valign="top" align="center">0.56<sup>b</sup></td>
<td valign="top" align="center">0.41<sup>a</sup></td>
<td valign="top" align="center">0.42<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM496"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.12</td>
<td valign="top" align="center">0.43<sup>a</sup></td>
<td valign="top" align="center">0.32</td>
<td valign="top" align="center">0.32</td>
<td valign="top" align="center">0.05</td>
<td valign="top" align="center">0.32</td>
</tr>
<tr>
<td valign="top" align="left">7&#x2013;8</td>
<td valign="top" align="center">0.49<sup>b</sup></td>
<td valign="top" align="center">0.25</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM499"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.29</td>
<td valign="top" align="center">0.39<sup>a</sup></td>
<td valign="top" align="center">0.33</td>
<td valign="top" align="center">0.28</td>
<td valign="top" align="center">0.37<sup>a</sup></td>
<td valign="top" align="center">0.58<sup>b</sup></td>
<td valign="top" align="center">0.13</td>
<td valign="top" align="center">0.26</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM503"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.03</td>
<td valign="top" align="center">0.29</td>
<td valign="top" align="center">0.31</td>
<td valign="top" align="center">0.28</td>
<td valign="top" align="center">0.19</td>
<td valign="top" align="center">0.44<sup>b</sup></td>
</tr>
<tr>
<td valign="top" align="left">11&#x2013;12</td>
<td valign="top" align="center">0.41<sup>a</sup></td>
<td valign="top" align="center">0.46<sup>b</sup></td>
<td valign="top" align="center">0.36<sup>a</sup></td>
<td valign="top" align="center">0.33</td>
<td valign="top" align="center">0.57<sup>b</sup></td>
<td valign="top" align="center">0.36<sup>a</sup></td>
<td valign="top" align="center">0.48<sup>b</sup></td>
<td valign="top" align="center">0.54<sup>b</sup></td>
<td valign="top" align="center">0.45<sup>b</sup></td>
<td valign="top" align="center">0.32</td>
<td valign="top" align="center">0.44<sup>b</sup></td>
<td valign="top" align="center">0.15</td>
<td valign="top" align="center">0.37<sup>a</sup></td>
<td valign="top" align="center">0.38<sup>a</sup></td>
<td valign="top" align="center">0.32</td>
<td valign="top" align="center">0.27</td>
</tr>
<tr>
<td valign="top" align="left">23&#x2013;24</td>
<td valign="top" align="center">0.51<sup>b</sup></td>
<td valign="top" align="center">0.06</td>
<td valign="top" align="center">0.16</td>
<td valign="top" align="center">0.47<sup>b</sup></td>
<td valign="top" align="center">0.43<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM519"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.05</td>
<td valign="top" align="center">0.30</td>
<td valign="top" align="center">0.59<sup>b</sup></td>
<td valign="top" align="center">0.24</td>
<td valign="top" align="center">0.09</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM521"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.02</td>
<td valign="top" align="center">0.37<sup>a</sup></td>
<td valign="top" align="center">0.41<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM524"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.09</td>
<td valign="top" align="center">0.23</td>
<td valign="top" align="center">0.39<sup>a</sup></td>
</tr>
<tr>
<td valign="top" align="left">11&#x2013;13</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM526"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.15</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM527"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.20</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM528"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.12</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM529"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.16</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM530"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.20</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM531"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.24</td>
<td valign="top" align="center">0.00</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM532"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.19</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM533"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.24</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM534"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.08</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM535"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.07</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM536"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.24</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM537"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.19</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM538"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.37<sup>a</sup></td>
<td valign="top" align="center">0.01</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM540"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.25</td>
</tr>
<tr>
<td valign="top" align="left">12&#x2013;14</td>
<td valign="top" align="center">0.55<sup>b</sup></td>
<td valign="top" align="center">0.65<sup>b</sup></td>
<td valign="top" align="center">0.14</td>
<td valign="top" align="center">0.05</td>
<td valign="top" align="center">0.52<sup>b</sup></td>
<td valign="top" align="center">0.71<sup>b</sup></td>
<td valign="top" align="center">0.39<sup>a</sup></td>
<td valign="top" align="center">0.38<sup>a</sup></td>
<td valign="top" align="center">0.36<sup>a</sup></td>
<td valign="top" align="center">0.70<sup>b</sup></td>
<td valign="top" align="center">0.29</td>
<td valign="top" align="center">0.25</td>
<td valign="top" align="center">0.46<sup>b</sup></td>
<td valign="top" align="center">0.46<sup>b</sup></td>
<td valign="top" align="center">0.28</td>
<td valign="top" align="center">0.31</td>
</tr>
<tr>
<td valign="top" align="left">13&#x2013;15</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM551"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.03</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM552"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.14</td>
<td valign="top" align="center">0.15</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM553"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.16</td>
<td valign="top" align="center">0.27</td>
<td valign="top" align="center">0.05</td>
<td valign="top" align="center">0.36<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM555"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.01</td>
<td valign="top" align="center">0.04</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM556"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.04</td>
<td valign="top" align="center">0.17</td>
<td valign="top" align="center">0.07</td>
<td valign="top" align="center">0.09</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM557"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.13</td>
<td valign="top" align="center">0.33</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM558"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.17</td>
</tr>
<tr>
<td valign="top" align="left">14&#x2013;16</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM559"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.13</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM560"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.08</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM561"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.18</td>
<td valign="top" align="center">0.10</td>
<td valign="top" align="center">0.20</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM562"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.23</td>
<td valign="top" align="center">0.15</td>
<td valign="top" align="center">0.16</td>
<td valign="top" align="center">0.14</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM563"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.02</td>
<td valign="top" align="center">0.08</td>
<td valign="top" align="center">0.33</td>
<td valign="top" align="center">0.18</td>
<td valign="top" align="center">0.04</td>
<td valign="top" align="center">0.12</td>
<td valign="top" align="center">0.27</td>
</tr>
<tr>
<td valign="top" align="left">15&#x2013;19</td>
<td valign="top" align="center">0.34<sup>a</sup></td>
<td valign="top" align="center">0.01</td>
<td valign="top" align="center">0.42<sup>a</sup></td>
<td valign="top" align="center">0.38<sup>a</sup></td>
<td valign="top" align="center">0.44<sup>b</sup></td>
<td valign="top" align="center">0.30</td>
<td valign="top" align="center">0.45<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM569"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.02</td>
<td valign="top" align="center">0.43<sup>b</sup></td>
<td valign="top" align="center">0.40<sup>a</sup></td>
<td valign="top" align="center">0.50<sup>b</sup></td>
<td valign="top" align="center">0.07</td>
<td valign="top" align="center">0.35<sup>a</sup></td>
<td valign="top" align="center">0.42<sup>a</sup></td>
<td valign="top" align="center">0.40<sup>a</sup></td>
<td valign="top" align="center">0.02</td>
</tr>
<tr>
<td valign="top" align="left">16&#x2013;20</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM576"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.38<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM578"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.15</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM579"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.44<sup>b</sup></td>
<td valign="top" align="center">0.10</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM581"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.18</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM582"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.17</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM583"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.36<sup>a</sup></td>
<td valign="top" align="center">0.19</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM585"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.34<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM587"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.34<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM589"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.52<sup>b</sup></td>
<td valign="top" align="center">0.12</td>
<td valign="top" align="center">0.03</td>
<td valign="top" align="center">0.19</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM591"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.34<sup>a</sup></td>
<td valign="top" align="center">0.02</td>
</tr>
<tr>
<td valign="top" align="left">11&#x2013;23</td>
<td valign="top" align="center">0.16</td>
<td valign="top" align="center">0.05</td>
<td valign="top" align="center">0.15</td>
<td valign="top" align="center">0.38<sup>a</sup></td>
<td valign="top" align="center">0.16</td>
<td valign="top" align="center">0.37<sup>a</sup></td>
<td valign="top" align="center">0.31</td>
<td valign="top" align="center">0.13</td>
<td valign="top" align="center">0.03</td>
<td valign="top" align="center">0.22</td>
<td valign="top" align="center">0.15</td>
<td valign="top" align="center">0.03</td>
<td valign="top" align="center">0.18</td>
<td valign="top" align="center">0.10</td>
<td valign="top" align="center">0.14</td>
<td valign="top" align="center">0.18</td>
</tr>
<tr>
<td valign="top" align="left">12&#x2013;24</td>
<td valign="top" align="center">0.33</td>
<td valign="top" align="center">0.47<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM596"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.35<sup>a</sup></td>
<td valign="top" align="center">0.27</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM598"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.35<sup>a</sup></td>
<td valign="top" align="center">0.59<sup>b</sup></td>
<td valign="top" align="center">0.08</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM601"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.34<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM603"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.30</td>
<td valign="top" align="center">0.52<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM605"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.11</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM606"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.30</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM607"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.41<sup>a</sup></td>
<td valign="top" align="center">0.46<sup>b</sup></td>
<td valign="top" align="center">0.08</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM610"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.41<sup>a</sup></td>
</tr>
<tr>
<td valign="top" align="left">23&#x2013;25</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM612"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.24</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM613"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.33</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM614"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.12</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM615"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.45<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM617"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.42<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM619"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.22</td>
<td valign="top" align="center">0.03</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM620"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.07</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM621"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.46<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM623"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.27</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM624"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.31</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM625"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.37<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM627"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.35<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM629"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.54<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM631"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.25</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM632"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.27</td>
</tr>
<tr>
<td valign="top" align="left">24&#x2013;26</td>
<td valign="top" align="center">0.23</td>
<td valign="top" align="center">0.19</td>
<td valign="top" align="center">0.03</td>
<td valign="top" align="center">0.32</td>
<td valign="top" align="center">0.40<sup>a</sup></td>
<td valign="top" align="center">0.25</td>
<td valign="top" align="center">0.25</td>
<td valign="top" align="center">0.39<sup>a</sup></td>
<td valign="top" align="center">0.21</td>
<td valign="top" align="center">0.27</td>
<td valign="top" align="center">0.00</td>
<td valign="top" align="center">0.19</td>
<td valign="top" align="center">0.40<sup>a</sup></td>
<td valign="top" align="center">0.21</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM636"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.07</td>
<td valign="top" align="center">0.39<sup>a</sup></td>
</tr>
<tr>
<td valign="top" align="left">25&#x2013;27</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM638"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.29</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM639"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.36<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM641"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.26</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM642"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.13</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM643"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.32</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM644"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.21</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM645"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.14</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM646"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.18</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM647"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.38<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM649"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.36<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM651"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.33</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM652"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.28</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM653"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.40<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM655"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.29</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM656"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.25</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM657"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.21</td>
</tr>
<tr>
<td valign="top" align="left">26&#x2013;28</td>
<td valign="top" align="center">0.05</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM658"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.03</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM659"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.33</td>
<td valign="top" align="center">0.43<sup>a</sup></td>
<td valign="top" align="center">0.37<sup>a</sup></td>
<td valign="top" align="center">0.05</td>
<td valign="top" align="center">0.38<sup>a</sup></td>
<td valign="top" align="center">0.46<sup>b</sup></td>
<td valign="top" align="center">0.41<sup>a</sup></td>
<td valign="top" align="center">0.08</td>
<td valign="top" align="center">0.09</td>
<td valign="top" align="center">0.41<sup>a</sup></td>
<td valign="top" align="center">0.27</td>
<td valign="top" align="center">0.02</td>
<td valign="top" align="center">0.05</td>
<td valign="top" align="center">0.31</td>
</tr>
<tr>
<td valign="top" align="left">29&#x2013;31</td>
<td valign="top" align="center">0.13</td>
<td valign="top" align="center">0.17</td>
<td valign="top" align="center">0.15</td>
<td valign="top" align="center">0.16</td>
<td valign="top" align="center">0.41<sup>a</sup></td>
<td valign="top" align="center">0.30</td>
<td valign="top" align="center">0.26</td>
<td valign="top" align="center">0.28</td>
<td valign="top" align="center">0.38<sup>a</sup></td>
<td valign="top" align="center">0.22</td>
<td valign="top" align="center">0.38<sup>a</sup></td>
<td valign="top" align="center">0.20</td>
<td valign="top" align="center">0.11</td>
<td valign="top" align="center">0.07</td>
<td valign="top" align="center">0.04</td>
<td valign="top" align="center">0.12</td>
</tr>
<tr>
<td valign="top" align="left">30&#x2013;32</td>
<td valign="top" align="center">0.34<sup>a</sup></td>
<td valign="top" align="center">0.18</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM670"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.09</td>
<td valign="top" align="center">0.41<sup>a</sup></td>
<td valign="top" align="center">0.29</td>
<td valign="top" align="center">0.21</td>
<td valign="top" align="center">0.00</td>
<td valign="top" align="center">0.46<sup>b</sup></td>
<td valign="top" align="center">0.25</td>
<td valign="top" align="center">0.18</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM673"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.12</td>
<td valign="top" align="center">0.34<sup>a</sup></td>
<td valign="top" align="center">0.24</td>
<td valign="top" align="center">0.15</td>
<td valign="top" align="center">0.10</td>
<td valign="top" align="center">0.33</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-fn4"><p>Segment denotes the anatomical connection between two MediaPipe landmarks (<xref ref-type="fig" rid="F4">Figure&#x00A0;4</xref>). R represents the resultant angular value (position or velocity), with xy, yz, and zx as planar components relative to the camera coordinate system (<xref ref-type="fig" rid="F3">Figure&#x00A0;3</xref>): the xy-plane (perpendicular to the optical axis), yz-plane (parallel to the optical axis), and zx-plane (parallel to the floor). <sup>a</sup><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM675"><mml:mi>p</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.05</mml:mn></mml:math></inline-formula>. <sup>b</sup><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM676"><mml:mi>p</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.01</mml:mn></mml:math></inline-formula>.</p></fn>
</table-wrap-foot>
</table-wrap>
</sec>
<sec id="s3a3"><label>3.1.3</label><title>Relationship between angular range, angular velocity of joint, and ball speed</title>
<p>Negative correlations with ball speed are observed for the contralateral shoulder&#x2019;s horizontal flexion-extension (<italic>r</italic><sub>ws</sub>&#x2009;&#x003D;&#x2009;&#x2212;0.44, &#x2212;0.62 for joint JAR and JPAV), the playing-side elbow&#x2019;s flexion-extension (<italic>r</italic><sub>ws</sub>&#x2009;&#x003D;&#x2009;&#x2212;0.35 for joint JPAV), and both knees&#x2019; flexion-extension (<xref ref-type="fig" rid="F10">Figure&#x00A0;10</xref>, <xref ref-type="table" rid="T7">Table&#x00A0;7</xref>).</p>
<fig id="F10" position="float"><label>Figure 10</label>
<caption><p>Heatmap visualization of within-subject correlation between joint kinematics and ball speed. The &#x201C;J&#x201D; prefix in parameter abbreviations denotes joint-related measurements. Each joint is defined by three landmarks, with the middle landmark representing the joint position. Joints and their adjacent segments are color-coded, with red representing positive correlations and blue representing negative correlations. Numbers indicate anatomical landmarks.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="fspor-07-1635581-g010.tif"><alt-text content-type="machine-generated">Illustrations show human-shaped figures representing angular range, mean angular velocity, peak angular velocity, and impact angular velocity. Each figure is divided into sections with numbers and colored segments indicating different data values. A color scale on the right ranges from negative to positive values, depicted in shades from blue to red.</alt-text>
</graphic>
</fig>
<table-wrap id="T7" position="float"><label>Table 7</label>
<caption><p>Within-subject correlation coefficients (<italic>r</italic><sub>ws</sub>) between joint kinematic variables (angular range and velocities) and ball speed.</p></caption>
<table frame="hsides" rules="groups">
<colgroup>
<col align="left"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
</colgroup>
<thead>
<tr>
<th valign="top" align="left">Joint angle</th>
<th valign="top" align="center">Angular range(JAR)</th>
<th valign="top" align="center">Mean angular velocity (JMAV)</th>
<th valign="top" align="center">Peak angular velocity (JPAV)</th>
<th valign="top" align="center">Impact angular velocity (JIAV)</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">11-12-14</td>
<td valign="top" align="center">0.02</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM677"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.23</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM678"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.03</td>
<td valign="top" align="center">0.22</td>
</tr>
<tr>
<td valign="top" align="left">12-11-13</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM679"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.44<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM681"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.35<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM683"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.62<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM685"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.21</td>
</tr>
<tr>
<td valign="top" align="left">12-14-16</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM686"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.32</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM687"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.17</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM688"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.35<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM690"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.33</td>
</tr>
<tr>
<td valign="top" align="left">11-13-15</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM691"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.03</td>
<td valign="top" align="center">0.42<sup>a</sup></td>
<td valign="top" align="center">0.01</td>
<td valign="top" align="center">0.05</td>
</tr>
<tr>
<td valign="top" align="left">14-16-20</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM693"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.07</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM694"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.11</td>
<td valign="top" align="center">0.06</td>
<td valign="top" align="center">0.12</td>
</tr>
<tr>
<td valign="top" align="left">13-15-19</td>
<td valign="top" align="center">0.26</td>
<td valign="top" align="center">0.16</td>
<td valign="top" align="center">0.31</td>
<td valign="top" align="center">0.37<sup>a</sup></td>
</tr>
<tr>
<td valign="top" align="left">12-24-26</td>
<td valign="top" align="center">0.14</td>
<td valign="top" align="center">0.21</td>
<td valign="top" align="center">0.39<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM697"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.00</td>
</tr>
<tr>
<td valign="top" align="left">11-23-25</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM698"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.28</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM699"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.32</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM700"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.26</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM701"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.44<sup>b</sup></td>
</tr>
<tr>
<td valign="top" align="left">24-26-28</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM703"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.26</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM704"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.13</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM705"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.32</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM706"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.05</td>
</tr>
<tr>
<td valign="top" align="left">23-25-27</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM707"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.34<sup>a</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM709"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.07</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM710"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.47<sup>b</sup></td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM712"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.28</td>
</tr>
<tr>
<td valign="top" align="left">25-27-31</td>
<td valign="top" align="center">0.13</td>
<td valign="top" align="center">0.15</td>
<td valign="top" align="center">0.06</td>
<td valign="top" align="center">0.25</td>
</tr>
<tr>
<td valign="top" align="left">26-28-32</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM713"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.07</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM714"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.00</td>
<td valign="top" align="center">0.03</td>
<td valign="top" align="center"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM715"><mml:mo>&#x2212;</mml:mo></mml:math></inline-formula>0.18</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-fn5"><p>Joint angles are calculated using three consecutive landmarks (<xref ref-type="fig" rid="F4">Figure&#x00A0;4</xref>), with the middle keypoint defining the joint center. <sup>a</sup><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM716"><mml:mi>p</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.05</mml:mn></mml:math></inline-formula>. <sup>b</sup><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM717"><mml:mi>p</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.01</mml:mn></mml:math></inline-formula>.</p></fn>
</table-wrap-foot>
</table-wrap>
</sec>
</sec>
<sec id="s3b"><label>3.2</label><title>Between-subject correlation coefficients of age and height with ball speed</title>
<p>Ball speed correlates significantly with age (<italic>r</italic><sub>bs</sub>&#x2009;&#x003D;&#x2009;0.62), particularly in younger participants (9.1&#x2013;14.3 years, <italic>r</italic><sub>bs</sub>&#x2009;&#x003D;&#x2009;0.68). Height also shows positive correlations with ball speed. However, among female adolescents (14.3&#x2013;21.7 years), age shows weak correlation (<italic>r</italic><sub>bs</sub>&#x2009;&#x003D;&#x2009;0.17) while height shows slight negative correlation (<italic>r</italic><sub>bs</sub>&#x2009;&#x003D;&#x2009;&#x2212;0.29) with ball speed (<xref ref-type="table" rid="T8">Table&#x00A0;8</xref>, <xref ref-type="fig" rid="F11">Figure&#x00A0;11</xref>).</p>
<table-wrap id="T8" position="float"><label>Table 8</label>
<caption><p>Between-subject correlation matrix showing relationships among age, height, and ball speed across age groups.</p></caption>
<table frame="hsides" rules="groups">
<colgroup>
<col align="left"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
</colgroup>
<thead>
<tr>
<th valign="top" align="left" rowspan="2">Participant characteristics</th>
<th valign="top" align="center" colspan="3">Total (9.1&#x2013;21.7 yr)</th>
<th valign="top" align="center" colspan="3"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM718"><mml:mrow><mml:mo>&#x003C;</mml:mo></mml:mrow><mml:mn>14.3</mml:mn><mml:mspace width="thinmathspace" /><mml:mi>y</mml:mi><mml:mi>r</mml:mi></mml:math></inline-formula></th>
<th valign="top" align="center" colspan="3"><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM719"><mml:mrow><mml:mo>&#x003E;</mml:mo></mml:mrow><mml:mn>14.3</mml:mn><mml:mspace width="thinmathspace" /><mml:mi>y</mml:mi><mml:mi>r</mml:mi></mml:math></inline-formula></th>
</tr>
<tr>
<th valign="top" align="center">Age</th>
<th valign="top" align="center">Height</th>
<th valign="top" align="center">BS</th>
<th valign="top" align="center">Age</th>
<th valign="top" align="center">Height</th>
<th valign="top" align="center">BS</th>
<th valign="top" align="center">Age</th>
<th valign="top" align="center">Height</th>
<th valign="top" align="center">BS</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Age</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">0.61<sup>a</sup></td>
<td valign="top" align="center">0.62<sup>a</sup></td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">0.87<sup>a</sup></td>
<td valign="top" align="center">0.68<sup>a</sup></td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2212;0.14</td>
<td valign="top" align="center">0.17</td>
</tr>
<tr>
<td valign="top" align="left">Height</td>
<td valign="top" align="center">0.61<sup>a</sup></td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">0.55<sup>a</sup></td>
<td valign="top" align="center">0.87<sup>a</sup></td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">0.63<sup>a</sup></td>
<td valign="top" align="center">&#x2212;0.14</td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">&#x2212;0.29</td>
</tr>
<tr>
<td valign="top" align="left">BS</td>
<td valign="top" align="center">0.62<sup>a</sup></td>
<td valign="top" align="center">0.55<sup>a</sup></td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">0.68<sup>a</sup></td>
<td valign="top" align="center">0.63<sup>a</sup></td>
<td valign="top" align="center">&#x2013;</td>
<td valign="top" align="center">0.17</td>
<td valign="top" align="center">&#x2212;0.29</td>
<td valign="top" align="center">&#x2013;</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-fn6"><p>BS, ball speed.</p></fn>
<fn id="table-fn8a"><p><sup>a</sup><inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM720"><mml:mi>p</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.01</mml:mn></mml:math></inline-formula>.</p></fn>
</table-wrap-foot>
</table-wrap>
<fig id="F11" position="float"><label>Figure 11</label>
<caption><p>Ball speed distribution by age group. Black dots represent individual player means, colored lines show 95&#x0025; confidence intervals, and <italic>r</italic><sub>bs</sub> denotes the between-subject correlation coefficient.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="fspor-07-1635581-g011.tif"><alt-text content-type="machine-generated">Scatter plot showing ball speed in kilometers per hour versus age in years. Data points have error bars. A dashed vertical line at 14.3 years divides the x-axis. A table indicates the Spearman correlation coefficient (\\( r_bs \\)) for different age groups: Total (0.62), 9.1 to 14.3 years (0.68), and 14.3 to 21.7 years (0.17).</alt-text>
</graphic>
</fig>
</sec>
</sec>
<sec id="s4" sec-type="discussion"><label>4</label><title>Discussion</title>
<sec id="s4a"><label>4.1</label><title>MediaPipe-based motion capture reveals critical kinematic parameters</title>
<p>Our MediaPipe-based analysis revealed specific kinematic metrics that correlate with ball speed in table tennis forehand strokes. Ball speed increased with greater playing-side arm linear movement at the shoulder, elbow and wrist (<xref ref-type="fig" rid="F8">Figure&#x00A0;8</xref> and <xref ref-type="table" rid="T5">Table&#x00A0;5</xref>), as well as with enhanced rotational motion at the playing-side upper arm, shoulder line, and hip line (<xref ref-type="fig" rid="F9">Figure&#x00A0;9</xref> and <xref ref-type="table" rid="T6">Table&#x00A0;6</xref>). Conversely, ball speed decreased with excessive contralateral shoulder horizontal flexion/extension and playing-side elbow flexion-extension (<xref ref-type="fig" rid="F10">Figure&#x00A0;10</xref> and <xref ref-type="table" rid="T7">Table&#x00A0;7</xref>). These features, derived from 33 landmarks, 19 inter-keypoint segments, and 12 joint angles, comprehensively characterize forward stroke mechanics in table tennis. They reveal biomechanical principles for optimizing body segment activation to achieve peak ball speed.</p>
<p>Our findings align with prior studies (<xref ref-type="bibr" rid="B43">43</xref>, <xref ref-type="bibr" rid="B44">44</xref>), confirming that playing-side arm linear velocity and positional range directly enhance ball speed (<xref ref-type="fig" rid="F8">Figure&#x00A0;8</xref>). Racket speed, the direct determinant of ball speed, originates from the upper limb&#x2019;s kinetic chain through sequential joint velocity propagation from shoulder to wrist (<xref ref-type="bibr" rid="B4">4</xref>, <xref ref-type="bibr" rid="B45">45</xref>). The playing-side shoulder serves as the proximal driver, generating angular momentum that transmits distally to the elbow and wrist (<xref ref-type="bibr" rid="B45">45</xref>). These results support previous evidence linking playing-side shoulder motion to racket speed (<xref ref-type="bibr" rid="B4">4</xref>, <xref ref-type="bibr" rid="B46">46</xref>, <xref ref-type="bibr" rid="B47">47</xref>) (<xref ref-type="fig" rid="F10">Figure&#x00A0;10</xref>, <xref ref-type="table" rid="T7">Table&#x00A0;7</xref>).</p>
<p>The contralateral shoulder showed negative correlations between horizontal flexion-extension range and velocity and ball speed. This suggests that minimizing non-playing-side arm motion relative to the torso improves stroke efficiency. Stabilizing the contralateral shoulder through scapular muscles anchors the upper arm during forehand strokes, enhancing whole-body power transfer and movement consistency.</p>
<p>Researchers disagree about elbow angular velocity. Xiao et al. reported positive correlations between elbow angular velocity and ball speed (<xref ref-type="bibr" rid="B44">44</xref>), while Zheng et al. found no significant correlation between playing-side elbow angular velocity and ball speed (<xref ref-type="bibr" rid="B43">43</xref>). Chen et al. found that elite players had smaller elbow flexion angles but greater elbow flexion angular velocities at impact (<xref ref-type="bibr" rid="B48">48</xref>). We found weak negative correlations between playing-side elbow angular range, angular velocities and ball speed (<italic>r</italic><sub>ws</sub>&#x2009;&#x003D;&#x2009;&#x2212;0.35 to &#x2212;0.17) (<xref ref-type="table" rid="T7">Table&#x00A0;7</xref>, <xref ref-type="fig" rid="F10">Figure&#x00A0;10</xref>). This difference may result from different motion phase divisions compared to other studies. Further experiments are needed to validate these findings.</p>
<p>Hip motion critically influences trunk rotation, which forms the foundation of kinetic chain initiation. Racket speed at impact was related to the hip axial rotation torque at the playing side (<xref ref-type="bibr" rid="B49">49</xref>). While previous studies established the importance of hip kinematics (<xref ref-type="bibr" rid="B1">1</xref>&#x2013;<xref ref-type="bibr" rid="B3">3</xref>, <xref ref-type="bibr" rid="B46">46</xref>), our analysis provides higher-resolution evidence that hip positional range and velocity (particularly along the x-axis) and inter-hip angular dynamics in the xz-plane positively correlate with ball speed (<xref ref-type="fig" rid="F8">Figures&#x00A0;8</xref>, <xref ref-type="fig" rid="F9">9</xref>).</p>
<p>Force transmission begins with lower limb engagement, where playing-side leg activity (positive correlations) contrasts with contralateral leg stabilization (negative correlations) (<xref ref-type="fig" rid="F8">Figures&#x00A0;8</xref>, <xref ref-type="fig" rid="F9">9</xref>). During forward swing, weight shifts toward the playing-side leg, positioning it closer to the rotational axis to bear load, while the contralateral leg balances and stabilizes rotation. Knee flexion-extension range and velocity negatively correlated with ball speed (<xref ref-type="fig" rid="F10">Figure&#x00A0;10</xref>), indicating that minimizing knee movement during forward swing helps maintain efficient trunk rotation. Excessive knee motion appears to compromise this rotation, likely by introducing unnecessary vertical displacement that disrupts kinetic transfer.</p>
<p>Previous table tennis kinematic studies used keypoint positions and linear velocities (<xref ref-type="bibr" rid="B43">43</xref>), body segment angles and angular velocities (<xref ref-type="bibr" rid="B1">1</xref>, <xref ref-type="bibr" rid="B3">3</xref>, <xref ref-type="bibr" rid="B49">49</xref>, <xref ref-type="bibr" rid="B50">50</xref>), and joint angles and angular velocities (<xref ref-type="bibr" rid="B1">1</xref>&#x2013;<xref ref-type="bibr" rid="B3">3</xref>, <xref ref-type="bibr" rid="B48">48</xref>, <xref ref-type="bibr" rid="B50">50</xref>). These metrics included mean values (<xref ref-type="bibr" rid="B2">2</xref>), peak values (<xref ref-type="bibr" rid="B2">2</xref>, <xref ref-type="bibr" rid="B48">48</xref>), and kinematic or racket movement characteristics at impact (<xref ref-type="bibr" rid="B2">2</xref>, <xref ref-type="bibr" rid="B43">43</xref>, <xref ref-type="bibr" rid="B48">48</xref>, <xref ref-type="bibr" rid="B49">49</xref>). We comprehensively applied these metrics within the MediaPipe lightweight framework and provided more intuitive analysis of these kinematic features and their relationships with ball speed. Players with extensive professional training not only generate high-speed balls but also maintain excellent body movement stability and consistency (<xref ref-type="bibr" rid="B1">1</xref>, <xref ref-type="bibr" rid="B3">3</xref>, <xref ref-type="bibr" rid="B49">49</xref>, <xref ref-type="bibr" rid="B50">50</xref>). This stability is crucial for continuous, stable, high-speed striking in high-level competition.</p>
<p>Beyond individual performance assessment, MediaPipe-based analysis enables population-level insights into developmental trends. Between-subject correlations reveal that female players&#x2019; forehand speed increases with age and height before 14.3 years but plateaus after 14.3 years (<xref ref-type="table" rid="T8">Table&#x00A0;8</xref>, <xref ref-type="fig" rid="F11">Figure&#x00A0;11</xref>). This analysis provides valuable guidance for athletes at different developmental stages. For example, young players from pre-adolescence to early adolescence should balance fundamental technical training with strength and speed development to improve ball velocity and enhance attacking capabilities. In contrast, during middle to late adolescence, players must prioritize technical, tactical, psychological, and fitness factors over reliance on physical growth to advance performance.</p>
</sec>
<sec id="s4b"><label>4.2</label><title>MediaPipe-based table tennis analysis solution</title>
<p>MediaPipe is an open-source framework created by Google that provides cross-platform machine learning solutions for real-time perception tasks including human pose tracking, body keypoint detection, hand tracking, facial analysis, face detection, object detection, and augmented reality applications. The framework offers superior computational efficiency with lower latency and cross-platform compatibility across Linux, macOS, Windows, Android, and iOS platforms, making it highly suitable for practical applications (<xref ref-type="bibr" rid="B12">12</xref>). Its vision-based approach eliminates dependency on specialized hardware, enabling flexible deployment with consumer-grade cameras while maintaining computational efficiency. The system tracks 33 anatomical landmarks across consecutive frames to model temporal kinematics of human motion, effectively balancing accuracy with low computational overhead.</p>
<p>Researchers investigated MediaPipe&#x2019;s reliability by comparing it with widely recognized accurate optoelectronic systems (e.g., VICON and Qualisys). Hii et al. used MediaPipe 3D for gait analysis and reported good to excellent agreement across spatiotemporal parameters, with good (ICC(2,1) <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM721"><mml:mrow><mml:mo>&#x003E;</mml:mo></mml:mrow><mml:mn>0.75</mml:mn></mml:math></inline-formula>) to excellent (ICC(2,1) <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM722"><mml:mrow><mml:mo>&#x003E;</mml:mo></mml:mrow><mml:mn>0.90</mml:mn></mml:math></inline-formula>) agreement in all temporal gait parameters except right-to-left leg transition time (ICC(2,1) <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM723"><mml:mrow><mml:mo>&#x003E;</mml:mo></mml:mrow><mml:mn>0.50</mml:mn></mml:math></inline-formula>), attributed to the very short duration (0.20 s) (<xref ref-type="bibr" rid="B51">51</xref>). Roggio et al. applied MediaPipe to obtain 3D joint angles (shoulder adduction, hip adduction) from 250 healthy volunteers, confirming high reliability of ML-driven posture analysis (ICC 0.67&#x2013;0.95), with hip adduction showing the highest ICC (0.95) and knee valgus showing the lowest (0.67) (<xref ref-type="bibr" rid="B52">52</xref>). Latreche et al. compared 3D measurements with goniometer and digital inclinometer results, finding MediaPipe shoulder motion measurements all showed ICC <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM724"><mml:mrow><mml:mo>&#x003E;</mml:mo></mml:mrow><mml:mn>0.81</mml:mn></mml:math></inline-formula>: shoulder abduction ICC <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM725"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.968, adduction <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM726"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.99, extension <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM727"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.99, flexion <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM728"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.992, indicating excellent reliability. Mean differences were <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM729"><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mn>0.01</mml:mn><mml:mrow><mml:mo>&#x2218;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula> compared to goniometer and <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM730"><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mn>0.36</mml:mn><mml:mrow><mml:mo>&#x2218;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula> compared to digital inclinometer, with 95&#x0025; limits of agreement confirming good validity (<xref ref-type="bibr" rid="B53">53</xref>).</p>
<p>Despite questions about MediaPipe 3D measurement accuracy, particularly at specific angles or during occlusion (<xref ref-type="bibr" rid="B13">13</xref>), MediaPipe 2D measurements have proven accurate and reliable (<xref ref-type="bibr" rid="B10">10</xref>, <xref ref-type="bibr" rid="B54">54</xref>). Hamilton et al. compared MediaPipe 2D joint angles and range of motion with 3D motion capture systems (Qualisys), finding mean CV below 10&#x0025; and CC <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM731"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.95, demonstrating MediaPipe 2D accuracy (<xref ref-type="bibr" rid="B54">54</xref>). Some researchers compute 3D coordinates through post-processing of 2D measurements using multiple cameras (<xref ref-type="bibr" rid="B14">14</xref>, <xref ref-type="bibr" rid="B55">55</xref>). Ceriola et al. used two cameras to acquire 2D keypoints and estimated 3D coordinates through stereo triangulation, reporting minimum absolute errors of (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM732"><mml:msup><mml:mn>3.1</mml:mn><mml:mrow><mml:mo>&#x2218;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x00B1;</mml:mo><mml:msup><mml:mn>1.8</mml:mn><mml:mrow><mml:mo>&#x2218;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula>) and (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM733"><mml:msup><mml:mn>3.5</mml:mn><mml:mrow><mml:mo>&#x2218;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x00B1;</mml:mo><mml:msup><mml:mn>1.9</mml:mn><mml:mrow><mml:mo>&#x2218;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula>) for hip joints and (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM734"><mml:msup><mml:mn>4.0</mml:mn><mml:mrow><mml:mo>&#x2218;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x00B1;</mml:mo><mml:msup><mml:mn>3.7</mml:mn><mml:mrow><mml:mo>&#x2218;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula>) and (<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="IM735"><mml:msup><mml:mn>4.8</mml:mn><mml:mrow><mml:mo>&#x2218;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x00B1;</mml:mo><mml:msup><mml:mn>4.3</mml:mn><mml:mrow><mml:mo>&#x2218;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula>) for knee joints (<xref ref-type="bibr" rid="B55">55</xref>). We did not map MediaPipe&#x2019;s camera-based 3D coordinates to anatomical coordinate systems but preserved the original coordinates. This approach retains MediaPipe&#x2019;s relatively accurate x and y values, while z-axis depth variations do not affect accuracy in the plane perpendicular to the camera axis (xy-plane).</p>
</sec>
<sec id="s4c"><label>4.3</label><title>Limitations and future works</title>
<p>The study has several limitations. First, despite including 8&#x2013;10 forehand strokes per player, only the fastest and slowest strokes were paired to calculate within-subject correlation coefficients. Elite participants exhibited highly consistent stroke patterns, leaving minimal variations in body motions and ball speeds. Measurement errors occasionally blurred speed distinctions, misclassifying fast strokes as slow and vice versa. Prioritizing extreme-speed strokes mitigated overlap effects but reduced statistical power. Two solutions could resolve this issue: (1) integrating high-speed cameras for precise measurements, albeit at the cost of practicality, or (2) recruiting lower-skilled players, who inherently display broader ball speed variations. Future work will refine the ball speed measurement model for higher precision, expand the participant pool to include diverse skill levels.</p>
<p>Second, this study recruited female provincial athletes, which limits the generalizability of findings to other populations. For example, male athletes may display different kinematic characteristics due to variations in movement patterns and skill levels. Future research should include mixed-gender cohorts or develop population-specific feature models for different demographics, including gender, age, and training level.</p>
<p>Real-time systems offer greater value for technical diagnosis. However, implementing real-time solutions requires addressing several technical challenges: (1) Action segmentation: Deep learning models must classify continuous time-series data into discrete stroke types (e.g., forehand strokes, backhand strokes, forehand chops, and backhand chops). (2) Success/failure classification: The system must distinguish successful shots from faults by analyzing ball trajectories and automatically detecting net contacts or boundary violations. (3) Automated ball speed measurement: Current ball trajectory calibration relies on manually annotated video coordinates. Real-time automation requires machine learning approaches, such as Ji et al.&#x2019;s framework (<xref ref-type="bibr" rid="B56">56</xref>), which integrates VOCUS-based image segmentation, LGP+Adaboost classification for smear detection, and dynamic ROI optimization to address environmental noise, motion blur, and computational delays. (4) Accurate racket-ball impact timing is essential for movement phase segmentation. Machine learning models must automatically detect trajectory discontinuities to precisely calibrate impact moments based on ball flight path changes. (5) Player movement tracking: Players move rapidly during rallies, causing partial occlusion or frame exit. Wide-angle lenses expand the field of view, while advanced deep learning algorithms can reduce occlusion effects.</p>
</sec>
</sec>
<sec id="s5" sec-type="conclusions"><label>5</label><title>Conclusions</title>
<p>This study scanned 33 skeletal landmarks, 19 segments, and 12 joints using MediaPipe to identify kinematic features linked to ball speed in table tennis forehand strokes. These features may enable lightweight technical evaluation. Ball speed increased with greater playing-side arm linear movement at the shoulder, elbow and wrist, as well as with enhanced rotational motion at the playing-side upper arm, shoulder line, and hip line. Conversely, ball speed decreased with excessive contralateral shoulder horizontal flexion/extension and playing-side elbow flexion-extension. These kinematic patterns comprehensively characterize forward stroke mechanics, providing critical metrics for technical assessment and improvement. MediaPipe demonstrated robust performance, showing high consistency during repetitive motions. Its low-cost, cross-platform compatibility, high computational efficiency, minimal hardware dependency, and open-source nature position it as a promising tool for real-time biomechanical analysis in table tennis training systems.</p>
</sec>
</body>
<back>
<sec id="s6" sec-type="data-availability"><title>Data availability statement</title>
<p>The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found below: <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.6084/m9.figshare.28881086">https://doi.org/10.6084/m9.figshare.28881086</ext-link>.</p>
</sec>
<sec id="s7" sec-type="ethics-statement"><title>Ethics statement</title>
<p>The studies involving humans were approved by The Ethics Committee of Nanjing Sport Institute. The studies were conducted in accordance with the local legislation and institutional requirements. Written informed consent for participation in this study was provided by the participants&#x2019; legal guardians/next of kin.</p>
</sec>
<sec id="s8" sec-type="author-contributions"><title>Author contributions</title>
<p>YL: Writing &#x2013; original draft, Formal analysis, Software, Project administration, Writing &#x2013; review &#x0026; editing, Methodology, Validation, Conceptualization, Supervision, Investigation, Data curation. XD: Formal analysis, Methodology, Resources, Writing &#x2013; review &#x0026; editing, Investigation. CY: Writing &#x2013; review &#x0026; editing, Data curation, Methodology, Resources, Formal analysis, Investigation. QY: Conceptualization, Project administration, Supervision, Formal analysis, Writing &#x2013; review &#x0026; editing, Methodology, Validation, Software, Investigation, Resources, Data curation.</p>
</sec>
<sec id="s9" sec-type="funding-information"><title>Funding</title>
<p>The author(s) declare that financial support was received for the research and/or publication of this article. This research is supported by the Ministry of Education of Humanities and Social Science project of China (Grant No. 19YJA890032).</p>
</sec>
<ack><title>Acknowledgments</title>
<p>We express our sincere gratitude to the female athletes who participated in this study, and to Coach Fengyu Jin and Coach Haijin He for their invaluable support of this research.</p>
</ack>
<sec id="s10" sec-type="COI-statement"><title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec id="s11" sec-type="ai-statement"><title>Generative AI statement</title>
<p>The author(s) declare that no Generative AI was used in the creation of this manuscript.</p>
<p>Any alternative text (alt text) provided alongside figures in this article has been generated by Frontiers with the support of artificial intelligence and reasonable efforts have been made to ensure accuracy, including review by the authors wherever possible. If you identify any issues, please contact us.</p>
</sec>
<sec id="s12" sec-type="disclaimer"><title>Publisher&#x0027;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list><title>References</title>
<ref id="B1"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Qian</surname><given-names>J</given-names></name><name><surname>Zhang</surname><given-names>Y</given-names></name><name><surname>Baker</surname><given-names>JS</given-names></name><name><surname>Gu</surname><given-names>Y</given-names></name></person-group>. <article-title>Effects of performance level on lower limb kinematics during table tennis forehand loop</article-title>. <source>Acta Bioeng Biomech</source>. (<year>2016</year>) <volume>18</volume>:<fpage>149</fpage>&#x2013;<lpage>55</lpage>. <pub-id pub-id-type="doi">10.5277/ABB-00492-2015-03</pub-id><pub-id pub-id-type="pmid">27840437</pub-id></citation></ref>
<ref id="B2"><label>2.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Iino</surname><given-names>Y</given-names></name><name><surname>Kojima</surname><given-names>T</given-names></name></person-group>. <article-title>Mechanical energy generation and transfer in the racket arm during table tennis topspin backhands</article-title>. <source>Sports Biomech</source>. (<year>2016</year>) <volume>15</volume>:<fpage>180</fpage>&#x2013;<lpage>97</lpage>. <pub-id pub-id-type="doi">10.1080/14763141.2016.1159722</pub-id><pub-id pub-id-type="pmid">27111711</pub-id></citation></ref>
<ref id="B3"><label>3.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname><given-names>M</given-names></name><name><surname>Fu</surname><given-names>L</given-names></name><name><surname>Gu</surname><given-names>Y</given-names></name><name><surname>Mei</surname><given-names>Q</given-names></name><name><surname>Fu</surname><given-names>F</given-names></name><name><surname>Fernandez</surname><given-names>J</given-names></name></person-group>. <article-title>Comparative study of kinematics and muscle activity between elite and amateur table tennis players during topspin loop against backspin movements</article-title>. <source>J Hum Kinet</source>. (<year>2018</year>) <volume>64</volume>:<fpage>25</fpage>&#x2013;<lpage>33</lpage>. <pub-id pub-id-type="doi">10.1515/hukin-2017-0182</pub-id><pub-id pub-id-type="pmid">30429896</pub-id></citation></ref>
<ref id="B4"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Iino</surname><given-names>Y</given-names></name><name><surname>Kojima</surname><given-names>T</given-names></name></person-group>. <article-title>Kinetics of the upper limb during table tennis topspin forehands in advanced and intermediate players</article-title>. <source>Sports Biomech</source>. (<year>2011</year>) <volume>10</volume>:<fpage>361</fpage>&#x2013;<lpage>77</lpage>. <pub-id pub-id-type="doi">10.1080/14763141.2011.629304</pub-id><pub-id pub-id-type="pmid">22303787</pub-id></citation></ref>
<ref id="B5"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhu</surname><given-names>R</given-names></name><name><surname>Yang</surname><given-names>X</given-names></name><name><surname>Chong</surname><given-names>LC</given-names></name><name><surname>Shao</surname><given-names>S</given-names></name><name><surname>Istv&#x00E1;n</surname><given-names>B</given-names></name><name><surname>Gu</surname><given-names>Y</given-names></name></person-group>. <article-title>Biomechanics of topspin forehand loop in table tennis: an application of opensim musculoskeletal modelling</article-title>. <source>Healthcare</source>. (<year>2023</year>) <volume>11</volume>:<fpage>1216</fpage>. <pub-id pub-id-type="doi">10.3390/healthcare11091216</pub-id><pub-id pub-id-type="pmid">37174758</pub-id></citation></ref>
<ref id="B6"><label>6.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tabrizi</surname><given-names>SS</given-names></name><name><surname>Pashazadeh</surname><given-names>S</given-names></name><name><surname>Javani</surname><given-names>V</given-names></name></person-group>. <article-title>Data acquired by a single object sensor for the detection and quality evaluation of table tennis forehand strokes</article-title>. <source>Data Brief</source>. (<year>2020</year>) <volume>33</volume>:<fpage>106504</fpage>. <pub-id pub-id-type="doi">10.1016/j.dib.2020.106504</pub-id><pub-id pub-id-type="pmid">33251307</pub-id></citation></ref>
<ref id="B7"><label>7.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>He</surname><given-names>Y</given-names></name><name><surname>Lyu</surname><given-names>X</given-names></name><name><surname>Sun</surname><given-names>D</given-names></name><name><surname>Baker</surname><given-names>JS</given-names></name><name><surname>Gu</surname><given-names>Y</given-names></name></person-group>. <article-title>The kinematic analysis of the lower limb during topspin forehand loop between different level table tennis athletes</article-title>. <source>PeerJ</source>. (<year>2021</year>) <volume>9</volume>:<fpage>e10841</fpage>. <pub-id pub-id-type="doi">10.7717/peerj.10841</pub-id><pub-id pub-id-type="pmid">33763297</pub-id></citation></ref>
<ref id="B8"><label>8.</label><citation citation-type="other"><person-group person-group-type="author"><name><surname>Chen</surname><given-names>P</given-names></name><name><surname>Shen</surname><given-names>Q</given-names></name></person-group>. <article-title>Research on table tennis swing recognition based on lightweight openpose</article-title>. <comment>In: <italic>2023 16th International Conference on Advanced Computer Theory and Engineering (ICACTE)</italic> (2023). p. 207&#x2013;12</comment>. <pub-id pub-id-type="doi">10.1109/ICACTE59887.2023.10335442</pub-id></citation></ref>
<ref id="B9"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Roggio</surname><given-names>F</given-names></name><name><surname>Trovato</surname><given-names>B</given-names></name><name><surname>Sortino</surname><given-names>M</given-names></name><name><surname>Musumeci</surname><given-names>G</given-names></name></person-group>. <article-title>A comprehensive analysis of the machine learning pose estimation models used in human movement and posture analyses: a narrative review</article-title>. <source>Heliyon</source>. (<year>2024</year>) <volume>10</volume>:<fpage>e39977</fpage>. <pub-id pub-id-type="doi">10.1016/j.heliyon.2024.e39977</pub-id><pub-id pub-id-type="pmid">39553598</pub-id></citation></ref>
<ref id="B10"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Simoes</surname><given-names>W</given-names></name><name><surname>Reis</surname><given-names>L</given-names></name><name><surname>Araujo</surname><given-names>C</given-names></name><name><surname>Maia Jr</surname><given-names>J</given-names></name></person-group>. <article-title>Accuracy assessment of 2D pose estimation with MediaPipe for physiotherapy exercises</article-title>. <source>Procedia Comput Sci</source>. (<year>2024</year>) <volume>251</volume>:<fpage>446</fpage>&#x2013;<lpage>53</lpage>. <pub-id pub-id-type="doi">10.1016/j.procs.2024.11.132</pub-id></citation></ref>
<ref id="B11"><label>11.</label><citation citation-type="other"><person-group person-group-type="author"><name><surname>Llanos</surname><given-names>MJ</given-names></name><name><surname>Obrero</surname><given-names>JR</given-names></name><name><surname>Alvarez</surname><given-names>LM</given-names></name><name><surname>Yang</surname><given-names>CH</given-names></name><name><surname>Aliac</surname><given-names>CJ</given-names></name></person-group>. <article-title>Computer-assisted table tennis posture analysis using machine learning</article-title>. <comment>In: <italic>2022 IEEE International Conference on Artificial Intelligence in Engineering and Technology (IICAIET)</italic> (2022). p. 1&#x2013;6</comment>. <pub-id pub-id-type="doi">10.1109/IICAIET55139.2022.9936806</pub-id></citation></ref>
<ref id="B12"><label>12.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>He</surname><given-names>Z</given-names></name><name><surname>Yang</surname><given-names>Z</given-names></name><name><surname>Xu</surname><given-names>J</given-names></name><name><surname>Chen</surname><given-names>H</given-names></name><name><surname>Li</surname><given-names>X</given-names></name><name><surname>Wang</surname><given-names>A</given-names></name></person-group>, et al. <article-title>Real-time accurate determination of table tennis ball and evaluation of player stroke effectiveness with computer vision-based deep learning</article-title>. <source>Appl Sci</source>. (<year>2025</year>) <volume>15</volume>:<fpage>5370</fpage>. <pub-id pub-id-type="doi">10.3390/app15105370</pub-id></citation></ref>
<ref id="B13"><label>13.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Dill</surname><given-names>S</given-names></name><name><surname>R&#x00F6;sch</surname><given-names>A</given-names></name><name><surname>Rohr</surname><given-names>M</given-names></name><name><surname>G&#x00FC;ney</surname><given-names>G</given-names></name><name><surname>De Witte</surname><given-names>L</given-names></name><name><surname>Schwartz</surname><given-names>E</given-names></name></person-group>, et al. <article-title>Accuracy evaluation of 3D pose estimation with MediaPipe pose for physical exercises</article-title>. <source>Curr Direct Biomed Eng</source>. (<year>2023</year>) <volume>9</volume>:<fpage>563</fpage>&#x2013;<lpage>6</lpage>. <pub-id pub-id-type="doi">10.1515/cdbme-2023-1141</pub-id></citation></ref>
<ref id="B14"><label>14.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Dill</surname><given-names>S</given-names></name><name><surname>Ahmadi</surname><given-names>A</given-names></name><name><surname>Grimmer</surname><given-names>M</given-names></name><name><surname>Haufe</surname><given-names>D</given-names></name><name><surname>Rohr</surname><given-names>M</given-names></name><name><surname>Zhao</surname><given-names>Y</given-names></name></person-group>, et al. <article-title>Accuracy evaluation of 3d pose reconstruction algorithms through stereo camera information fusion for physical exercises with mediapipe pose</article-title>. <source>Sensors</source>. (<year>2024</year>) <volume>24</volume>:<fpage>7772</fpage>. <pub-id pub-id-type="doi">10.3390/s24237772</pub-id><pub-id pub-id-type="pmid">39686309</pub-id></citation></ref>
<ref id="B15"><label>15.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xu</surname><given-names>D</given-names></name><name><surname>Zhou</surname><given-names>H</given-names></name><name><surname>Quan</surname><given-names>W</given-names></name><name><surname>Jiang</surname><given-names>X</given-names></name><name><surname>Liang</surname><given-names>M</given-names></name><name><surname>Li</surname><given-names>S</given-names></name></person-group>, et al. <article-title>A new method proposed for realizing human gait pattern recognition: inspirations for the application of sports and clinical gait analysis</article-title>. <source>Gait Posture</source>. (<year>2024</year>) <volume>107</volume>:<fpage>293</fpage>&#x2013;<lpage>305</lpage>. <pub-id pub-id-type="doi">10.1016/j.gaitpost.2023.10.019</pub-id><pub-id pub-id-type="pmid">37926657</pub-id></citation></ref>
<ref id="B16"><label>16.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wu</surname><given-names>C</given-names></name><name><surname>Xu</surname><given-names>Y</given-names></name><name><surname>Fang</surname><given-names>J</given-names></name><name><surname>Li</surname><given-names>Q</given-names></name></person-group>. <article-title>Machine learning in biomaterials, biomechanics/mechanobiology, and biofabrication: state of the art and perspective</article-title>. <source>Arch Comput Methods Eng</source>. (<year>2024</year>) <volume>31</volume>:<fpage>3699</fpage>&#x2013;<lpage>765</lpage>. <pub-id pub-id-type="doi">10.1007/s11831-024-10100-y</pub-id></citation></ref>
<ref id="B17"><label>17.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Donisi</surname><given-names>L</given-names></name><name><surname>Cesarelli</surname><given-names>G</given-names></name><name><surname>Capodaglio</surname><given-names>E</given-names></name><name><surname>Panigazzi</surname><given-names>M</given-names></name><name><surname>D&#x2019;Addio</surname><given-names>G</given-names></name><name><surname>Cesarelli</surname><given-names>M</given-names></name></person-group>, et al. <article-title>A logistic regression model for biomechanical risk classification in lifting tasks</article-title>. <source>Diagnostics</source>. (<year>2022</year>) <volume>12</volume>:<fpage>2624</fpage>. <pub-id pub-id-type="doi">10.3390/diagnostics12112624</pub-id><pub-id pub-id-type="pmid">36359468</pub-id></citation></ref>
<ref id="B18"><label>18.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Myer</surname><given-names>GD</given-names></name><name><surname>Ford</surname><given-names>KR</given-names></name><name><surname>Khoury</surname><given-names>J</given-names></name><name><surname>Succop</surname><given-names>P</given-names></name><name><surname>Hewett</surname><given-names>TE</given-names></name></person-group>. <article-title>Biomechanics laboratory-based prediction algorithm to identify female athletes with high knee loads that increase risk of ACL injury</article-title>. <source>Br J Sports Med</source>. (<year>2011</year>) <volume>45</volume>:<fpage>245</fpage>&#x2013;<lpage>52</lpage>. <pub-id pub-id-type="doi">10.1136/bjsm.2009.069351</pub-id><pub-id pub-id-type="pmid">20558526</pub-id></citation></ref>
<ref id="B19"><label>19.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Acikkar</surname><given-names>M</given-names></name><name><surname>Akay</surname><given-names>MF</given-names></name><name><surname>Ozgunen</surname><given-names>KT</given-names></name><name><surname>Aydin</surname><given-names>K</given-names></name><name><surname>Kurdak</surname><given-names>SS</given-names></name></person-group>. <article-title>Support vector machines for aerobic fitness prediction of athletes</article-title>. <source>Expert Syst Appl</source>. (<year>2009</year>) <volume>36</volume>:<fpage>3596</fpage>&#x2013;<lpage>602</lpage>. <pub-id pub-id-type="doi">10.1016/j.eswa.2008.02.002</pub-id></citation></ref>
<ref id="B20"><label>20.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Phinyomark</surname><given-names>A</given-names></name><name><surname>Hettinga</surname><given-names>BA</given-names></name><name><surname>Osis</surname><given-names>ST</given-names></name><name><surname>Ferber</surname><given-names>R</given-names></name></person-group>. <article-title>Gender and age-related differences in bilateral lower extremity mechanics during treadmill running</article-title>. <source>PLoS One</source>. (<year>2014</year>) <volume>9</volume>:<fpage>e105246</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pone.0105246</pub-id><pub-id pub-id-type="pmid">25137240</pub-id></citation></ref>
<ref id="B21"><label>21.</label><citation citation-type="other"><person-group person-group-type="author"><name><surname>Dey</surname><given-names>S</given-names></name><name><surname>Yoshida</surname><given-names>T</given-names></name><name><surname>Ernst</surname><given-names>M</given-names></name><name><surname>Schmalz</surname><given-names>T</given-names></name><name><surname>Schilling</surname><given-names>AF</given-names></name></person-group>. <article-title>A random forest approach for continuous prediction of joint angles and moments during walking: an implication for controlling active knee-ankle prostheses/orthoses</article-title>. <comment>In: <italic>2019 IEEE International Conference on Cyborg and Bionic Systems (CBS)</italic> (2019). p. 66&#x2013;71</comment>. <pub-id pub-id-type="doi">10.1109/CBS46900.2019.9114439</pub-id></citation></ref>
<ref id="B22"><label>22.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Patoz</surname><given-names>A</given-names></name><name><surname>Lussiana</surname><given-names>T</given-names></name><name><surname>Breine</surname><given-names>B</given-names></name><name><surname>Gindre</surname><given-names>C</given-names></name><name><surname>Malatesta</surname><given-names>D</given-names></name></person-group>. <article-title>Comparison of different machine learning models to enhance sacral acceleration-based estimations of running stride temporal variables and peak vertical ground reaction force</article-title>. <source>Sports Biomech</source>. (<year>2023</year>) <volume>24</volume>:<fpage>825</fpage>&#x2013;<lpage>41</lpage>. <pub-id pub-id-type="doi">10.1080/14763141.2022.2159870</pub-id><pub-id pub-id-type="pmid">36606626</pub-id></citation></ref>
<ref id="B23"><label>23.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nicholson</surname><given-names>K</given-names></name><name><surname>Collins</surname><given-names>G</given-names></name><name><surname>Waterman</surname><given-names>B</given-names></name><name><surname>Bullock</surname><given-names>G</given-names></name></person-group>. <article-title>Machine learning and statistical prediction of fastball velocity with biomechanical predictors</article-title>. <source>J Biomech</source>. (<year>2022</year>) <volume>134</volume>:<fpage>110999</fpage>. <pub-id pub-id-type="doi">10.1016/j.jbiomech.2022.110999</pub-id><pub-id pub-id-type="pmid">35183974</pub-id></citation></ref>
<ref id="B24"><label>24.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Palmieri-Smith</surname><given-names>RM</given-names></name><name><surname>Curran</surname><given-names>MT</given-names></name><name><surname>Garcia</surname><given-names>SA</given-names></name><name><surname>Krishnan</surname><given-names>C</given-names></name></person-group>. <article-title>Factors that predict sagittal plane knee biomechanical symmetry after anterior cruciate ligament reconstruction: a decision tree analysis</article-title>. <source>Sports Health</source>. (<year>2022</year>) <volume>14</volume>:<fpage>167</fpage>&#x2013;<lpage>75</lpage>. <pub-id pub-id-type="doi">10.1177/19417381211004932</pub-id><pub-id pub-id-type="pmid">33764229</pub-id></citation></ref>
<ref id="B25"><label>25.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ghaneei</surname><given-names>M</given-names></name><name><surname>Ekyalimpa</surname><given-names>R</given-names></name><name><surname>Westover</surname><given-names>L</given-names></name><name><surname>Parent</surname><given-names>EC</given-names></name><name><surname>Adeeb</surname><given-names>S</given-names></name></person-group>. <article-title>Customized k-nearest neighbourhood analysis in the management of adolescent idiopathic scoliosis using 3D markerless asymmetry analysis</article-title>. <source>Comput Methods Biomech Biomed Eng</source>. (<year>2019</year>) <volume>22</volume>:<fpage>696</fpage>&#x2013;<lpage>705</lpage>. <pub-id pub-id-type="doi">10.1080/10255842.2019.1584795</pub-id></citation></ref>
<ref id="B26"><label>26.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname><given-names>Z</given-names></name><name><surname>Chen</surname><given-names>C</given-names></name><name><surname>Chen</surname><given-names>H</given-names></name><name><surname>Zhou</surname><given-names>Y</given-names></name><name><surname>Wang</surname><given-names>X</given-names></name><name><surname>Wu</surname><given-names>X</given-names></name></person-group>. <article-title>Dual transformer network for predicting joint angles and torques from multi-channel EMG signals in the lower limbs</article-title>. <source>IEEE J Biomed Health Inform</source>. (<year>2025</year>):<fpage>1</fpage>&#x2013;<lpage>13</lpage>. <pub-id pub-id-type="doi">10.1109/JBHI.2025.3555255</pub-id></citation></ref>
<ref id="B27"><label>27.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname><given-names>Q</given-names></name><name><surname>Mo</surname><given-names>S</given-names></name><name><surname>Cheung</surname><given-names>VC</given-names></name><name><surname>Cheung</surname><given-names>BM</given-names></name><name><surname>Wang</surname><given-names>S</given-names></name><name><surname>Chan</surname><given-names>PP</given-names></name></person-group>, et al. <article-title>Classification of runners&#x2019; performance levels with concurrent prediction of biomechanical parameters using data from inertial measurement units</article-title>. <source>J Biomech</source>. (<year>2020</year>) <volume>112</volume>:<fpage>110072</fpage>. <pub-id pub-id-type="doi">10.1016/j.jbiomech.2020.110072</pub-id><pub-id pub-id-type="pmid">33075666</pub-id></citation></ref>
<ref id="B28"><label>28.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liew</surname><given-names>BX</given-names></name><name><surname>R&#x00FC;gamer</surname><given-names>D</given-names></name><name><surname>Zhai</surname><given-names>X</given-names></name><name><surname>Wang</surname><given-names>Y</given-names></name><name><surname>Morris</surname><given-names>S</given-names></name><name><surname>Netto</surname><given-names>K</given-names></name></person-group>. <article-title>Comparing shallow, deep, and transfer learning in predicting joint moments in running</article-title>. <source>J Biomech</source>. (<year>2021</year>) <volume>129</volume>:<fpage>110820</fpage>. <pub-id pub-id-type="doi">10.1016/j.jbiomech.2021.110820</pub-id><pub-id pub-id-type="pmid">34717160</pub-id></citation></ref>
<ref id="B29"><label>29.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Carneros-Prado</surname><given-names>D</given-names></name><name><surname>Dobrescu</surname><given-names>CC</given-names></name><name><surname>Caba&#x00F1;ero</surname><given-names>L</given-names></name><name><surname>Villa</surname><given-names>L</given-names></name><name><surname>Altamirano-Flores</surname><given-names>YV</given-names></name><name><surname>Lopez-Nava</surname><given-names>IH</given-names></name></person-group>, et al. <article-title>Synthetic 3D full-body skeletal motion from 2D paths using RNN with LSTM cells and linear networks</article-title>. <source>Comput Biol Med</source>. (<year>2024</year>) <volume>180</volume>:<fpage>108943</fpage>. <pub-id pub-id-type="doi">10.1016/j.compbiomed.2024.108943</pub-id><pub-id pub-id-type="pmid">39096611</pub-id></citation></ref>
<ref id="B30"><label>30.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Dorschky</surname><given-names>E</given-names></name><name><surname>Nitschke</surname><given-names>M</given-names></name><name><surname>Martindale</surname><given-names>CF</given-names></name><name><surname>Koelewijn</surname><given-names>AD</given-names></name><name><surname>Eskofier</surname><given-names>BM</given-names></name></person-group>. <article-title>CNN-based estimation of sagittal plane walking and running biomechanics from measured and simulated inertial sensor data</article-title>. <source>Front Bioeng Biotechnol</source>. (<year>2020</year>) <volume>8</volume>:<fpage>604</fpage>. <pub-id pub-id-type="doi">10.3389/fbioe.2020.00604</pub-id><pub-id pub-id-type="pmid">32671032</pub-id></citation></ref>
<ref id="B31"><label>31.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hossain</surname><given-names>MSB</given-names></name><name><surname>Dranetz</surname><given-names>J</given-names></name><name><surname>Choi</surname><given-names>H</given-names></name><name><surname>Guo</surname><given-names>Z</given-names></name></person-group>. <article-title>Deepbbwae-net: a CNN-RNN based deep superlearner for estimating lower extremity sagittal plane joint kinematics using shoe-mounted IMU sensors in daily living</article-title>. <source>IEEE J Biomed Health Inform</source>. (<year>2022</year>) <volume>26</volume>:<fpage>3906</fpage>&#x2013;<lpage>17</lpage>. <pub-id pub-id-type="doi">10.1109/JBHI.2022.3165383</pub-id><pub-id pub-id-type="pmid">35385394</pub-id></citation></ref>
<ref id="B32"><label>32.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Burenbatu</surname><given-names>B</given-names></name></person-group>. <article-title>Comparative analysis of biomechanical patterns in sprinting: a machine learning approach to optimize running performance in track athletes</article-title>. <source>Mol Cell Biomech</source>. (<year>2024</year>) <volume>21</volume>:<fpage>321</fpage>&#x2013;. <pub-id pub-id-type="doi">10.62617/mcb.v21i1.321</pub-id></citation></ref>
<ref id="B33"><label>33.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ballit</surname><given-names>A</given-names></name><name><surname>Dao</surname><given-names>TT</given-names></name></person-group>. <article-title>Recurrent neural network to predict hyperelastic constitutive behaviors of the skeletal muscle</article-title>. <source>Med Biol Eng Comput</source>. (<year>2022</year>) <volume>60</volume>:<fpage>1177</fpage>&#x2013;<lpage>85</lpage>.<pub-id pub-id-type="doi">10.1007/s11517-022-02541-z</pub-id><pub-id pub-id-type="pmid">35244859</pub-id></citation></ref>
<ref id="B34"><label>34.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xu</surname><given-names>D</given-names></name><name><surname>Zhou</surname><given-names>H</given-names></name><name><surname>Quan</surname><given-names>W</given-names></name><name><surname>Gusztav</surname><given-names>F</given-names></name><name><surname>Wang</surname><given-names>M</given-names></name><name><surname>Baker</surname><given-names>JS</given-names></name></person-group>, et al. <article-title>Accurately and effectively predict the ACL force: utilizing biomechanical landing pattern before and after-fatigue</article-title>. <source>Comput Methods Programs Biomed</source>. (<year>2023</year>) <volume>241</volume>:<fpage>107761</fpage>. <pub-id pub-id-type="doi">10.1016/j.cmpb.2023.107761</pub-id><pub-id pub-id-type="pmid">37579552</pub-id></citation></ref>
<ref id="B35"><label>35.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mubarrat</surname><given-names>ST</given-names></name><name><surname>Chowdhury</surname><given-names>S</given-names></name></person-group>. <article-title>Convolutional LSTM: a deep learning approach to predict shoulder joint reaction forces</article-title>. <source>Comput Methods Biomech Biomed Eng</source>. (<year>2023</year>) <volume>26</volume>:<fpage>65</fpage>&#x2013;<lpage>77</lpage>. <pub-id pub-id-type="doi">10.1080/10255842.2022.2045974</pub-id></citation></ref>
<ref id="B36"><label>36.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lu</surname><given-names>Y</given-names></name><name><surname>Wang</surname><given-names>H</given-names></name><name><surname>Qi</surname><given-names>Y</given-names></name><name><surname>Xi</surname><given-names>H</given-names></name></person-group>. <article-title>Evaluation of classification performance in human lower limb jump phases of signal correlation information and LSTM models</article-title>. <source>Biomed Signal Process Control</source>. (<year>2021</year>) <volume>64</volume>:<fpage>102279</fpage>. <pub-id pub-id-type="doi">10.1016/j.bspc.2020.102279</pub-id></citation></ref>
<ref id="B37"><label>37.</label><citation citation-type="other"><person-group person-group-type="author"><name><surname>Huang</surname><given-names>W</given-names></name><name><surname>Yang</surname><given-names>J</given-names></name><name><surname>Luo</surname><given-names>H</given-names></name><name><surname>Zhang</surname><given-names>H</given-names></name></person-group>. <article-title>Human table tennis actions recognition and evaluation method based on skeleton extraction</article-title>. <comment>In: <italic>2023 3rd International Conference on Consumer Electronics and Computer Engineering (ICCECE)</italic> (2023). p. 7&#x2013;13</comment>. <pub-id pub-id-type="doi">10.1109/ICCECE58074.2023.10135318</pub-id></citation></ref>
<ref id="B38"><label>38.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Dong</surname><given-names>K</given-names></name><name><surname>Yan</surname><given-names>WQ</given-names></name></person-group>. <article-title>Player performance analysis in table tennis through human action recognition</article-title>. <source>Computers</source>. (<year>2024</year>) <volume>13</volume>:<fpage>332</fpage>. <pub-id pub-id-type="doi">10.3390/computers13120332</pub-id></citation></ref>
<ref id="B39"><label>39.</label><citation citation-type="other"><person-group person-group-type="author"><name><surname>Bazarevsky</surname><given-names>V</given-names></name><name><surname>Grishchenko</surname><given-names>I</given-names></name></person-group>. <article-title>Google AI Blog: on-device, real-time body pose tracking with mediapipe blazepose (2020)</article-title>. <pub-id pub-id-type="doi">10.48550/arXiv.2006.10204</pub-id></citation></ref>
<ref id="B40"><label>40.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sharma</surname><given-names>N</given-names></name><name><surname>Sree</surname><given-names>BS</given-names></name><name><surname>Aranha</surname><given-names>VP</given-names></name><name><surname>Samuel</surname><given-names>AJ</given-names></name></person-group>. <article-title>Repeated measures correlation between functional capacity, pulmonary function and chest expansion in children undergoing open abdominal surgery: secondary analysis from randomized clinical trial</article-title>. <source>J Pediatr Surg</source>. (<year>2021</year>) <volume>56</volume>:<fpage>2022</fpage>&#x2013;<lpage>6</lpage>. <pub-id pub-id-type="doi">10.1016/j.jpedsurg.2020.12.006</pub-id><pub-id pub-id-type="pmid">33358415</pub-id></citation></ref>
<ref id="B41"><label>41.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bland</surname><given-names>JM</given-names></name><name><surname>Altman</surname><given-names>DG</given-names></name></person-group>. <article-title>Calculating correlation coefficients with repeated observations: part 2&#x2014;correlation between subjects</article-title>. <source>BMJ</source>. (<year>1995</year>) <volume>310</volume>:<fpage>633</fpage>. REFDOIdoi: 10.1136/bmj.310.6980.633<pub-id pub-id-type="pmid">7703752</pub-id></citation></ref>
<ref id="B42"><label>42.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bakdash</surname><given-names>JZ</given-names></name><name><surname>Marusich</surname><given-names>LR</given-names></name></person-group>. <article-title>Repeated measures correlation</article-title>. <source>Front Psychol</source>. (<year>2017</year>) <volume>8</volume>:<fpage>456</fpage>. <pub-id pub-id-type="doi">10.3389/fpsyg.2017.00456</pub-id><pub-id pub-id-type="pmid">28439244</pub-id></citation></ref>
<ref id="B43"><label>43.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zheng</surname><given-names>C</given-names></name><name><surname>Lu</surname><given-names>M</given-names></name><name><surname>Zeng</surname><given-names>Y</given-names></name><name><surname>Hu</surname><given-names>M</given-names></name><name><surname>Geng</surname><given-names>X</given-names></name><name><surname>Xiao</surname><given-names>Y</given-names></name></person-group>. <article-title>The impact of wrist joint movement on stroke effect during topspin forehand in table tennis</article-title>. <source>Int J Perform Anal Sport</source>. (<year>2021</year>) <volume>21</volume>:<fpage>324</fpage>&#x2013;<lpage>35</lpage>. <pub-id pub-id-type="doi">10.1080/24748668.2021.1885839</pub-id></citation></ref>
<ref id="B44"><label>44.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xiao</surname><given-names>Y</given-names></name><name><surname>Xiao</surname><given-names>Y</given-names></name><name><surname>Lu</surname><given-names>M</given-names></name><name><surname>Zeng</surname><given-names>Y</given-names></name></person-group>. <article-title>The correlation between stroke characteristics and stroke effect of young table tennis players</article-title>. <source>J Sports Med Phys Fitness</source>. (<year>2021</year>) <volume>61</volume>:<fpage>1454</fpage>&#x2013;<lpage>63</lpage>. <pub-id pub-id-type="doi">10.23736/S0022-4707.20.11800-0</pub-id><pub-id pub-id-type="pmid">33337112</pub-id></citation></ref>
<ref id="B45"><label>45.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Putnam</surname><given-names>CA</given-names></name></person-group>. <article-title>Sequential motions of body segments in striking and throwing skills: descriptions and explanations</article-title>. <source>J Biomech</source>. (<year>1993</year>) <volume>26</volume>:<fpage>125</fpage>&#x2013;<lpage>35</lpage>. <pub-id pub-id-type="doi">10.1016/0021-9290(93)90084-R</pub-id><pub-id pub-id-type="pmid">8505347</pub-id></citation></ref>
<ref id="B46"><label>46.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Iino</surname><given-names>Y</given-names></name><name><surname>Kojima</surname><given-names>T</given-names></name></person-group>. <article-title>Kinematics of table tennis topspin forehands: effects of performance level and ball spin</article-title>. <source>J Sports Sci</source>. (<year>2009</year>) <volume>27</volume>:<fpage>1311</fpage>&#x2013;<lpage>21</lpage>. <pub-id pub-id-type="doi">10.1080/02640410903264458</pub-id><pub-id pub-id-type="pmid">19746298</pub-id></citation></ref>
<ref id="B47"><label>47.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ba&#x0144;kosz</surname><given-names>Z</given-names></name><name><surname>Winiarski</surname><given-names>S</given-names></name></person-group>. <article-title>Correlations between angular velocities in selected joints and velocity of table tennis racket during topspin forehand and backhand</article-title>. <source>J Sports Sci Med</source>. (<year>2018</year>) <volume>17</volume>:<fpage>330</fpage>&#x2013;<lpage>8</lpage>.</citation></ref>
<ref id="B48"><label>48.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chen</surname><given-names>MZ</given-names></name><name><surname>Wang</surname><given-names>X</given-names></name><name><surname>Chen</surname><given-names>Q</given-names></name><name><surname>Ma</surname><given-names>Y</given-names></name><name><surname>Lanzoni</surname><given-names>IM</given-names></name><name><surname>Lam</surname><given-names>WK</given-names></name></person-group>. <article-title>An analysis of whole-body kinematics, muscle strength and activity during cross-step topspin among table tennis players</article-title>. <source>Int J Perform Anal Sport</source>. (<year>2022</year>) <volume>22</volume>:<fpage>16</fpage>&#x2013;<lpage>28</lpage>. <pub-id pub-id-type="doi">10.1080/24748668.2022.2025712</pub-id></citation></ref>
<ref id="B49"><label>49.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wong</surname><given-names>DWC</given-names></name><name><surname>Lee</surname><given-names>WCC</given-names></name><name><surname>Lam</surname><given-names>WK</given-names></name></person-group>. <article-title>Biomechanics of table tennis: a systematic scoping review of playing levels and maneuvers</article-title>. <source>Appl Sci</source>. (<year>2020</year>) <volume>10</volume>:<fpage>5203</fpage>. <pub-id pub-id-type="doi">10.3390/app10155203</pub-id></citation></ref>
<ref id="B50"><label>50.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yu</surname><given-names>C</given-names></name><name><surname>Shao</surname><given-names>S</given-names></name><name><surname>Baker</surname><given-names>JS</given-names></name><name><surname>Awrejcewicz</surname><given-names>J</given-names></name><name><surname>Gu</surname><given-names>Y</given-names></name></person-group>. <article-title>A comparative biomechanical analysis of the performance level on chasse step in table tennis</article-title>. <source>Int J Sports Sci Coach</source>. (<year>2019</year>) <volume>14</volume>:<fpage>372</fpage>&#x2013;<lpage>82</lpage>. <pub-id pub-id-type="doi">10.1177/1747954119843651</pub-id></citation></ref>
<ref id="B51"><label>51.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hii</surname><given-names>CST</given-names></name><name><surname>Gan</surname><given-names>KB</given-names></name><name><surname>Zainal</surname><given-names>N</given-names></name><name><surname>Ibrahim</surname><given-names>NM</given-names></name><name><surname>Azmin</surname><given-names>S</given-names></name><name><surname>Desa</surname><given-names>SHM</given-names></name></person-group>, et al. <article-title>Automated gait analysis based on a marker-free pose estimation model</article-title>. <source>Sensors</source>. (<year>2023</year>) <volume>23</volume>:<fpage>6489</fpage>. <pub-id pub-id-type="doi">10.3390/s23146489</pub-id><pub-id pub-id-type="pmid">37514783</pub-id></citation></ref>
<ref id="B52"><label>52.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Roggio</surname><given-names>F</given-names></name><name><surname>Di Grande</surname><given-names>S</given-names></name><name><surname>Cavalieri</surname><given-names>S</given-names></name><name><surname>Falla</surname><given-names>D</given-names></name><name><surname>Musumeci</surname><given-names>G</given-names></name></person-group>. <article-title>Biomechanical posture analysis in healthy adults with machine learning: applicability and reliability</article-title>. <source>Sensors</source>. (<year>2024</year>) <volume>24</volume>:<fpage>2929</fpage>. <pub-id pub-id-type="doi">10.3390/s24092929</pub-id><pub-id pub-id-type="pmid">38733035</pub-id></citation></ref>
<ref id="B53"><label>53.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Latreche</surname><given-names>A</given-names></name><name><surname>Kelaiaia</surname><given-names>R</given-names></name><name><surname>Chemori</surname><given-names>A</given-names></name><name><surname>Kerboua</surname><given-names>A</given-names></name></person-group>. <article-title>Reliability and validity analysis of mediapipe-based measurement system for some human rehabilitation motions</article-title>. <source>Measurement</source>. (<year>2023</year>) <volume>214</volume>:<fpage>112826</fpage>. <pub-id pub-id-type="doi">10.1016/j.measurement.2023.112826</pub-id></citation></ref>
<ref id="B54"><label>54.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hamilton</surname><given-names>RI</given-names></name><name><surname>Glavcheva-Laleva</surname><given-names>Z</given-names></name><name><surname>Haque Milon</surname><given-names>MI</given-names></name><name><surname>Anil</surname><given-names>Y</given-names></name><name><surname>Williams</surname><given-names>J</given-names></name><name><surname>Bishop</surname><given-names>P</given-names></name></person-group>, et al. <article-title>Comparison of computational pose estimation models for joint angles with 3D motion capture</article-title>. <source>J Bodyw Mov Ther</source>. (<year>2024</year>) <volume>40</volume>:<fpage>315</fpage>&#x2013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1016/j.jbmt.2024.04.033</pub-id><pub-id pub-id-type="pmid">39593603</pub-id></citation></ref>
<ref id="B55"><label>55.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ceriola</surname><given-names>L</given-names></name><name><surname>Taborri</surname><given-names>J</given-names></name><name><surname>Donati</surname><given-names>M</given-names></name><name><surname>Rossi</surname><given-names>S</given-names></name><name><surname>Patan&#x00E8;</surname><given-names>F</given-names></name><name><surname>Mileti</surname><given-names>I</given-names></name></person-group>. <article-title>Comparative analysis of markerless motion capture systems for measuring human kinematics</article-title>. <source>IEEE Sens J</source>. (<year>2024</year>) <volume>24</volume>:<fpage>28135</fpage>&#x2013;<lpage>44</lpage>. <pub-id pub-id-type="doi">10.1109/JSEN.2024.3431873</pub-id></citation></ref>
<ref id="B56"><label>56.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ji</surname><given-names>YF</given-names></name><name><surname>Zhang</surname><given-names>JW</given-names></name><name><surname>Shi</surname><given-names>ZH</given-names></name><name><surname>Liu</surname><given-names>MH</given-names></name><name><surname>Ren</surname><given-names>J</given-names></name></person-group>. <article-title>Research on real-time tracking of table tennis ball based on machine learning with low-speed camera</article-title>. <source>Syst Sci Control Eng</source>. (<year>2018</year>) <volume>6</volume>:<fpage>71</fpage>&#x2013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1080/21642583.2018.1450167</pub-id></citation></ref></ref-list>
</back>
</article>