Is there any way to attach a 3D object to another 3D object? What I mean by that is if the two objects moved as though they are one? If I rotate one, then the other rotates along with it? Any help or guidance is appreciated. Thanks!
Related
I want to write a program to simulate 5-axis cnc gcode with vpython and I need to rotate trail of the object that's moving. Any idea how that can be done?
It's difficult to know exactly what you need, but if instead of using "make_trail=True" simply create a curve object to which you append points. A curve object named "c" can be rotated using the usual way to rotate an object: c.rotate(.....).
Imagine you have a papercrafted circle in real life and put in on your forearm. This curved object now represents a 3D object. I need to map this 3D object back to its original 2D shape by unwrapping the 3D object.
I have looked into LSCM and angle-based flattening but they are in need of the geometrical faces of the object, which i dont have.
Is there anything out which could solve my problem?
Can we obtain an UnstructuredGrid from 3D point array with values that exceed a threshold? I want to apply mesh to 3D point array. Is it possible? What kind of filters/functions do we need to do this process?
Best regards.
Say I have a very large amount of photographs of an object, all from different angles, so that one can through these photographs view the object from whatever angle is desired.
Is there a way to take these photographs and combine them into a photorealistic 3D model of the object that could then be displayed just like a traditional 3D model and moved around/rotated?
The reason I am asking is that I am working on a project where a traditional 3D model will not do and we need photorealistic quality, but we would still like the ability to rotate, zoom and pan around the object.
Thanks for your help
This sounds very much like Photosynth. Check out the demo at TED in 2007 for a nice example using images sourced from flickr to build a model of Notre Dame cathedral (about half way through the presentation).
Here is a little answer to your big big question...
you will have to find the edges, interpret them as a boundary (like a series of different spline cross sections)
interpolate enough missing points to give desired resolution, which could be done my using the parallel points in series a0,a1,a2... as a series of points in a bezier path. (like a string wound around the model)
I am working on a simple 3d software renderer but one thing I'm no sure about is how to actually draw it all on the screen. What could I use to draw a wireframed cube ?
I am not asking HOW to write a complete 3D pipeline just the final step, the actual drawing on the screen.
Edit: I think I could do that with SDL.
You need to project the 3D object onto the 2D screen using a perspective transformation matrix.
This will generate a set of 2D lines etc. which get drawn in the same way as "normal" 2D lines get drawn.
However, without more information about the language and/or framework you are using, it's not easy to go into any more detail.
For the "actual drawing on screen" in Windows XP of your software-rendered wireframe 3D, call StretchDIBits with a pointer to the array of bytes that represents your pixels. This answer addresses maximum convenience; maximum efficiency is another matter.