Board index » delphi » 3D picture
George
![]() Delphi Developer |
George
![]() Delphi Developer |
3D picture2003-07-25 02:43:23 PM delphi281 Does anyone have any information what 3D picture is? If i have a bmp of some object from left view and from right view, can i combine those somehow to get something 3D? And will it improve viewing experience of this object? Thanx. |
Ananth B.
![]() Delphi Developer |
2003-07-25 05:21:39 PM
Re:3D picture
George writes:
QuoteDoes anyone have any information what 3D picture is? [snip] www.stereoscopy.com/3d-info/ -- Hope this helps, Regards, Ananth B. |
George
![]() Delphi Developer |
2003-07-25 05:58:28 PM
Re:3D picture
Thanx Ananth, but I'd like to see some Delphi code...
"Ananth B." <ananth__b-at-hotmail.com>writes QuoteGeorge writes: |
Alex
![]() Delphi Developer |
2003-07-26 08:41:11 PM
Re:3D picture
George
Try this: Take the left part of the picture and mask out green and blue, take the right part and mask out red color and combine both together. NewPixel[x,y] := LeftPixel[x,y].rgbRed + RightPixel[x,y].rgbGreen + RightPixel[x,y].rgbBlue You will get a anaglyphic image to be viewed with a red-cyan colored 3d glass. Good luck! "George" <XXXX@XXXXX.COM>schrieb im Newsbeitrag QuoteDoes anyone have any information what 3D picture is? |
Alex
![]() Delphi Developer |
2003-07-27 10:46:37 PM
Re:3D picture
IMHO you cant view 3D pictures without glasses or a special (expensive) 3D
monitor. "George" <XXXX@XXXXX.COM>schrieb im Newsbeitrag QuoteAlex, |
Ignacio Vazquez
![]() Delphi Developer |
2003-07-27 11:02:34 PM
Re:3D picture
"George" <XXXX@XXXXX.COM>writes
QuoteIts quite interesting, but i need something which does not requie any 3D Cheers, Ignacio |
DoesntMatter
![]() Delphi Developer |
2003-07-28 04:14:52 AM
Re:3D picture
Surprising nobody mentioned this: Why dont you try a 3D hologram ? No glasses/monitors needed and have the ease to set it up anywhere, plus major crowd catcher.
"Ignacio Vazquez" <ivazquezATorioncommunications.com>writes: Quote"George" <XXXX@XXXXX.COM>writes |
Jens Gruschel
![]() Delphi Developer |
2003-07-28 05:32:17 PM
Re:3D pictureQuoteIts quite interesting, but i need something which does not requie any 3D centimeters width). Now each time you want a pixel to appear nearer than the one next to it, decrease the pattern width by one (simply remove the pixel from the pattern). Each time you want a pixel to appear farer away than the one next to it, increase the pattern with by one (insert a new pixel to the pattern, which can have a random color). Of course you can also increase / decrease the width by more than one, if you have deep cuts, but smooth "depth gradients" are best for stereograms. You pattern becomes distorted the more pixels you have processed, so it is best to start in the center of the image (with the fresh pattern) and process all pixels to the right, start again from the center (with the same fresh pattern) and process all pixels to the left (of course do this for each pixel line). it is hard to store the pattern (because it can get transformed after each pixel), so it's more simple to take the pixels you have already calculated instead (which are a result of the same pattern). One word to the patterns: Using a random pixel pattern works perfect, using a single-colored (solid) pattern doesn't work at all, something between works quite well. Most stereogram rendering tools use a grayscale image for the depths, which makes it easy to measure the distance from one pixel to the next. If you need some example images to test your program, look at my homepage at www.pegtop.de/xfader/stereogram.htm Jens P.S. Some pseudo code (I have not tested it, maybe it is completely wrong, probably you need to add many more 'if this or that')... for y := 0 to height-1 do begin pat_width := pattern.width; for x := center to width-1 do begin if x-center < pat_width then // take the original pattern dest[x, y] := pattern[x-center, y mod pattern.height] else // take the pixels already processed dest[x, y] := dest[x-pat_width, y mod pattern.height] dec(pat_width, depth[x+1, y]-depth[x, y]); end; for x := center downto 0 do begin // the same for the left part [...] end; end; |
Joris
![]() Delphi Developer |
2003-07-28 10:13:23 PM
Re:3D picture
"Ignacio Vazquez" <ivazquezATorioncommunications.com>writes
QuoteCertainly it won't approach the level of Darkman touched the very first problem, I think: identifying things like eg the same tip of the same nose in different pictures. Going from video, one may assume that subsequent frames show only slight displacements, and that may perhaps make things somewhat more feasable... QuotePossible, yes, but the description of the algorithm would probably fill possibly packed with a lot of predefined knowledge of the world as it is, and a small algorithm without predefined structures that takes weeks to compute a 3D mesh of a room, I think the latter would still be interesting. I don't just mean interesting from a 'I'm old, but still a child' point of view. Imagine one could automatically build a 3D world from fantastic views in eg a StarWars movie. That would be an extremely low-budget way to build a very formidable game world, for example. And I imagine the '{*word*62}' industry would be very interested to. The fact that the algorithm does not seem to be already invented may therefore be a good indication that it is not really feasable. Or is it? Joris |
Ignacio Vazquez
![]() Delphi Developer |
2003-07-28 10:31:55 PM
Re:3D picture
"Joris" <XXXX@XXXXX.COM>writes
3f252f2a$XXXX@XXXXX.COM... Quote"Ignacio Vazquez" <ivazquezATorioncommunications.com>writes And simulating factors like skin elasticity and muscle tone can only make it larger. QuoteThe fact that the algorithm does not Cheers, Ignacio |