Cubic trajectory with via points (continuous accelerations)

One via point

Path definition

path = {{0, θ_0}, {t_1, θ_1}, {t_2, θ_2}} ;

path // TraditionalForm

(           θ  )           0               0            t         θ            1              1            t         θ            2              2

System of equations

CubicEquationsDisplay[path] // ViewSolution

θ_0a_10
0a_11
θ_1a_13 t_1^3 + a_12 t_1^2 + a_11 t_1 + a_10
θ_1a_20
3 a_13 t_1^2 + 2 a_12 t_1 + a_11a_21
2 a_12 + 6 a_13 t_12 a_22
θ_2a_23 (t_2 - t_1)^3 + a_22 (t_2 - t_1)^2 + a_21 (t_2 - t_1) + a_20
03 a_23 (t_2 - t_1)^2 + 2 a_22 (t_2 - t_1) + a_21

Matrix representation

CubicCoefficientMatrices[path]

(                                                                                      ...        0               0               0               -1                   2    1          2    1

Solution for coefficients

CubicCoefficientsDisplay[path] //Sort// ViewSolution

a_10θ_0
a_110
a_12 -(3 (θ_0 t_1^2 - θ_2 t_1^2 - t_2^2 θ_0 + t_2^2 θ_1))/(2 t_1^2 (t_1 - t_2) t_2)
a_13 (3 (t_1 θ_0 - t_2 θ_0 + t_2 θ_1 - t_1 θ_2))/(2 t_1^2 (t_1 - t_2) t_2) - (θ_1 - θ_0)/(2 t_1^3)
a_20θ_1
a_21 (3 (θ_1 - θ_0))/(2 t_1) + (3 (t_1 θ_0 - t_2 θ_0 + t_2 θ_1 - t_1 θ_2))/(2 (t_1 - t_2) t_2)
a_22 (3 (t_1 θ_0 - t_2 θ_0 + t_2 θ_1 - t_1 θ_2))/(t_1 (t_1 - t_2) t_2)
a_23 -(-3 θ_0 t_1^2 + 3 θ_2 t_1^2 + 6 t_2 θ_0 t_1 - 2 t_2 θ_1 t_1 - 4 t_2 θ_2 t_1 - 3 t_2^2 θ_0 + 3 t_2^2 θ_1)/(2 t_1 (t_1 - t_2)^3 t_2)

Example 7.2 (Craig)

CubicCoefficientsDisplay[path /. {t_1t, t_22t}] //Sort// ViewSolution

a_10θ_0
a_110
a_12 -(3 (3 θ_0 - 4 θ_1 + θ_2))/(4 t^2)
a_13 -(-5 θ_0 + 8 θ_1 - 3 θ_2)/(4 t^3)
a_20θ_1
a_21 -(3 (θ_0 - θ_2))/(4 t)
a_22 (3 (θ_0 - 2 θ_1 + θ_2))/(2 t^2)
a_23 -(3 θ_0 - 8 θ_1 + 5 θ_2)/(4 t^3)

Two via point

Path definition

path = {{0, θ_0}, {t_1, θ_1}, {t_2, θ_2}, {t_3, θ_3}} ;

path // TraditionalForm

(           θ  )           0               0            t         θ  ...         θ            2              2            t         θ            3              3

System of equations

CubicEquationsDisplay[path] // ViewSolution

θ_0a_10
0a_11
θ_1a_13 t_1^3 + a_12 t_1^2 + a_11 t_1 + a_10
θ_1a_20
3 a_13 t_1^2 + 2 a_12 t_1 + a_11a_21
2 a_12 + 6 a_13 t_12 a_22
θ_2a_23 (t_2 - t_1)^3 + a_22 (t_2 - t_1)^2 + a_21 (t_2 - t_1) + a_20
θ_2a_30
3 a_23 (t_2 - t_1)^2 + 2 a_22 (t_2 - t_1) + a_21a_31
2 a_22 + 6 a_23 (t_2 - t_1) 2 a_32
θ_3a_33 (t_3 - t_2)^3 + a_32 (t_3 - t_2)^2 + a_31 (t_3 - t_2) + a_30
03 a_33 (t_3 - t_2)^2 + 2 a_32 (t_3 - t_2) + a_31

Matrix representation

CubicCoefficientMatrices[path]

(                                                                                      ...        0               0               0               -1                   3    2          3    2

Solution for coefficients

CubicCoefficientsDisplay[path] //Simplify //Sort// ViewSolution

a_10θ_0
a_110
a_12 (3 ((θ_2 - θ_3) t_1^4 - 2 (t_3 (θ_2 - θ_0) + t_2 (θ_0 -  ... - t_3) t_3 (θ_0 - θ_1)))/(t_1^2 (t_1 - t_2) (t_2 - t_3) (t_1 (3 t_2 + t_3) - 4 t_2 t_3))
a_13 (-3 (θ_2 - θ_3) t_1^4 + 6 (t_3 (θ_2 - θ_0) + t_2 (θ_0 -  ...  - t_3) t_3 (θ_0 - θ_1))/(t_1^3 (t_1 - t_2) (t_2 - t_3) (t_1 (3 t_2 + t_3) - 4 t_2 t_3))
a_20θ_1
a_21 -(3 ((θ_2 - θ_3) t_1^4 - 2 (t_3 (θ_2 - θ_0) + t_2 (θ_0 - ... 2 - t_3) t_3 (θ_0 - θ_1)))/(t_1 (t_1 - t_2) (t_2 - t_3) (t_1 (3 t_2 + t_3) - 4 t_2 t_3))
a_22 -(3 (2 (θ_2 - θ_3) t_1^3 - 4 (t_3 (θ_2 - θ_0) + t_2 (θ_0 ... 2 - 3 t_3^2) (θ_0 - θ_1)))/(t_1 (t_1 - t_2) (t_2 - t_3) (t_1 (3 t_2 + t_3) - 4 t_2 t_3))
a_23 (-3 (θ_2 - θ_3) t_1^3 + 3 (2 t_3 (θ_2 - θ_0) + t_2 (2 θ_ ... ^2 - t_3^2) (θ_0 - θ_1))/(t_1 (t_1 - t_2)^2 (t_2 - t_3) (t_1 (3 t_2 + t_3) - 4 t_2 t_3))
a_30θ_2
a_31 (3 (2 t_2 (θ_2 - θ_3) t_1^3 - ((θ_0 + 3 θ_2 - 4 θ_3) t_2 ... t_2 - t_3)^2 (θ_0 - θ_1)))/(t_1 (t_1 - t_2) (t_2 - t_3) (t_1 (3 t_2 + t_3) - 4 t_2 t_3))
a_32 (3 ((θ_2 - θ_3) t_1^3 + (2 t_3 (θ_0 - θ_2) + t_2 (-2 θ_0 ...  (t_2 - t_3) (θ_0 - θ_1)))/(t_1 (t_1 - t_2) (t_2 - t_3) (t_1 (3 t_2 + t_3) - 4 t_2 t_3))
a_33 (2 t_3 (θ_3 - θ_2) t_1^3 + (-3 (θ_0 + θ_2 - 2 θ_3) t_2^2 ... _2 - t_3)^2 (θ_0 - θ_1))/(t_1 (t_1 - t_2) (t_2 - t_3)^3 (t_1 (3 t_2 + t_3) - 4 t_2 t_3))

CubicCoefficientsDisplay[path] //Sort// ViewSolution

a_10θ_0
a_110
a_12 (3 (θ_2 t_1^3 - θ_3 t_1^3 - 2 t_2 θ_0 t_1^2 + 2 t_3 θ_0 t_1^2 ... t_1^5 + 72 t_2^2 t_1^4 - 32 t_2^3 t_1^3) (t_2 - t_3) (3 t_1 t_2 - 4 t_3 t_2 + t_1 t_3))))/(2 t_1))
a_13 -(θ_1 - θ_0)/(2 t_1^3) - (-(3 (θ_2 t_1^3 - θ_3 t_1^3 - 2 t_2  ...  t_1^5 + 72 t_2^2 t_1^4 - 32 t_2^3 t_1^3) (t_2 - t_3) (3 t_1 t_2 - 4 t_3 t_2 + t_1 t_3))))/(2 t_1)
a_20θ_1
a_21 (3 (θ_1 - θ_0))/(2 t_1) - 1/2 t_1 (-(3 (θ_2 t_1^3 - θ_3 t_1^3 ... - 48 t_2 t_1^5 + 72 t_2^2 t_1^4 - 32 t_2^3 t_1^3) (t_2 - t_3) (3 t_1 t_2 - 4 t_3 t_2 + t_1 t_3))))
a_22 (3 (θ_2 t_1^3 - θ_3 t_1^3 - 2 t_2 θ_0 t_1^2 + 2 t_3 θ_0 t_1^2 ...  - 48 t_2 t_1^5 + 72 t_2^2 t_1^4 - 32 t_2^3 t_1^3) (t_2 - t_3) (3 t_1 t_2 - 4 t_3 t_2 + t_1 t_3)))
a_23 -(2 (8 (θ_1 - θ_2) t_1^3 + 12 (t_2 - t_1) (θ_1 - θ_0) t_1^2)) ... 6 - 48 t_2 t_1^5 + 72 t_2^2 t_1^4 - 32 t_2^3 t_1^3) (t_2 - t_3) (3 t_1 t_2 - 4 t_3 t_2 + t_1 t_3))
a_30θ_2
a_31 (3 t_2^2 - 6 t_3 t_2 + 3 t_3^2) ((θ_3 - θ_2)/(2 (t_3 - t_2)^3) + (3 (&# ...  θ_1 - 2 t_2^2 t_3 θ_1))/(t_1 (t_1 - t_2) (t_2 - t_3) (3 t_1 t_2 - 4 t_3 t_2 + t_1 t_3))
a_32 (3 (θ_2 t_1^3 - θ_3 t_1^3 - 2 t_2 θ_0 t_1^2 + 2 t_3 θ_0 t_1^2 ...  θ_1 - 2 t_2^2 t_3 θ_1))/(t_1 (t_1 - t_2) (t_2 - t_3) (3 t_1 t_2 - 4 t_3 t_2 + t_1 t_3))
a_33 -(θ_3 - θ_2)/(2 (t_3 - t_2)^3) - (3 (θ_2 t_1^3 - θ_3 t_1^3 -  ... t_2^2 t_3 θ_1))/(2 t_1 (t_1 - t_2) (t_2 - t_3) (t_3 - t_2) (3 t_1 t_2 - 4 t_3 t_2 + t_1 t_3))

Created by Mathematica  (November 12, 2003)