diff --git a/doc-images/plots/generation/fit-loose-all.svg b/doc-images/plots/generation/fit-loose-all.svg index f01cb39..0866354 100644 --- a/doc-images/plots/generation/fit-loose-all.svg +++ b/doc-images/plots/generation/fit-loose-all.svg @@ -1,5 +1,5 @@ - + diff --git a/doc-images/plots/generation/fit-loose-half-penalized.svg b/doc-images/plots/generation/fit-loose-half-penalized.svg index e64e897..96e5fae 100644 --- a/doc-images/plots/generation/fit-loose-half-penalized.svg +++ b/doc-images/plots/generation/fit-loose-half-penalized.svg @@ -1,5 +1,5 @@ - + diff --git a/doc-images/plots/generation/fit-loose-half.svg b/doc-images/plots/generation/fit-loose-half.svg index 8e82574..9641ffa 100644 --- a/doc-images/plots/generation/fit-loose-half.svg +++ b/doc-images/plots/generation/fit-loose-half.svg @@ -1,5 +1,5 @@ - + diff --git a/doc-images/plots/generation/interpolation.svg b/doc-images/plots/generation/interpolation.svg index f01cb39..0866354 100644 --- a/doc-images/plots/generation/interpolation.svg +++ b/doc-images/plots/generation/interpolation.svg @@ -1,5 +1,5 @@ - + diff --git a/doc-images/plots/generation/manual.svg b/doc-images/plots/generation/manual.svg index 07c6fb1..20f990c 100644 --- a/doc-images/plots/generation/manual.svg +++ b/doc-images/plots/generation/manual.svg @@ -1,5 +1,5 @@ - + diff --git a/doc-images/plots/generation/points.svg b/doc-images/plots/generation/points.svg index dcad6b5..4a859c6 100644 --- a/doc-images/plots/generation/points.svg +++ b/doc-images/plots/generation/points.svg @@ -1,5 +1,5 @@ - + diff --git a/doc-images/plots/manipulation/insert-after.svg b/doc-images/plots/manipulation/insert-after.svg index 96ed282..1124ac7 100644 --- a/doc-images/plots/manipulation/insert-after.svg +++ b/doc-images/plots/manipulation/insert-after.svg @@ -1,5 +1,5 @@ - + diff --git a/doc-images/plots/manipulation/insert-before.svg b/doc-images/plots/manipulation/insert-before.svg index b5251d1..4991531 100644 --- a/doc-images/plots/manipulation/insert-before.svg +++ b/doc-images/plots/manipulation/insert-before.svg @@ -1,5 +1,5 @@ - + diff --git a/doc-images/plots/manipulation/merge-after-left-end-constrained.svg b/doc-images/plots/manipulation/merge-after-left-end-constrained.svg index d68a93d..ebd2c95 100644 --- a/doc-images/plots/manipulation/merge-after-left-end-constrained.svg +++ b/doc-images/plots/manipulation/merge-after-left-end-constrained.svg @@ -1,5 +1,5 @@ - + diff --git a/doc-images/plots/manipulation/merge-after-right-start-constrained.svg b/doc-images/plots/manipulation/merge-after-right-start-constrained.svg index f5f5189..86ce4d0 100644 --- a/doc-images/plots/manipulation/merge-after-right-start-constrained.svg +++ b/doc-images/plots/manipulation/merge-after-right-start-constrained.svg @@ -1,5 +1,5 @@ - + diff --git a/doc-images/plots/manipulation/merge-after.svg b/doc-images/plots/manipulation/merge-after.svg index b0909a9..f6ebd34 100644 --- a/doc-images/plots/manipulation/merge-after.svg +++ b/doc-images/plots/manipulation/merge-after.svg @@ -1,5 +1,5 @@ - + diff --git a/doc-images/plots/manipulation/merge-before.svg b/doc-images/plots/manipulation/merge-before.svg index 49d770d..53641dc 100644 --- a/doc-images/plots/manipulation/merge-before.svg +++ b/doc-images/plots/manipulation/merge-before.svg @@ -1,5 +1,5 @@ - + diff --git a/doc-images/plots/manipulation/reverse-after.svg b/doc-images/plots/manipulation/reverse-after.svg index aefdcdc..8ddccf0 100644 --- a/doc-images/plots/manipulation/reverse-after.svg +++ b/doc-images/plots/manipulation/reverse-after.svg @@ -1,5 +1,5 @@ - + diff --git a/doc-images/plots/manipulation/reverse-before.svg b/doc-images/plots/manipulation/reverse-before.svg index b5251d1..4991531 100644 --- a/doc-images/plots/manipulation/reverse-before.svg +++ b/doc-images/plots/manipulation/reverse-before.svg @@ -1,5 +1,5 @@ - + diff --git a/doc-images/plots/manipulation/split-after.svg b/doc-images/plots/manipulation/split-after.svg index d021d91..4bd257b 100644 --- a/doc-images/plots/manipulation/split-after.svg +++ b/doc-images/plots/manipulation/split-after.svg @@ -1,5 +1,5 @@ - + diff --git a/doc-images/plots/manipulation/split-before.svg b/doc-images/plots/manipulation/split-before.svg index 16d222d..a54ae77 100644 --- a/doc-images/plots/manipulation/split-before.svg +++ b/doc-images/plots/manipulation/split-before.svg @@ -1,5 +1,5 @@ - + diff --git a/doc-images/src/visualization.rs b/doc-images/src/visualization.rs index a4df797..12853c3 100644 --- a/doc-images/src/visualization.rs +++ b/doc-images/src/visualization.rs @@ -135,7 +135,7 @@ pub fn generate_2d_plot(filename: &str, splines: Vec<(&Curve, RGBAColor)>, limit let mut path = String::from(PLOTS_DIR); path.push_str(filename); let area = SVGBackend::new(&path, IMG_SIZE).into_drawing_area(); - area.fill(&RGBAColor(255, 255, 255, 0.85)).unwrap(); + area.fill(&RGBAColor(255, 255, 255, 0.81)).unwrap(); // Matches the font color in docs.rs dark mode let mut chart_builder = ChartBuilder::on(&area); chart_builder.margin(10).set_left_and_bottom_label_area_size(20); diff --git a/src/curve/generation/mod.rs b/src/curve/generation/mod.rs index 75a6467..11fa6ee 100644 --- a/src/curve/generation/mod.rs +++ b/src/curve/generation/mod.rs @@ -16,14 +16,13 @@ doc = ::embed_doc_image::embed_image!("fit-loose-half-penalized", "doc-images/pl //! - fixed start and end points //! - unpenalized/penalized //! -//! //! | Raw Data | Manual Control Polygon | Interpolation | -//! |:------------------------------|:--------------------------|:--------------------------| -//! | ![][points] | ![][manual] | ![][interpolation] | -//! | Scattered, 2-dimensional data points
(`N = 18`).

| Curve of degree `p = 2` with `n = N-1`
segments and control points generated
directly from the data points. | Curve of degree `p = 2` and `n = N-1`
segments interpolating the data points.

| -//! |
| | -//! | Least-Squares Fit | Least-Squares Fit | Penalized Least-Squares Fit | -//! | ![][fit-loose-all] | ![][fit-loose-half] | ![][fit-loose-half-penalized] | +//! |:------------|:------------|:-------------------| +//! | ![][points] | ![][manual] | ![][interpolation] | +//! | Scattered, 2-dimensional data points
(`N = 18`).

| Curve of degree `p = 2` with `n = N-1`
segments and control points generated
directly from the data points. | Curve of degree `p = 2` and `n = N-1`
segments interpolating the data points.

| +//! | | | +//! | Least-Squares Fit ( ≈ Interpolation) | Approximating Least-Squares Fit | Penalized Least-Squares Fit | +//! | ![][fit-loose-all] | ![][fit-loose-half] | ![][fit-loose-half-penalized] | //! | Curve of degree `p = 2` with `n = N-1`
segments approximating the data points.
| Curve of degree `p = 2` with `n= N/3`
segments approximating the data points.
| Curve of degree `p = 2` with `n= N/3`
segments approximating the data
points penalized with `λ = 1`, `κ = 2`. | use crate::curve::{