Vector as string (default ouput format)
$a => [ 1.000000000000E+00 2.000000000000E+00 5.000000000000E-01 ]
Specified output format
$a => { 1, 2, 0.5 }
Modified default output format
$a => [ 1.00000 2.00000 0.50000 ]
General Vector Mathematics
length
2.29128784747792
normalised
[ 0.43644 0.87287 0.21822 ]
string concat $a."**" = [ 1.00000 2.00000 0.50000 ]**
vector constant X = [ 1.00000 0.00000 0.00000 ]
subtraction $a - Z = [ 1.00000 2.00000 -0.50000 ]
scalar divide $a / 3 = [ 0.33333 0.66667 0.16667 ]
dot product $a . Y = 2
cross product $a x Y = [ -0.50000 0.00000 1.00000 ]
Plane containing points X, $a, Z (in anti-clockwise order)
normal = $n = [ 0.69631 -0.17408 0.69631 ]
disance from O = $d = 0.696310623822791
Y axis intersect = $d/($n.Y) = -4
Conversions to MatrixReal objects
Vector as a MatrixReal Row $r (vector -> matrix) =>
[ 1.000000000000E+00 2.000000000000E+00 5.000000000000E-01 ]
Vector as a MatrixReal Col $c (vector -> matrix) =>
[ 1.000000000000E+00 ]
[ 2.000000000000E+00 ]
[ 5.000000000000E-01 ]
Rotation Matrix from 3 Vectors
$R =>
[ 4.364357804720E-01 8.728715609440E-01 2.182178902360E-01 ]
[ 8.728715609440E-01 -4.364357804720E-01 0.000000000000E+00 ]
[ 9.523809523810E-02 1.904761904762E-01 -9.523809523810E-01 ]
Extract the Y row from the matrix as a VectorReal
$R->matrix_row2vector(1) => [ 0.87287 -0.43644 0.00000 ]
Rotate a vector with above rotation matrix
$a * $R (vector -> vector)
[ 2.22980 0.09524 -0.25797 ]
Rotate a MatrixReal column (post multiply)
(NB: matrix must be transposed (~) to match column format)
~$R * $c (col_matrix -> col_matrix) =>
[ 2.229797949979E+00 ]
[ 9.523809523810E-02 ]
[ -2.579725859545E-01 ]