Quiver 3D
Examples
- Plot 3-dimensional vector field with given data.
::
let data = linspace(-3.0, 3.0, num:13)
let (X, Y, Z) = meshgrid(data, data, {x:Float64, y:Float64 => pow(y, 2.0) - pow(x, 2.0)})
quiver3(Z, U, V, W, scale: 5.0)
view(-35.0, 45.0)
Result:
.. image:: ../../../tests/imgs/quiver3d/quiver3d_1.png :align: center :width: 360
- Plot 3-dimensional vector field with normalized vectors and custom line width.
::
let sz = x.size()
let u = empty<Float64>(sz)
let v = empty<Float64>(sz)
let w = empty<Float64>(sz)
let m = empty<Float64>(sz)
for (i in 0..sz) {
let t = exp(-pow(x[i], 2.0) - pow(y[i], 2.0) - pow(z[i], 2.0))
u[i] = x[i] * t
v[i] = y[i] * t
w[i] = z[i] * t
m[i] = sqrt(x[i] * x[i] + y[i] * y[i] + z[i] * z[i])
}
quiver3(x, y, z, u, v, w, m).normalize(true).line_width(2.0)
Result:
.. image:: ../../../tests/imgs/quiver3d/quiver3d_2.png :align: center :width: 360