Algorithm Demo: Smoothing & Anti-Stretching

Kalman Filters and B-Spline Interpolation applied to 3D Sign Vectors

Without Algorithm

Raw coordinates. Stretching occurs when subject size changes. Jitter occurs from low FPS.

Raw Logic:
// Absolute XY applied directly
Arm_X = MediaPipe_X * CanvasWidth
Arm_Y = MediaPipe_Y * CanvasHeight

// Stretches Avatar completely!
// Jitters wildly on packet loss.

Our EduSign Algorithm

Vector Normalization prevents stretching. Splines provide 100% smooth easing.

Kalman & Spline Logic:
// 1. Vector Normalization
v_dir = (Bone_End - Bone_Start).normalized()

// 2. Kalman Filtering
Est_State = Predict(Prev_State)
Updated = Update(Est_State, New_Measurement)

// 3. Easing (Spline Interpolation)
Curr_Pos += (Target_Pos - Curr_Pos) * 0.15