interactive drawing and 2D transformation

part 1:

Specifically, you will develop an OpenGL program that allow a user to draw a circle in a position of the OpenGL window by clicking the left button of a mouse. Furthermore, your program should allow the user to draw multiple circles. When the user is done with drawing, he/she can terminate the program by entering the ’q’ or ’Q’.

Your code will need to maintain a data structure to record the position of each left-click of mouse. For simplicity, you can use a 2-dimensional array, and assume that the maximum number of left-click is 100. Each time, when there is a GLUT LEFT BUTTON event, your code should insert the current mouse position to the 2-dimensional array.

There are two different coordinate systems in this simple drawing. The mouse position is under the matrix coordinate system, and a vertex for drawing OpenGL geometry primitive is under the geome- try coordinate system. So your code should transform the mouse position from matrix coordinate to geometry coordinate. For simplicity, you can assume the height of the window is fixed.

part 2:

You will develop an OpenGL program that allow a user to perform 2D affine transformation, including translation, scaling, rotation, on a 2D object (e.g., a solid square), by selecting an transformation item from the popup menu. In this project, you can have two-layer menu as follows:

• Translation

– Horizontal increment

– Horizontal decrement

– Vertical increment

– Vertical decrement

• Scaling

– Horizontal enlarging

– Horizontal shrinking

– Vertical enlarging

– Vertical shrinking

• Rotation

– Clockwise

– Counter-clockwise

Your code will need to maintain several geometry parameters of an object, including horizontal and vertical translation, orientation, and scaling factors. You code should include a function (called menu), in which you should update the geometry parameters of the object.

The object should be “complicated”, i.e., a composition of at least 2 OpenGL geometry primitives. The following parameters should be used for an individual 2D transformation:

• 5 pixels for horizontal increment/decrement

• 2 for horizontal enlarging, and 0.5 for horizontal shrinking

• 10◦ for a rotation.

Taidot: C-ohjelmointi, C++ -ohjelmointi, Java

Näytä lisää: d drawing, drawing freelancer, drawing engineer freelancer, visual drawing interactive animated, php drawing interactive, interactive drawing websites, php interactive drawing, interactive drawing site, interactive drawing php

About the Employer:
( 7 reviews ) Sanjose, United States

Projektin tunnus: #13150528

Myönnetty käyttäjälle:


Hello, I am expert with c, c++ and opengl since more than 20 years ago...I should be a good option for this project. I can make a genuine version for you. Zero copy+paste.

55 $ USD 3 päivässä
(81 arvostelua)

9 freelanceria on tarjonnut keskimäärin 69 $ tähän työhön


I am very proficient in c and c++. I have 16 years c++ developing experience now, and have worked for more than 7 years. My work is online game developing, and mainly focus on server side, using c++ under Linux environ Lisää

150 $ USD 3 päivässä
(123 arvostelua)

Hello, expert in OpenGL and C++ programming here. I can implement for you the two required programs: one that will let you interactively draw circles when you left click with your mouse. The other program will do 2D Lisää

120 $ USD 3 päivässä
(72 arvostelua)

Hello. How are you. I have read and understood the project. I'm an Expert in Data Structures and Algorithms. And I know well ; Java ,C/C++, Python ,PHP. I'm interested this project. So, firstly I want to discu Lisää

90 $ USD 2 päivässä
(87 arvostelua)

Hello! I am experienced OpenGL software engineer. It would be a pleasure for me to work with you. I am looking forward to receiving a message. Liubomyr

30 $ USD 2 päivässä
(5 arvostelua)

Lets discuss the further more details of .But i am not new in this field.I just want to know more details about this project to make it complete.I not only complete project but provide also full support to understand Lisää

60 $ USD 3 päivässä
(1 arvostelu)
40 $ USD 1 päivässä
(8 arvostelua)

Dear sir I have just read your description I have following technologies and skills : - Unity3D o AR(Augmented Reality) System o 3D, 2D GAME - Image Processing(Computer Vision) and Pattern Recognition Lisää

166 $ USD 1 päivässä
(4 arvostelua)

Hi, I'm paxionated by making games as a low-level programmer. I actually making my building blocks for creating my own game engine. I have created a custom memory allocator for managing fragmentation and reducing ti Lisää

50 $ USD 3 päivässä
(1 arvostelu)

Hi, I am expert in OpenGL program . I am very familiar with drawing multiple circles and 2D affine transformation. I can do these tasks perfectly. Thanks.

25 $ USD 1 päivässä
(0 arvostelua)