Quaternion version of the following problem: 
Given the curvature and torsion, find the curve.
- Quaternion frame equation version,
modeled after the full Frenet frame version,
"plotintrinsic3d"
in Alfred Gray's "Modern Differential Geometry
of Curves and Surfaces"  1st and 2nd editions
by Andrew Hanson, Computer Science Dept.,
    Indiana University.  (1994-2000)

Put in Quaternion Frame equations, model after Gray's integration
of the complete 9-component Frenet-Serret equations:
Initial parameters are in the list in 2nd argument:
    sz = curve param value at which BC are specified
    qplot[] shows just the quaternions.
    qplot3dx[] takes initial curve coordinates and finds the
       curve in 3-space with the indicated curvatures as well.

<< "Graphics`ParametricPlot3D`"

qplot[{k1_, k2_, k3_}, {
            sz_:  0, {qz0_:  1, qz1_:  0, qz2_:  0, qz3_:  0}}, {smin_:  0, 
            smax_:  1}, angle_:  0, opts___]:=ParametricPlot3D[Evaluate[Module[{q0, q1, q2, q3},{q1[s], q2[s], N[Cos[angle] q3[s] + Sin[angle] q0[s]]}
                      /.NDSolve[{q0'[ss]==(1/2) 
                                (-k2[ss] q1[ss] - k3[ss] q2[ss] + 
                                    k1[ss] q3[ss]),q1'[ss]==(1/2) 
                                (k2[ss] q0[ss] - k1[ss] q2[ss] + 
                                    k3[ss] q3[ss]),q2'[ss]==(1/2) 
                                (k3[ss] q0[ss] + k1[ss] q1[ss] + 
                                    k2[ss] q3[ss]),q3'[ss]==(1/2) 
                                (-k1[ss] q0[ss] - k3[ss] q1[ss] - 
                                    k2[ss] q2[ss]),q0[sz] == qz0,q1[sz] == qz1,q2[sz] == qz2,q3[sz] == qz3},{q0, q1, q2, q3},{ss, smin, smax}]]],{s, smin, smax},opts];

qplot3dx[{k1_, k2_, k3_}, {
            sz_:  0, {xz1_:  0, xz2_:  0, xz3_:  0}, {qz0_:  1, qz1_:  0, 
              qz2_:  0, qz3_:  0}}, {smin_:  0, smax_:  1}, opts___]:=ParametricPlot3D[Evaluate[Module[{x1, x2, x3, q0, q1, q2, q3},{x1[s], x2[s], x3[s]}/.NDSolve[{q0'[ss]==(1/2) 
                                (-k2[ss] q1[ss] - k3[ss] q2[ss] + 
                                    k1[ss] q3[ss]),q1'[ss]==(1/2) 
                                (k2[ss] q0[ss] - k1[ss] q2[ss] + 
                                    k3[ss] q3[ss]),q2'[ss]==(1/2) 
                                (k3[ss] q0[ss] + k1[ss] q1[ss] + 
                                    k2[ss] q3[ss]),q3'[ss]==(1/2) 
                                (-k1[ss] q0[ss] - k3[ss] q1[ss] - 
                                    k2[ss] q2[ss]),x1'[ss]==q0[ss]^2 + q1[ss]^2 - q2[ss]^2 - 
                                q3[ss]^2,x2'[ss]==2 q1[ss] q2[ss] + 
                                2 q0[ss] q3[ss],x3'[ss]==2 q3[ss] q1[ss] - 
                                2 q0[ss] q2[ss],x1[sz] == xz1,x2[sz] == xz2,x3[sz] == xz3,q0[sz] == qz0,q1[sz] == qz1,q2[sz] == qz2,q3[sz] == qz3},{x1, x2, x3, q0, q1, q2, q3},{ss, smin, smax}]]],{s, smin, smax},opts];

Examples:
Gray: figures on p. 147. (1st edition)  . p224 (2nd edition)
 My sign convention reverses the curvature;
in general, there are three curvatures, kx, ky, and kz, which is zero
for the Frenet frame.
  The second figure seems to be incorrect in first edition of the book; I think this version
  is correct; in fact, it has been corrected to match mine in the second edition.

\(qplot[{\(-Abs[#1]\)&, .3&, 0&}, {0, {1, 0, 0, 0}}, {0, 2\ π}, 
      π\/2, AxesLabel -> {x, y, z}, 
	
      PlotLabel -> "3D projection of the quaternions alone", 
	
      PlotRange -> {{\(-1\), 1}, {\(-1\), 1}, {\(-1\), 1}}, 
      PlotPoints -> 100]\)

qplot3dx[{-Abs[#1]&, 0.3&, 0&}, {0, {0, 0, 0}, {1, 0, 0, 0}}, {
        -10, 10}, Axes -> None, AxesLabel -> {x, y, z}, 
      PlotPoints -> 500]

qplot3dx[{-1.3&, .5 Sin[#1]&, 0&}, {0, {0, 0, 0}, {1, 0, 0, 0}}, {
        0, 4 π}, AxesLabel -> {x, y, z}, PlotPoints -> 200]