Finding B-spline for space spanned by Multi-dimensional Spline.
$begingroup$
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$:
Now consider a B-spline of 3-rd degree in the interval $[0,1]$ with two internal knots $(1/3,2/3)$:
The Multi-dimensional B-spline with internal knots $(0.333,0.5,0.666)$ would be:
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
$endgroup$
add a comment |
$begingroup$
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$:
Now consider a B-spline of 3-rd degree in the interval $[0,1]$ with two internal knots $(1/3,2/3)$:
The Multi-dimensional B-spline with internal knots $(0.333,0.5,0.666)$ would be:
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
$endgroup$
add a comment |
$begingroup$
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$:
Now consider a B-spline of 3-rd degree in the interval $[0,1]$ with two internal knots $(1/3,2/3)$:
The Multi-dimensional B-spline with internal knots $(0.333,0.5,0.666)$ would be:
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
$endgroup$
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$:
Now consider a B-spline of 3-rd degree in the interval $[0,1]$ with two internal knots $(1/3,2/3)$:
The Multi-dimensional B-spline with internal knots $(0.333,0.5,0.666)$ would be:
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
linear-algebra vector-spaces change-of-basis spline
asked Dec 5 '18 at 11:08
Ramiro ScorolliRamiro Scorolli
644114
644114
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
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}$.
$endgroup$
$begingroup$
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
$endgroup$
– Ramiro Scorolli
Dec 6 '18 at 7:52
$begingroup$
Anyway, is there some way to formally prove this result?
$endgroup$
– Ramiro Scorolli
Dec 6 '18 at 7:53
add a comment |
$begingroup$
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.
$endgroup$
$begingroup$
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?
$endgroup$
– Ramiro Scorolli
Dec 10 '18 at 7:42
$begingroup$
@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.
$endgroup$
– fang
Dec 10 '18 at 18:37
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
$begingroup$
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}$.
$endgroup$
$begingroup$
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
$endgroup$
– Ramiro Scorolli
Dec 6 '18 at 7:52
$begingroup$
Anyway, is there some way to formally prove this result?
$endgroup$
– Ramiro Scorolli
Dec 6 '18 at 7:53
add a comment |
$begingroup$
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}$.
$endgroup$
$begingroup$
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
$endgroup$
– Ramiro Scorolli
Dec 6 '18 at 7:52
$begingroup$
Anyway, is there some way to formally prove this result?
$endgroup$
– Ramiro Scorolli
Dec 6 '18 at 7:53
add a comment |
$begingroup$
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}$.
$endgroup$
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}$.
answered Dec 5 '18 at 17:26
OppenedeOppenede
381111
381111
$begingroup$
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
$endgroup$
– Ramiro Scorolli
Dec 6 '18 at 7:52
$begingroup$
Anyway, is there some way to formally prove this result?
$endgroup$
– Ramiro Scorolli
Dec 6 '18 at 7:53
add a comment |
$begingroup$
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
$endgroup$
– Ramiro Scorolli
Dec 6 '18 at 7:52
$begingroup$
Anyway, is there some way to formally prove this result?
$endgroup$
– Ramiro Scorolli
Dec 6 '18 at 7:53
$begingroup$
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
$endgroup$
– Ramiro Scorolli
Dec 6 '18 at 7:52
$begingroup$
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
$endgroup$
– Ramiro Scorolli
Dec 6 '18 at 7:52
$begingroup$
Anyway, is there some way to formally prove this result?
$endgroup$
– Ramiro Scorolli
Dec 6 '18 at 7:53
$begingroup$
Anyway, is there some way to formally prove this result?
$endgroup$
– Ramiro Scorolli
Dec 6 '18 at 7:53
add a comment |
$begingroup$
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.
$endgroup$
$begingroup$
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?
$endgroup$
– Ramiro Scorolli
Dec 10 '18 at 7:42
$begingroup$
@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.
$endgroup$
– fang
Dec 10 '18 at 18:37
add a comment |
$begingroup$
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.
$endgroup$
$begingroup$
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?
$endgroup$
– Ramiro Scorolli
Dec 10 '18 at 7:42
$begingroup$
@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.
$endgroup$
– fang
Dec 10 '18 at 18:37
add a comment |
$begingroup$
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.
$endgroup$
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.
edited Dec 8 '18 at 22:42
answered Dec 8 '18 at 22:36
fangfang
2,472166
2,472166
$begingroup$
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?
$endgroup$
– Ramiro Scorolli
Dec 10 '18 at 7:42
$begingroup$
@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.
$endgroup$
– fang
Dec 10 '18 at 18:37
add a comment |
$begingroup$
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?
$endgroup$
– Ramiro Scorolli
Dec 10 '18 at 7:42
$begingroup$
@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.
$endgroup$
– fang
Dec 10 '18 at 18:37
$begingroup$
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?
$endgroup$
– Ramiro Scorolli
Dec 10 '18 at 7:42
$begingroup$
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?
$endgroup$
– Ramiro Scorolli
Dec 10 '18 at 7:42
$begingroup$
@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.
$endgroup$
– fang
Dec 10 '18 at 18:37
$begingroup$
@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.
$endgroup$
– fang
Dec 10 '18 at 18:37
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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