[][src]Function helixiser::diffraction_analytic::diff_analytic

pub fn diff_analytic(
    helices: Vec<Helix>,
    n_range: u8,
    m_range: u8,
    scale: f64,
    raster_size: u32
) -> Vec<f64>

Computes Analytic diffraction pattern for helix object

returns a vector, with values in order (R,G,B,A) and then next pixel etc.

use helixiser::helix::{ Helix, Handedness };
use helixiser::diffraction_analytic::diff_analytic;

let strand_1 = Helix {
        radius: 1.,
        rise: 0.34,
        frequency: 10.,
        unit_size: 0.18,
        offset: 0.,
        rotation: 0.,
        handedness: Handedness::Right,
};

let strand_2 = Helix {
       rotation: 143.,
        ..strand_1  // copy remaining fields over from strand 1
};
//image as RGBA vector will be 512x512x4 (height x width x RGBA)elements
let image_as_RGBA_vector: Vec<f64> = diff_analytic(vec![strand_1, strand_2], 6, 2, 0.01, 512);