Finding B-spline for space spanned by Multi-dimensional Spline.












0














It's known that a B-spline of degree $p$ , $B_j^p(x)$ is completely determined by a knot vector $(u_j,u_{j+1},...,u_{j+p+1})$.



One could define it as:
$B_j^p(x)=[u_j,u_{j+1},...,u_{j+p+1}](cdot - x)^p_+$ where $[u_j,u_{j+1},...,u_{j+p+1}]f$ denotes the (p+1)-th divided difference of f in the points ${u_l}_{l=j}^{j+p+1}$.



Furthermore consider a Multi-dimensional B-spline (of dimension r) as the "union" of sets of B-splines with different quantities of internal knots.



For example:
Consider a B-spline of 3-rd degree in the interval $[0,1]$ with one internal knot $0,5$:
enter image description here



Now consider a B-spline of 3-rd degree in the interval $[0,1]$ with two internal knots $(1/3,2/3)$:enter image description here



The Multi-dimensional B-spline with internal knots $(0.333,0.5,0.666)$ would be:
enter image description here



But the problem is that this Multi-dimensional B-spline is not actually a B-spline, if we construct a B-spline with internal knots at $(0.333,0.5,0.666)$ the result is quite different.




Because of that my question is: Is it possible to construct a B-spline spanning the space $Omega$ spanned by the "Multi-dimensional B-spline"?




Any hint,suggestion,etc, will be greatly appreciated.










share|cite|improve this question



























    0














    It's known that a B-spline of degree $p$ , $B_j^p(x)$ is completely determined by a knot vector $(u_j,u_{j+1},...,u_{j+p+1})$.



    One could define it as:
    $B_j^p(x)=[u_j,u_{j+1},...,u_{j+p+1}](cdot - x)^p_+$ where $[u_j,u_{j+1},...,u_{j+p+1}]f$ denotes the (p+1)-th divided difference of f in the points ${u_l}_{l=j}^{j+p+1}$.



    Furthermore consider a Multi-dimensional B-spline (of dimension r) as the "union" of sets of B-splines with different quantities of internal knots.



    For example:
    Consider a B-spline of 3-rd degree in the interval $[0,1]$ with one internal knot $0,5$:
    enter image description here



    Now consider a B-spline of 3-rd degree in the interval $[0,1]$ with two internal knots $(1/3,2/3)$:enter image description here



    The Multi-dimensional B-spline with internal knots $(0.333,0.5,0.666)$ would be:
    enter image description here



    But the problem is that this Multi-dimensional B-spline is not actually a B-spline, if we construct a B-spline with internal knots at $(0.333,0.5,0.666)$ the result is quite different.




    Because of that my question is: Is it possible to construct a B-spline spanning the space $Omega$ spanned by the "Multi-dimensional B-spline"?




    Any hint,suggestion,etc, will be greatly appreciated.










    share|cite|improve this question

























      0












      0








      0







      It's known that a B-spline of degree $p$ , $B_j^p(x)$ is completely determined by a knot vector $(u_j,u_{j+1},...,u_{j+p+1})$.



      One could define it as:
      $B_j^p(x)=[u_j,u_{j+1},...,u_{j+p+1}](cdot - x)^p_+$ where $[u_j,u_{j+1},...,u_{j+p+1}]f$ denotes the (p+1)-th divided difference of f in the points ${u_l}_{l=j}^{j+p+1}$.



      Furthermore consider a Multi-dimensional B-spline (of dimension r) as the "union" of sets of B-splines with different quantities of internal knots.



      For example:
      Consider a B-spline of 3-rd degree in the interval $[0,1]$ with one internal knot $0,5$:
      enter image description here



      Now consider a B-spline of 3-rd degree in the interval $[0,1]$ with two internal knots $(1/3,2/3)$:enter image description here



      The Multi-dimensional B-spline with internal knots $(0.333,0.5,0.666)$ would be:
      enter image description here



      But the problem is that this Multi-dimensional B-spline is not actually a B-spline, if we construct a B-spline with internal knots at $(0.333,0.5,0.666)$ the result is quite different.




      Because of that my question is: Is it possible to construct a B-spline spanning the space $Omega$ spanned by the "Multi-dimensional B-spline"?




      Any hint,suggestion,etc, will be greatly appreciated.










      share|cite|improve this question













      It's known that a B-spline of degree $p$ , $B_j^p(x)$ is completely determined by a knot vector $(u_j,u_{j+1},...,u_{j+p+1})$.



      One could define it as:
      $B_j^p(x)=[u_j,u_{j+1},...,u_{j+p+1}](cdot - x)^p_+$ where $[u_j,u_{j+1},...,u_{j+p+1}]f$ denotes the (p+1)-th divided difference of f in the points ${u_l}_{l=j}^{j+p+1}$.



      Furthermore consider a Multi-dimensional B-spline (of dimension r) as the "union" of sets of B-splines with different quantities of internal knots.



      For example:
      Consider a B-spline of 3-rd degree in the interval $[0,1]$ with one internal knot $0,5$:
      enter image description here



      Now consider a B-spline of 3-rd degree in the interval $[0,1]$ with two internal knots $(1/3,2/3)$:enter image description here



      The Multi-dimensional B-spline with internal knots $(0.333,0.5,0.666)$ would be:
      enter image description here



      But the problem is that this Multi-dimensional B-spline is not actually a B-spline, if we construct a B-spline with internal knots at $(0.333,0.5,0.666)$ the result is quite different.




      Because of that my question is: Is it possible to construct a B-spline spanning the space $Omega$ spanned by the "Multi-dimensional B-spline"?




      Any hint,suggestion,etc, will be greatly appreciated.







      linear-algebra vector-spaces change-of-basis spline






      share|cite|improve this question













      share|cite|improve this question











      share|cite|improve this question




      share|cite|improve this question










      asked Dec 5 '18 at 11:08









      Ramiro ScorolliRamiro Scorolli

      655113




      655113






















          2 Answers
          2






          active

          oldest

          votes


















          1














          As long as the degrees agree, you can just take the B-spline basis with that degree and a knot vector consisting of the same knots as the individual bases. The multiplicity of each know must be the same as its multiplicity in that of the individual bases where the knot has the largest multiplicity.



          E.g. if the individual ones were ${0,0,0,0,1/4,1/2,1,1,1,1}$ and ${0,0,0,0,1/3,1/2,1,1,1,1}$, then $1/2$ should only be included with multiplicty one, even though it appears in both of the original knot vectors. I.e. you need ${0,0,0,0,1/4,1/3,1/2,1,1,1,1}$.






          share|cite|improve this answer





















          • Okey, it makes sense, since I don't want the function to be "less smooth" and hence I have to keep multiplicity of knots at a low level
            – Ramiro Scorolli
            Dec 6 '18 at 7:52










          • Anyway, is there some way to formally prove this result?
            – Ramiro Scorolli
            Dec 6 '18 at 7:53



















          1














          Given two B-spline curves of different degrees and different knot vectors, you can always use degree elevation and knot insertion to "unify" the degree and the knot vector (i.e., making the two curves having the same degree and sane knot vector) without changing the curve's shape. This is an essential step for constructing a B-spline surface from multiple B-spline curves using a technique called "lofting".



          Please note that superimposing the basis function graphs of two B-spline curves will not give you the new basis function graph for the "unified" B-spline curve. In fact, the superimposed basis functions will not be valid basis functions for B-spline curve at all as the "partition of unity" property is no longer true.






          share|cite|improve this answer























          • The last paragraph was very informative, and would like to point out that actually when you said "given two splines of different degree and knots", I am actually considering b splines of the same degree, just the knot vector changes. I am aware that the result of "unifying" b splines is not a b spline that's why I am trying to find a b spline spanning the space spanned by the "unified" spline (making abuse of the term). I was told in a previous answer that I should consider the b spline with knots equal to those of the unified version, is it ok for you?
            – Ramiro Scorolli
            Dec 10 '18 at 7:42










          • @OP: Your definition of "multi-dimensional B-spline" from superimpositing the basis functions of two same-degree B-spline curves of different knot vectors is not a valid definition as the result is not a "B-spline curve" at all. You still can call it a "spline", but it is definitely not a "B-spline" anymore. If you want to "unify" two B-spline curves (my definition, not your), it is OK for the two B-spline curves to have the same degree. I am just saying that even if they are of different degree, they still can be unified.
            – fang
            Dec 10 '18 at 18:37













          Your Answer





          StackExchange.ifUsing("editor", function () {
          return StackExchange.using("mathjaxEditing", function () {
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
          });
          });
          }, "mathjax-editing");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "69"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          noCode: true, onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3026946%2ffinding-b-spline-for-space-spanned-by-multi-dimensional-spline%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          As long as the degrees agree, you can just take the B-spline basis with that degree and a knot vector consisting of the same knots as the individual bases. The multiplicity of each know must be the same as its multiplicity in that of the individual bases where the knot has the largest multiplicity.



          E.g. if the individual ones were ${0,0,0,0,1/4,1/2,1,1,1,1}$ and ${0,0,0,0,1/3,1/2,1,1,1,1}$, then $1/2$ should only be included with multiplicty one, even though it appears in both of the original knot vectors. I.e. you need ${0,0,0,0,1/4,1/3,1/2,1,1,1,1}$.






          share|cite|improve this answer





















          • Okey, it makes sense, since I don't want the function to be "less smooth" and hence I have to keep multiplicity of knots at a low level
            – Ramiro Scorolli
            Dec 6 '18 at 7:52










          • Anyway, is there some way to formally prove this result?
            – Ramiro Scorolli
            Dec 6 '18 at 7:53
















          1














          As long as the degrees agree, you can just take the B-spline basis with that degree and a knot vector consisting of the same knots as the individual bases. The multiplicity of each know must be the same as its multiplicity in that of the individual bases where the knot has the largest multiplicity.



          E.g. if the individual ones were ${0,0,0,0,1/4,1/2,1,1,1,1}$ and ${0,0,0,0,1/3,1/2,1,1,1,1}$, then $1/2$ should only be included with multiplicty one, even though it appears in both of the original knot vectors. I.e. you need ${0,0,0,0,1/4,1/3,1/2,1,1,1,1}$.






          share|cite|improve this answer





















          • Okey, it makes sense, since I don't want the function to be "less smooth" and hence I have to keep multiplicity of knots at a low level
            – Ramiro Scorolli
            Dec 6 '18 at 7:52










          • Anyway, is there some way to formally prove this result?
            – Ramiro Scorolli
            Dec 6 '18 at 7:53














          1












          1








          1






          As long as the degrees agree, you can just take the B-spline basis with that degree and a knot vector consisting of the same knots as the individual bases. The multiplicity of each know must be the same as its multiplicity in that of the individual bases where the knot has the largest multiplicity.



          E.g. if the individual ones were ${0,0,0,0,1/4,1/2,1,1,1,1}$ and ${0,0,0,0,1/3,1/2,1,1,1,1}$, then $1/2$ should only be included with multiplicty one, even though it appears in both of the original knot vectors. I.e. you need ${0,0,0,0,1/4,1/3,1/2,1,1,1,1}$.






          share|cite|improve this answer












          As long as the degrees agree, you can just take the B-spline basis with that degree and a knot vector consisting of the same knots as the individual bases. The multiplicity of each know must be the same as its multiplicity in that of the individual bases where the knot has the largest multiplicity.



          E.g. if the individual ones were ${0,0,0,0,1/4,1/2,1,1,1,1}$ and ${0,0,0,0,1/3,1/2,1,1,1,1}$, then $1/2$ should only be included with multiplicty one, even though it appears in both of the original knot vectors. I.e. you need ${0,0,0,0,1/4,1/3,1/2,1,1,1,1}$.







          share|cite|improve this answer












          share|cite|improve this answer



          share|cite|improve this answer










          answered Dec 5 '18 at 17:26









          OppenedeOppenede

          356111




          356111












          • Okey, it makes sense, since I don't want the function to be "less smooth" and hence I have to keep multiplicity of knots at a low level
            – Ramiro Scorolli
            Dec 6 '18 at 7:52










          • Anyway, is there some way to formally prove this result?
            – Ramiro Scorolli
            Dec 6 '18 at 7:53


















          • Okey, it makes sense, since I don't want the function to be "less smooth" and hence I have to keep multiplicity of knots at a low level
            – Ramiro Scorolli
            Dec 6 '18 at 7:52










          • Anyway, is there some way to formally prove this result?
            – Ramiro Scorolli
            Dec 6 '18 at 7:53
















          Okey, it makes sense, since I don't want the function to be "less smooth" and hence I have to keep multiplicity of knots at a low level
          – Ramiro Scorolli
          Dec 6 '18 at 7:52




          Okey, it makes sense, since I don't want the function to be "less smooth" and hence I have to keep multiplicity of knots at a low level
          – Ramiro Scorolli
          Dec 6 '18 at 7:52












          Anyway, is there some way to formally prove this result?
          – Ramiro Scorolli
          Dec 6 '18 at 7:53




          Anyway, is there some way to formally prove this result?
          – Ramiro Scorolli
          Dec 6 '18 at 7:53











          1














          Given two B-spline curves of different degrees and different knot vectors, you can always use degree elevation and knot insertion to "unify" the degree and the knot vector (i.e., making the two curves having the same degree and sane knot vector) without changing the curve's shape. This is an essential step for constructing a B-spline surface from multiple B-spline curves using a technique called "lofting".



          Please note that superimposing the basis function graphs of two B-spline curves will not give you the new basis function graph for the "unified" B-spline curve. In fact, the superimposed basis functions will not be valid basis functions for B-spline curve at all as the "partition of unity" property is no longer true.






          share|cite|improve this answer























          • The last paragraph was very informative, and would like to point out that actually when you said "given two splines of different degree and knots", I am actually considering b splines of the same degree, just the knot vector changes. I am aware that the result of "unifying" b splines is not a b spline that's why I am trying to find a b spline spanning the space spanned by the "unified" spline (making abuse of the term). I was told in a previous answer that I should consider the b spline with knots equal to those of the unified version, is it ok for you?
            – Ramiro Scorolli
            Dec 10 '18 at 7:42










          • @OP: Your definition of "multi-dimensional B-spline" from superimpositing the basis functions of two same-degree B-spline curves of different knot vectors is not a valid definition as the result is not a "B-spline curve" at all. You still can call it a "spline", but it is definitely not a "B-spline" anymore. If you want to "unify" two B-spline curves (my definition, not your), it is OK for the two B-spline curves to have the same degree. I am just saying that even if they are of different degree, they still can be unified.
            – fang
            Dec 10 '18 at 18:37


















          1














          Given two B-spline curves of different degrees and different knot vectors, you can always use degree elevation and knot insertion to "unify" the degree and the knot vector (i.e., making the two curves having the same degree and sane knot vector) without changing the curve's shape. This is an essential step for constructing a B-spline surface from multiple B-spline curves using a technique called "lofting".



          Please note that superimposing the basis function graphs of two B-spline curves will not give you the new basis function graph for the "unified" B-spline curve. In fact, the superimposed basis functions will not be valid basis functions for B-spline curve at all as the "partition of unity" property is no longer true.






          share|cite|improve this answer























          • The last paragraph was very informative, and would like to point out that actually when you said "given two splines of different degree and knots", I am actually considering b splines of the same degree, just the knot vector changes. I am aware that the result of "unifying" b splines is not a b spline that's why I am trying to find a b spline spanning the space spanned by the "unified" spline (making abuse of the term). I was told in a previous answer that I should consider the b spline with knots equal to those of the unified version, is it ok for you?
            – Ramiro Scorolli
            Dec 10 '18 at 7:42










          • @OP: Your definition of "multi-dimensional B-spline" from superimpositing the basis functions of two same-degree B-spline curves of different knot vectors is not a valid definition as the result is not a "B-spline curve" at all. You still can call it a "spline", but it is definitely not a "B-spline" anymore. If you want to "unify" two B-spline curves (my definition, not your), it is OK for the two B-spline curves to have the same degree. I am just saying that even if they are of different degree, they still can be unified.
            – fang
            Dec 10 '18 at 18:37
















          1












          1








          1






          Given two B-spline curves of different degrees and different knot vectors, you can always use degree elevation and knot insertion to "unify" the degree and the knot vector (i.e., making the two curves having the same degree and sane knot vector) without changing the curve's shape. This is an essential step for constructing a B-spline surface from multiple B-spline curves using a technique called "lofting".



          Please note that superimposing the basis function graphs of two B-spline curves will not give you the new basis function graph for the "unified" B-spline curve. In fact, the superimposed basis functions will not be valid basis functions for B-spline curve at all as the "partition of unity" property is no longer true.






          share|cite|improve this answer














          Given two B-spline curves of different degrees and different knot vectors, you can always use degree elevation and knot insertion to "unify" the degree and the knot vector (i.e., making the two curves having the same degree and sane knot vector) without changing the curve's shape. This is an essential step for constructing a B-spline surface from multiple B-spline curves using a technique called "lofting".



          Please note that superimposing the basis function graphs of two B-spline curves will not give you the new basis function graph for the "unified" B-spline curve. In fact, the superimposed basis functions will not be valid basis functions for B-spline curve at all as the "partition of unity" property is no longer true.







          share|cite|improve this answer














          share|cite|improve this answer



          share|cite|improve this answer








          edited Dec 8 '18 at 22:42

























          answered Dec 8 '18 at 22:36









          fangfang

          2,462166




          2,462166












          • The last paragraph was very informative, and would like to point out that actually when you said "given two splines of different degree and knots", I am actually considering b splines of the same degree, just the knot vector changes. I am aware that the result of "unifying" b splines is not a b spline that's why I am trying to find a b spline spanning the space spanned by the "unified" spline (making abuse of the term). I was told in a previous answer that I should consider the b spline with knots equal to those of the unified version, is it ok for you?
            – Ramiro Scorolli
            Dec 10 '18 at 7:42










          • @OP: Your definition of "multi-dimensional B-spline" from superimpositing the basis functions of two same-degree B-spline curves of different knot vectors is not a valid definition as the result is not a "B-spline curve" at all. You still can call it a "spline", but it is definitely not a "B-spline" anymore. If you want to "unify" two B-spline curves (my definition, not your), it is OK for the two B-spline curves to have the same degree. I am just saying that even if they are of different degree, they still can be unified.
            – fang
            Dec 10 '18 at 18:37




















          • The last paragraph was very informative, and would like to point out that actually when you said "given two splines of different degree and knots", I am actually considering b splines of the same degree, just the knot vector changes. I am aware that the result of "unifying" b splines is not a b spline that's why I am trying to find a b spline spanning the space spanned by the "unified" spline (making abuse of the term). I was told in a previous answer that I should consider the b spline with knots equal to those of the unified version, is it ok for you?
            – Ramiro Scorolli
            Dec 10 '18 at 7:42










          • @OP: Your definition of "multi-dimensional B-spline" from superimpositing the basis functions of two same-degree B-spline curves of different knot vectors is not a valid definition as the result is not a "B-spline curve" at all. You still can call it a "spline", but it is definitely not a "B-spline" anymore. If you want to "unify" two B-spline curves (my definition, not your), it is OK for the two B-spline curves to have the same degree. I am just saying that even if they are of different degree, they still can be unified.
            – fang
            Dec 10 '18 at 18:37


















          The last paragraph was very informative, and would like to point out that actually when you said "given two splines of different degree and knots", I am actually considering b splines of the same degree, just the knot vector changes. I am aware that the result of "unifying" b splines is not a b spline that's why I am trying to find a b spline spanning the space spanned by the "unified" spline (making abuse of the term). I was told in a previous answer that I should consider the b spline with knots equal to those of the unified version, is it ok for you?
          – Ramiro Scorolli
          Dec 10 '18 at 7:42




          The last paragraph was very informative, and would like to point out that actually when you said "given two splines of different degree and knots", I am actually considering b splines of the same degree, just the knot vector changes. I am aware that the result of "unifying" b splines is not a b spline that's why I am trying to find a b spline spanning the space spanned by the "unified" spline (making abuse of the term). I was told in a previous answer that I should consider the b spline with knots equal to those of the unified version, is it ok for you?
          – Ramiro Scorolli
          Dec 10 '18 at 7:42












          @OP: Your definition of "multi-dimensional B-spline" from superimpositing the basis functions of two same-degree B-spline curves of different knot vectors is not a valid definition as the result is not a "B-spline curve" at all. You still can call it a "spline", but it is definitely not a "B-spline" anymore. If you want to "unify" two B-spline curves (my definition, not your), it is OK for the two B-spline curves to have the same degree. I am just saying that even if they are of different degree, they still can be unified.
          – fang
          Dec 10 '18 at 18:37






          @OP: Your definition of "multi-dimensional B-spline" from superimpositing the basis functions of two same-degree B-spline curves of different knot vectors is not a valid definition as the result is not a "B-spline curve" at all. You still can call it a "spline", but it is definitely not a "B-spline" anymore. If you want to "unify" two B-spline curves (my definition, not your), it is OK for the two B-spline curves to have the same degree. I am just saying that even if they are of different degree, they still can be unified.
          – fang
          Dec 10 '18 at 18:37




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Mathematics Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3026946%2ffinding-b-spline-for-space-spanned-by-multi-dimensional-spline%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Berounka

          Sphinx de Gizeh

          Different font size/position of beamer's navigation symbols template's content depending on regular/plain...