Virtual reality based on a picture
I'm trying to recreate a few existing rooms in a museum, based on 180° jpeg files made by photo technicians of them (with paintings on the wall etc...).
I have used sphereGeometry and loadTexture. But rooms are squares or rectangles, so view is kind of deformed in the corners (for the square and rectangle rooms) and depths doesn't match reality (for the rectangle rooms). I'm guessing the problem is that sphereGeometry has a fixed radius, no matter the room width and length.
Assuming the wall on the back of the capture device can be ignored, what's the best way to recreate in three.js a square or rectangle room using a single jpeg 180° wiew of it ? Is it possible to bend a plane on coordinates matching the length of the room walls and then apply the picture as texture to it ?
I insist : I'm not asking for you to write the code for me, I'm asking what object(s) and method(s) of three.js you would use to accomplish this.
Any advice is welcome. Thanks
three.js
add a comment |
I'm trying to recreate a few existing rooms in a museum, based on 180° jpeg files made by photo technicians of them (with paintings on the wall etc...).
I have used sphereGeometry and loadTexture. But rooms are squares or rectangles, so view is kind of deformed in the corners (for the square and rectangle rooms) and depths doesn't match reality (for the rectangle rooms). I'm guessing the problem is that sphereGeometry has a fixed radius, no matter the room width and length.
Assuming the wall on the back of the capture device can be ignored, what's the best way to recreate in three.js a square or rectangle room using a single jpeg 180° wiew of it ? Is it possible to bend a plane on coordinates matching the length of the room walls and then apply the picture as texture to it ?
I insist : I'm not asking for you to write the code for me, I'm asking what object(s) and method(s) of three.js you would use to accomplish this.
Any advice is welcome. Thanks
three.js
Recreating geometry from a single image is a hard problem, for which you won't find out-of-the-box solutions in a 3D library. If the user will remain in one position, a sphere is as good as anything. If the user can move around in the 3D space, you need better source data than a 180º image.
– Don McCurdy
Nov 22 '18 at 18:31
add a comment |
I'm trying to recreate a few existing rooms in a museum, based on 180° jpeg files made by photo technicians of them (with paintings on the wall etc...).
I have used sphereGeometry and loadTexture. But rooms are squares or rectangles, so view is kind of deformed in the corners (for the square and rectangle rooms) and depths doesn't match reality (for the rectangle rooms). I'm guessing the problem is that sphereGeometry has a fixed radius, no matter the room width and length.
Assuming the wall on the back of the capture device can be ignored, what's the best way to recreate in three.js a square or rectangle room using a single jpeg 180° wiew of it ? Is it possible to bend a plane on coordinates matching the length of the room walls and then apply the picture as texture to it ?
I insist : I'm not asking for you to write the code for me, I'm asking what object(s) and method(s) of three.js you would use to accomplish this.
Any advice is welcome. Thanks
three.js
I'm trying to recreate a few existing rooms in a museum, based on 180° jpeg files made by photo technicians of them (with paintings on the wall etc...).
I have used sphereGeometry and loadTexture. But rooms are squares or rectangles, so view is kind of deformed in the corners (for the square and rectangle rooms) and depths doesn't match reality (for the rectangle rooms). I'm guessing the problem is that sphereGeometry has a fixed radius, no matter the room width and length.
Assuming the wall on the back of the capture device can be ignored, what's the best way to recreate in three.js a square or rectangle room using a single jpeg 180° wiew of it ? Is it possible to bend a plane on coordinates matching the length of the room walls and then apply the picture as texture to it ?
I insist : I'm not asking for you to write the code for me, I'm asking what object(s) and method(s) of three.js you would use to accomplish this.
Any advice is welcome. Thanks
three.js
three.js
asked Nov 22 '18 at 17:32
Luc WanlinLuc Wanlin
93
93
Recreating geometry from a single image is a hard problem, for which you won't find out-of-the-box solutions in a 3D library. If the user will remain in one position, a sphere is as good as anything. If the user can move around in the 3D space, you need better source data than a 180º image.
– Don McCurdy
Nov 22 '18 at 18:31
add a comment |
Recreating geometry from a single image is a hard problem, for which you won't find out-of-the-box solutions in a 3D library. If the user will remain in one position, a sphere is as good as anything. If the user can move around in the 3D space, you need better source data than a 180º image.
– Don McCurdy
Nov 22 '18 at 18:31
Recreating geometry from a single image is a hard problem, for which you won't find out-of-the-box solutions in a 3D library. If the user will remain in one position, a sphere is as good as anything. If the user can move around in the 3D space, you need better source data than a 180º image.
– Don McCurdy
Nov 22 '18 at 18:31
Recreating geometry from a single image is a hard problem, for which you won't find out-of-the-box solutions in a 3D library. If the user will remain in one position, a sphere is as good as anything. If the user can move around in the 3D space, you need better source data than a 180º image.
– Don McCurdy
Nov 22 '18 at 18:31
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
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
},
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%2fstackoverflow.com%2fquestions%2f53435903%2fvirtual-reality-based-on-a-picture%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- 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.
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%2fstackoverflow.com%2fquestions%2f53435903%2fvirtual-reality-based-on-a-picture%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
Recreating geometry from a single image is a hard problem, for which you won't find out-of-the-box solutions in a 3D library. If the user will remain in one position, a sphere is as good as anything. If the user can move around in the 3D space, you need better source data than a 180º image.
– Don McCurdy
Nov 22 '18 at 18:31