From da87bae07cc69c87cdf1f6f8e922732c1aa291ca Mon Sep 17 00:00:00 2001 From: carlos-adir Date: Sat, 9 Sep 2023 18:46:16 +0200 Subject: [PATCH] Add basis functions graphs when inserting nodes --- .../basis-functions/insertion025_p3step0.svg | 1685 +++++++++ .../basis-functions/insertion025_p3step1.svg | 2054 +++++++++++ .../basis-functions/insertion025_p3step2.svg | 2436 +++++++++++++ .../basis-functions/insertion025_p3step3.svg | 2766 +++++++++++++++ .../basis-functions/insertion025_p3step4.svg | 3094 ++++++++++++++++ .../img/basis-functions/insertion_p3step0.svg | 1685 +++++++++ .../img/basis-functions/insertion_p3step1.svg | 2059 +++++++++++ .../img/basis-functions/insertion_p3step2.svg | 2447 +++++++++++++ .../img/basis-functions/insertion_p3step3.svg | 2782 +++++++++++++++ .../img/basis-functions/insertion_p3step4.svg | 3109 +++++++++++++++++ docs/source/rst/basisfunction.rst | 224 +- docs/source/rst/theory-integration.rst | 32 +- 12 files changed, 24337 insertions(+), 36 deletions(-) create mode 100644 docs/source/img/basis-functions/insertion025_p3step0.svg create mode 100644 docs/source/img/basis-functions/insertion025_p3step1.svg create mode 100644 docs/source/img/basis-functions/insertion025_p3step2.svg create mode 100644 docs/source/img/basis-functions/insertion025_p3step3.svg create mode 100644 docs/source/img/basis-functions/insertion025_p3step4.svg create mode 100644 docs/source/img/basis-functions/insertion_p3step0.svg create mode 100644 docs/source/img/basis-functions/insertion_p3step1.svg create mode 100644 docs/source/img/basis-functions/insertion_p3step2.svg create mode 100644 docs/source/img/basis-functions/insertion_p3step3.svg create mode 100644 docs/source/img/basis-functions/insertion_p3step4.svg diff --git a/docs/source/img/basis-functions/insertion025_p3step0.svg b/docs/source/img/basis-functions/insertion025_p3step0.svg new file mode 100644 index 0000000..86896e2 --- /dev/null +++ b/docs/source/img/basis-functions/insertion025_p3step0.svg @@ -0,0 +1,1685 @@ + + + + + + + + 2023-09-08T17:02:36.344204 + image/svg+xml + + + Matplotlib v3.7.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/source/img/basis-functions/insertion025_p3step1.svg b/docs/source/img/basis-functions/insertion025_p3step1.svg new file mode 100644 index 0000000..a9c4c97 --- /dev/null +++ b/docs/source/img/basis-functions/insertion025_p3step1.svg @@ -0,0 +1,2054 @@ + + + + + + + + 2023-09-08T17:02:36.900329 + image/svg+xml + + + Matplotlib v3.7.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/source/img/basis-functions/insertion025_p3step2.svg b/docs/source/img/basis-functions/insertion025_p3step2.svg new file mode 100644 index 0000000..5d6666a --- /dev/null +++ b/docs/source/img/basis-functions/insertion025_p3step2.svg @@ -0,0 +1,2436 @@ + + + + + + + + 2023-09-08T17:02:37.648333 + image/svg+xml + + + Matplotlib v3.7.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/source/img/basis-functions/insertion025_p3step3.svg b/docs/source/img/basis-functions/insertion025_p3step3.svg new file mode 100644 index 0000000..a5c3400 --- /dev/null +++ b/docs/source/img/basis-functions/insertion025_p3step3.svg @@ -0,0 +1,2766 @@ + + + + + + + + 2023-09-08T17:02:38.448014 + image/svg+xml + + + Matplotlib v3.7.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/source/img/basis-functions/insertion025_p3step4.svg b/docs/source/img/basis-functions/insertion025_p3step4.svg new file mode 100644 index 0000000..d3318ee --- /dev/null +++ b/docs/source/img/basis-functions/insertion025_p3step4.svg @@ -0,0 +1,3094 @@ + + + + + + + + 2023-09-08T17:02:39.363154 + image/svg+xml + + + Matplotlib v3.7.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/source/img/basis-functions/insertion_p3step0.svg b/docs/source/img/basis-functions/insertion_p3step0.svg new file mode 100644 index 0000000..b429088 --- /dev/null +++ b/docs/source/img/basis-functions/insertion_p3step0.svg @@ -0,0 +1,1685 @@ + + + + + + + + 2023-09-08T16:57:40.670295 + image/svg+xml + + + Matplotlib v3.7.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/source/img/basis-functions/insertion_p3step1.svg b/docs/source/img/basis-functions/insertion_p3step1.svg new file mode 100644 index 0000000..35878d4 --- /dev/null +++ b/docs/source/img/basis-functions/insertion_p3step1.svg @@ -0,0 +1,2059 @@ + + + + + + + + 2023-09-08T16:57:41.453315 + image/svg+xml + + + Matplotlib v3.7.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/source/img/basis-functions/insertion_p3step2.svg b/docs/source/img/basis-functions/insertion_p3step2.svg new file mode 100644 index 0000000..a66b688 --- /dev/null +++ b/docs/source/img/basis-functions/insertion_p3step2.svg @@ -0,0 +1,2447 @@ + + + + + + + + 2023-09-08T16:57:42.250783 + image/svg+xml + + + Matplotlib v3.7.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/source/img/basis-functions/insertion_p3step3.svg b/docs/source/img/basis-functions/insertion_p3step3.svg new file mode 100644 index 0000000..d282b81 --- /dev/null +++ b/docs/source/img/basis-functions/insertion_p3step3.svg @@ -0,0 +1,2782 @@ + + + + + + + + 2023-09-08T16:57:42.962860 + image/svg+xml + + + Matplotlib v3.7.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/source/img/basis-functions/insertion_p3step4.svg b/docs/source/img/basis-functions/insertion_p3step4.svg new file mode 100644 index 0000000..1012409 --- /dev/null +++ b/docs/source/img/basis-functions/insertion_p3step4.svg @@ -0,0 +1,3109 @@ + + + + + + + + 2023-09-08T16:57:43.783680 + image/svg+xml + + + Matplotlib v3.7.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/source/rst/basisfunction.rst b/docs/source/rst/basisfunction.rst index de8965b..604edd1 100644 --- a/docs/source/rst/basisfunction.rst +++ b/docs/source/rst/basisfunction.rst @@ -70,7 +70,7 @@ Although above the function :math:`B_{i,p}(u)` is described only by :math:`p`, b .. image:: ../img/basis-functions/bezier-basisfunction-p1.svg :width: 100 % - :alt: Basis functions for bezier of degree 1 + :alt: Uniform basis functions for bezier of degree 1 :align: center .. dropdown:: Basis functions for degree :math:`p=2` @@ -189,55 +189,55 @@ Use example -.. dropdown:: Basis functions for degree :math:`p=0` and :math:`\text{npts}=6` +.. dropdown:: Uniform basis functions for degree :math:`p=0` and :math:`\text{npts}=6` .. math:: \mathbf{U} = \left(0, \ \dfrac{1}{6}, \ \dfrac{2}{6}, \ \dfrac{3}{6}, \ \dfrac{4}{6}, \ \dfrac{5}{6}, \ 1\right) .. image:: ../img/basis-functions/splines-basisfunction-p0n6.svg :width: 100 % - :alt: Basis functions for splines of degree 0 + :alt: Uniform basis functions for splines of degree 0 :align: center -.. dropdown:: Basis functions for degree :math:`p=1` and :math:`\text{npts}=6` +.. dropdown:: Uniform basis functions for degree :math:`p=1` and :math:`\text{npts}=6` .. math:: \mathbf{U} = \left(0, \ 0, \ \dfrac{1}{5}, \ \dfrac{2}{5}, \ \dfrac{3}{5}, \ \dfrac{4}{5}\ 1, \ 1 \right) .. image:: ../img/basis-functions/splines-basisfunction-p1n6.svg :width: 100 % - :alt: Basis functions for splines of degree 1 + :alt: Uniform basis functions for splines of degree 1 :align: center -.. dropdown:: Basis functions for degree :math:`p=2` and :math:`\text{npts}=6` +.. dropdown:: Uniform basis functions for degree :math:`p=2` and :math:`\text{npts}=6` .. math:: \mathbf{U} = \left(0, \ 0, \ 0, \ \dfrac{1}{4}, \ \dfrac{2}{4}, \ \dfrac{3}{4}, \ 1, \ 1, \ 1 \right) .. image:: ../img/basis-functions/splines-basisfunction-p2n6.svg :width: 100 % - :alt: Basis functions for splines of degree 2 + :alt: Uniform basis functions for splines of degree 2 :align: center -.. dropdown:: Basis functions for degree :math:`p=3` and :math:`\text{npts}=6` +.. dropdown:: Uniform basis functions for degree :math:`p=3` and :math:`\text{npts}=6` .. math:: \mathbf{U} = \left(0, \ 0, \ 0, \ 0, \ \dfrac{1}{3}, \ \dfrac{2}{3}, \ 1, \ 1, \ 1, \ 1 \right) .. image:: ../img/basis-functions/splines-basisfunction-p3n6.svg :width: 100 % - :alt: Basis functions for splines of degree 3 + :alt: Uniform basis functions for splines of degree 3 :align: center -.. dropdown:: Basis functions for degree :math:`p=4` and :math:`\text{npts}=6` +.. dropdown:: Uniform basis functions for degree :math:`p=4` and :math:`\text{npts}=6` .. math:: \mathbf{U} = \left(0, \ 0, \ 0, \ 0, \ 0, \ \dfrac{1}{2}, \ 1, \ 1, \ 1, \ 1, \ 1 \right) .. image:: ../img/basis-functions/splines-basisfunction-p4n6.svg :width: 100 % - :alt: Basis functions for splines of degree 4 + :alt: Uniform basis functions for splines of degree 4 :align: center .. dropdown:: Code to generate all the spline basis functions @@ -318,7 +318,7 @@ Use example -.. dropdown:: Basis functions for degree :math:`p=0` and :math:`\text{npts}=6` +.. dropdown:: Uniform basis functions for degree :math:`p=0` and :math:`\text{npts}=6` .. math:: \mathbf{U} = \left(0, \ \dfrac{1}{6}, \ \dfrac{2}{6}, \ \dfrac{3}{6}, \ \dfrac{4}{6}, \ \dfrac{5}{6}, \ 1\right) @@ -328,10 +328,10 @@ Use example .. image:: ../img/basis-functions/rational-basisfunction-p0n6.svg :width: 100 % - :alt: Basis functions for rational splines of degree 0 + :alt: Uniform basis functions for rational splines of degree 0 :align: center -.. dropdown:: Basis functions for degree :math:`p=1` and :math:`\text{npts}=6` +.. dropdown:: Uniform basis functions for degree :math:`p=1` and :math:`\text{npts}=6` .. math:: \mathbf{U} = \left(0, \ 0, \ \dfrac{1}{5}, \ \dfrac{2}{5}, \ \dfrac{3}{5}, \ \dfrac{4}{5}\ 1, \ 1 \right) @@ -341,10 +341,10 @@ Use example .. image:: ../img/basis-functions/rational-basisfunction-p1n6.svg :width: 100 % - :alt: Basis functions for rational splines of degree 1 + :alt: Uniform basis functions for rational splines of degree 1 :align: center -.. dropdown:: Basis functions for degree :math:`p=2` and :math:`\text{npts}=6` +.. dropdown:: Uniform basis functions for degree :math:`p=2` and :math:`\text{npts}=6` .. math:: \mathbf{U} = \left(0, \ 0, \ 0, \ \dfrac{1}{4}, \ \dfrac{2}{4}, \ \dfrac{3}{4}, \ 1, \ 1, \ 1 \right) @@ -354,10 +354,10 @@ Use example .. image:: ../img/basis-functions/rational-basisfunction-p2n6.svg :width: 100 % - :alt: Basis functions for splines of degree 2 + :alt: Uniform basis functions for splines of degree 2 :align: center -.. dropdown:: Basis functions for degree :math:`p=3` and :math:`\text{npts}=6` +.. dropdown:: Uniform basis functions for degree :math:`p=3` and :math:`\text{npts}=6` .. math:: \mathbf{U} = \left(0, \ 0, \ 0, \ 0, \ \dfrac{1}{3}, \ \dfrac{2}{3}, \ 1, \ 1, \ 1, \ 1 \right) @@ -367,11 +367,11 @@ Use example .. image:: ../img/basis-functions/rational-basisfunction-p3n6.svg :width: 100 % - :alt: Basis functions for rational splines of degree 3 + :alt: Uniform basis functions for rational splines of degree 3 :align: center -.. dropdown:: Basis functions for degree :math:`p=4` and :math:`\text{npts}=6` +.. dropdown:: Uniform basis functions for degree :math:`p=4` and :math:`\text{npts}=6` .. math:: \mathbf{U} = \left(0, \ 0, \ 0, \ 0, \ 0, \ \dfrac{1}{2}, \ 1, \ 1, \ 1, \ 1, \ 1 \right) @@ -381,7 +381,7 @@ Use example .. image:: ../img/basis-functions/rational-basisfunction-p4n6.svg :width: 100 % - :alt: Basis functions for rational splines of degree 4 + :alt: Uniform basis functions for rational splines of degree 4 :align: center .. dropdown:: Code to generate all the rational spline basis functions @@ -419,3 +419,185 @@ Use example ax.grid() fig.tight_layout() plt.savefig("rational-basisfunction-p%dn%d.svg"%(degree, nptsmax)) + + + +----------------------------------------------------------------------- + +----------------------------- +Inserting knots in knotvector +----------------------------- + +We get an specific case and start inserting knots at center to see what happens with the basis functions + +We start with the bezier of degree 3 + +.. math:: + \mathbf{U} = \left(0, \ 0, \ 0, \ 0, \ 1, \ 1, \ 1, \ 1 \right) + +.. image:: ../img/basis-functions/insertion_p3step0.svg + :width: 100 % + :alt: Initial basis functions of test + :align: center + + +.. math:: + \mathbf{U} = \left(0, \ 0, \ 0, \ 0, \ 0.5, \ 1, \ 1, \ 1, \ 1 \right) + +.. image:: ../img/basis-functions/insertion_p3step1.svg + :width: 100 % + :alt: Initial basis functions of test + :align: center + + +.. math:: + \mathbf{U} = \left(0, \ 0, \ 0, \ 0, \ 0.5,\ 0.5, \ 1, \ 1, \ 1, \ 1 \right) + +.. image:: ../img/basis-functions/insertion_p3step2.svg + :width: 100 % + :alt: Initial basis functions of test + :align: center + + +.. math:: + \mathbf{U} = \left(0, \ 0, \ 0, \ 0, \ 0.5,\ 0.5, \ 0.5, \ 1, \ 1, \ 1, \ 1 \right) + +.. image:: ../img/basis-functions/insertion_p3step3.svg + :width: 100 % + :alt: Initial basis functions of test + :align: center + +.. math:: + \mathbf{U} = \left(0, \ 0, \ 0, \ 0, \ 0.5, \ 0.5,\ 0.5, \ 0.5, \ 1, \ 1, \ 1, \ 1 \right) + +.. image:: ../img/basis-functions/insertion_p3step4.svg + :width: 100 % + :alt: Initial basis functions of test + :align: center + + +.. dropdown:: Code to plot + + + .. code-block:: python + + import numpy as np + from matplotlib import pyplot as plt + from compmec.nurbs import GeneratorKnotVector, Function + + prop_cycle = plt.rcParams['axes.prop_cycle'] + colors = prop_cycle.by_key()['color'] + uplot = np.linspace(0, 1, 1029) + + knotvector = GeneratorKnotVector.bezier(3) + knots_insert = [0.5, 0.5, 0.5, 0.5, 0.75] + for k, knot in enumerate(knots_insert): + nfigsx = knotvector.npts + sizex = nfigsx*4 + sizey = 3 + fig, axs = plt.subplots(1, nfigsx, figsize=(sizex,sizey)) + function = Function(knotvector) + allvalues = function(uplot) + for i, values in enumerate(allvalues): + label = r"$N_{%d,%d}$"%(i,knotvector.degree) + color = colors[i] + ax = axs[i] + ax.plot(uplot, values, label=label, linewidth=3,color=color) + ax.set_xlim(-0.1, 1.1) + ax.set_ylim(-0.1, 1.1) + ax.legend() + ax.grid() + fig.tight_layout() + plt.savefig("insertion_p%dstep%d.svg"%(knotvector.degree, k)) + knotvector.insert([knot]) + +----------------------------------------------------------------------- + +------------------- +Non uniform splines +------------------- + +This section shows the basis function when the knotvector is not uniform. + +We do it by inserting the knot :math:`0.25` many times by starting with a bezier curve of degree 3 + + + +.. math:: + \mathbf{U} = \left(0, \ 0, \ 0, \ 0, \ 1, \ 1, \ 1, \ 1 \right) + +.. image:: ../img/basis-functions/insertion025_p3step0.svg + :width: 100 % + :alt: Initial basis functions of test + :align: center + + +.. math:: + \mathbf{U} = \left(0, \ 0, \ 0, \ 0, \ 0.25, \ 1, \ 1, \ 1, \ 1 \right) + +.. image:: ../img/basis-functions/insertion025_p3step1.svg + :width: 100 % + :alt: Initial basis functions of test + :align: center + + +.. math:: + \mathbf{U} = \left(0, \ 0, \ 0, \ 0, \ 0.25,\ 0.25, \ 1, \ 1, \ 1, \ 1 \right) + +.. image:: ../img/basis-functions/insertion025_p3step2.svg + :width: 100 % + :alt: Initial basis functions of test + :align: center + + +.. math:: + \mathbf{U} = \left(0, \ 0, \ 0, \ 0, \ 0.25,\ 0.25, \ 0.25, \ 1, \ 1, \ 1, \ 1 \right) + +.. image:: ../img/basis-functions/insertion025_p3step3.svg + :width: 100 % + :alt: Initial basis functions of test + :align: center + +.. math:: + \mathbf{U} = \left(0, \ 0, \ 0, \ 0, \ 0.25, \ 0.25,\ 0.25, \ 0.25, \ 1, \ 1, \ 1, \ 1 \right) + +.. image:: ../img/basis-functions/insertion025_p3step4.svg + :width: 100 % + :alt: Initial basis functions of test + :align: center + + +.. dropdown:: Code to plot + + + .. code-block:: python + + import numpy as np + from matplotlib import pyplot as plt + from compmec.nurbs import GeneratorKnotVector, Function + + prop_cycle = plt.rcParams['axes.prop_cycle'] + colors = prop_cycle.by_key()['color'] + uplot = np.linspace(0, 1, 1029) + + knotvector = GeneratorKnotVector.bezier(3) + knots_insert = [0.25, 0.25, 0.25, 0.25, 0.75] + for k, knot in enumerate(knots_insert): + nfigsx = knotvector.npts + sizex = nfigsx*4 + sizey = 3 + fig, axs = plt.subplots(1, nfigsx, figsize=(sizex,sizey)) + function = Function(knotvector) + allvalues = function(uplot) + for i, values in enumerate(allvalues): + label = r"$N_{%d,%d}$"%(i,knotvector.degree) + color = colors[i] + ax = axs[i] + ax.plot(uplot, values, label=label, linewidth=3,color=color) + ax.set_xlim(-0.1, 1.1) + ax.set_ylim(-0.1, 1.1) + ax.legend() + ax.grid() + fig.tight_layout() + plt.savefig("insertion025_p%dstep%d.svg"%(knotvector.degree, k)) + knotvector.insert([knot]) \ No newline at end of file diff --git a/docs/source/rst/theory-integration.rst b/docs/source/rst/theory-integration.rst index 787698c..2130be6 100644 --- a/docs/source/rst/theory-integration.rst +++ b/docs/source/rst/theory-integration.rst @@ -41,7 +41,7 @@ Although the polynomials are not described in canonical base, the values :math:` Integrator array ================ -The integral over :math:`\left[\bar{u}_j, \ \bar{u}_{j+1}\right]` can be transformed to an equivalent integral on :math:`\left[-1, \ 1\right]` by variable transformation. So we present the method for integrating in :math:`\left[-1, \ 1\right]` +The integral over :math:`\left[\bar{u}_j, \ \bar{u}_{j+1}\right]` can be transformed to an equivalent integral on :math:`\left[0, \ 1\right]` by variable transformation. So we present the method for integrating in :math:`\left[0, \ 1\right]` Almost all methods are the same: transforms the integral as a sum of :math:`q` weights :math:`w_k` multiplied by function evaluation at specific nodes :math:`v_k` @@ -57,15 +57,15 @@ We call the **Integrator array** instead of weights because it can confuse with Closed Newton cotes ------------------- -The closed newton cotes formula states that :math:`v_k` are equally spaced points including the boundary :math:`\left[-1, 1\right]` +The closed newton cotes formula states that :math:`v_k` are equally spaced points including the boundary :math:`\left[0, 1\right]` .. math:: - v_k = -1 + \dfrac{2k}{q-1} + v_k = \dfrac{k}{q-1} \ \ \ \forall k = 0, \ 1, \ \cdots, \ q-1 .. math:: \int_{\bar{u}_j}^{\bar{u}_{j+1}} f(u) \ du = \sum_{k = 0}^{q-1} w_k \cdot f(v_k) -.. list-table:: Nodes and weights for closed-newton-cotes in :math:`\left[-1, 1\right]` +.. list-table:: Nodes and weights for closed-newton-cotes in :math:`\left[0, 1\right]` :widths: 20 20 20 :header-rows: 1 :align: center @@ -74,14 +74,14 @@ The closed newton cotes formula states that :math:`v_k` are equally spaced point - Nodes :math:`v_k` - Weights :math:`w_k` * - :math:`2` - - :math:`-1`, :math:`1` + - :math:`0`, :math:`1` - :math:`1`, :math:`1` * - :math:`3` - - :math:`-1`, :math:`0`, :math:`1` - - :math:`\dfrac{1}{3}`, :math:`\dfrac{4}{3}`, :math:`\dfrac{1}{3}` + - :math:`0`, :math:`\dfrac{1}{2}`, :math:`1` + - :math:`\dfrac{1}{6}`, :math:`\dfrac{2}{3}`, :math:`\dfrac{1}{6}` * - :math:`4` - - :math:`-1`, :math:`\dfrac{-1}{3}`, :math:`\dfrac{1}{3}`, :math:`1` - - :math:`\dfrac{1}{4}`, :math:`\dfrac{3}{4}`, :math:`\dfrac{3}{4}`, :math:`\dfrac{1}{4}` + - :math:`0`, :math:`\dfrac{1}{3}`, :math:`\dfrac{2}{3}`, :math:`1` + - :math:`\dfrac{1}{8}`, :math:`\dfrac{3}{8}`, :math:`\dfrac{3}{8}`, :math:`\dfrac{1}{8}` The code bellow is an algorithm that uses ``sympy`` to compute the **integrator array** (called as ``weights``) from given nodes. That code can be used for other formulas like **Open Newton Cotes**. @@ -106,7 +106,7 @@ The code bellow is an algorithm that uses ``sympy`` to compute the **integrator return weights # Closed newton cotes - a, b = -1, 1 + a, b = 0, 1 print("Closed newton cotes") for q in range(2, 5): print(f"For q = {q}") @@ -144,13 +144,13 @@ The nodes and weights are in the table bellow and can be obtained by ``numpy`` ( - Weights :math:`w_k` * - :math:`1` - :math:`0` - - :math:`2` + - :math:`1` * - :math:`2` - - :math:`-\dfrac{1}{\sqrt{3}}`, :math:`\dfrac{1}{\sqrt{3}}` - - :math:`1`, :math:`1` + - :math:`\dfrac{1}{2}\left(1-\dfrac{1}{\sqrt{3}}\right)`, :math:`\dfrac{1}{2}\left(1+\dfrac{1}{\sqrt{3}}\right)` + - :math:`\dfrac{1}{2}`, :math:`\dfrac{1}{2}` * - :math:`3` - - :math:`-\sqrt{\dfrac{3}{5}}`, :math:`0`, :math:`\sqrt{\dfrac{3}{5}}` - - :math:`\dfrac{5}{9}`, :math:`\dfrac{8}{9}`, :math:`\dfrac{5}{9}` + - :math:`\dfrac{1}{2}\left(1-\sqrt{\dfrac{3}{5}}\right)`, :math:`\dfrac{1}{2}`, :math:`\dfrac{1}{2}\left(1+\sqrt{\dfrac{3}{5}}\right)` + - :math:`\dfrac{5}{18}`, :math:`\dfrac{4}{9}`, :math:`\dfrac{5}{18}` The python code bellow finds the **nodes** and the **integrator array** (``weights``) @@ -160,6 +160,8 @@ The python code bellow finds the **nodes** and the **integrator array** (``weigh for q in range(1, 4): nodes, weights = np.polynomial.legendre.leggauss(q) + nodes = (1+nodes)/2 + weights /= 2 print(" nodes = ", nodes) print("weights = ", weights)