Hai all,
I am initiating a simple project in 3D graphics.I want to do the following things:
1)creating a simple square in 3D
2)Move the sqaure to the given final position through some intermediate position already given.
Please give your suggestions to do these things.
Comments
Making a square is simple enough.
You specify the points (either hardcoded or in variable form) for the
corners of the first plain, then simply shift it back for the back panel. Rotate 90 degrees on the Y axis and shift 1/2 way left/right for the 2 side panels. Rotate 90 degrees on the X axis and shift 1/2 way up/down for the top and bottom panels.
I haven't actually coded moving an object place to place in OpenGL yet, so I'm not sure how it works, but it shouldn't be hard. Rotating all the planes on the cube (if you wanted to do so) is just one command, not one for each plane. I'm thinking movement should be similar.
www.gametutorials.com has some very nice tutorials on OpenGL.
Hope this helps,
JaguarZ
Command for moving objects is
glTranslate(x,y,z);
Nothing more to do after calling that than drawing whatever you want to draw.
XLoom
thanks for u'r reply.i have created the 3D object using opengl commands.now i want to recognize it as a sphere or cube or...
How can i do it?Is there any command to scan the lines or pixels and to measure the angle between the lines?
roselin
: hai,
: thanks for u'r reply.i have created the 3D object using opengl commands.now i want to recognize it as a sphere or cube or...
: How can i do it?Is there any command to scan the lines or pixels and to measure the angle between the lines?
: roselin
:
I don't quite understand the question. Do you mean that you want to draw the cube or sphere first and pretend you don't know what you have drawn and then try to make computer to recognize whether it is a cube or sphere? If so then first you need to get the image to memory with
void glReadPixels(GLint x,
GLint y,
GLsizei width,
GLsizei height,
GLenum format,
GLenum type,
GLvoid *pixels);
(Description of this function can be found from
http://www.mevis.de/~uwe/opengl/glReadPixels.html)
And after doing this, you find the edges of the object and check whether they are on one line (for cube edge) or do any two farthest edgepoints have the same average (for sphere) or whatever you need to find out.
Is this what you meant?
Anyway I hope it helps
XLoom
Thank u very much for u'r reply.It's really what i am seeking.Now i got it.if i have any doubt i will contact u.Agin ,lot of thanks...
roselin
: Hi,
:
: I don't quite understand the question. Do you mean that you want to draw the cube or sphere first and pretend you don't know what you have drawn and then try to make computer to recognize whether it is a cube or sphere? If so then first you need to get the image to memory with
:
: void glReadPixels(GLint x,
: GLint y,
: GLsizei width,
: GLsizei height,
: GLenum format,
: GLenum type,
: GLvoid *pixels);
:
: (Description of this function can be found from
: http://www.mevis.de/~uwe/opengl/glReadPixels.html)
:
: And after doing this, you find the edges of the object and check whether they are on one line (for cube edge) or do any two farthest edgepoints have the same average (for sphere) or whatever you need to find out.
: Is this what you meant?
: Anyway I hope it helps
:
: XLoom
:
:
: I am initiating a simple project in 3D graphics.I want to do the following things:
:
: 1)creating a simple square in 3D
: 2)Move the sqaure to the given final position through some intermediate position already given.
:
: Please give your suggestions to do these things.
:
:
Hello, there
You say you want to make a simple square in 3D(a cube or square?)
and that's simple. You either use the command "auxWireCube()" for a wireframe cube or "auxSolidCube" for a solid cube or either you create your own cube with the "glVertex3f(x,y,z)" function(The prefferable option).
For a square you colud also use the "gl Vertex(x,y,z)" function as follows:
glBegin(GL_SQUARE); //you could also use GL_POLYGON
{
glVertex3f(0.0,0.0,0.0);
glVertex3f(0.0,1.0,0.0);
glVertex3f(1.0,1.0,0.0);
glVertex3f(1.0,0.0,0.0);
}
glEnd();
:
: I am initiating a simple project in 3D graphics.I want to do
: the following things:
:
: 1)creating a simple square in 3D
: 2)Move the sqaure to the given final position through
: some intermediate position already given.
:
: Please give your suggestions to do these things.
:
:
I am giving code for 3D square in turbo c
/* Program for 3D square
By:
Mitul Golakiya
E-Mail ID : mitulgolakiya@yahoo.com
mitul.gorkiya@avinashi.com
*/
#include
#include
#include
#include
#include
#include
void main()
{
int x = 250, y = 200;
int gd = DETECT, gm;
initgraph(&gd, &gm, "E:\TC\BGI");
moveto(x, y+100);
lineto(x, y);
lineto(x+25, y-25);
lineto(x+125, y-25);
line(x, y, x+100, y);
line(x, y+100, x+100, y+100);
moveto(x+100, y);
lineto(x+100, y+100);
lineto(x+125, y+75);
lineto(x+125, y-25);
lineto(x+100, y);
setlinestyle(2, 1, 1);
line(x+25, 175, x+25, y+75);
line(x+25, 275, x, y+100);
line(x+25, 275, x+125, y+75);
getch();
getch();
closegraph();
}