Find Jobs
Hire Freelancers

Computer Graphics Rubik's Cube with OpenGL

$30-5000 USD

Zamknięte
Opublikowano ponad 8 lat temu

$30-5000 USD

Płatne przy odbiorze
*Rubik's cube* consists of 27 (sub)cubes arranged to form a larger 3?-3?-3 cube. Each of the subcubes has sides colored as red, green, blue, white, yellow and magenta. The same-colored faces of the subcubes are initially aligned so that the larger cube appears as if it had six solid differently colored [login to view URL] can move the Rubik's cube by rotating any plane of 9 subcubes by 90 degrees. The usual way to play with Rubik's cube is that one person distorts the original configuration by making a series of 90 degree rotations and the other tries to return the cube to its original state. The first part of this assignment is to construct a Rubik's cube and to display it. Since we will manipulate the cube in the second part, you should give some thought to how to represent the cube in order to emphasize that it includes 27 instances of a simple cube. The second part of the project involves manipulating the Rubik's cube. That would be great if you can put it in some random configuration by having the computer perform a random series of rotations of various faces. Once the cube is initialized, the user should be able to manipulate it. The user should be able to look at the cube from different angles to decide on a move. Thus, the user should be able to rotate the large cube as a whole any time she wishes. You should give some thought to what kind of user interface you want for the user to specify how she wants to look at the cube and what move she would like to perform. You are recommended to use glut functions (e.g. gluPickMatrix) to implement a picking mechanism to decide on which face to rotate. continues in deliverables part... ## Deliverables Your program is not expected to know how to solve Rubik's cube for any initial [login to view URL] we are just beginning to talk about viewing, you may simply use orthographic viewing so the viewing procedures in the simple sample programs should suffice. Your grade will depend on how nicely you model the Rubik's cube, both statically and dynamically, the quality of your user interface, and the quality of your display. You should consider things like whether or not you want to display edges of the subcubes in addition to the face colors and whether you want to show a move as simply the cube in its final position or as a continuous rotation of smaller angles. However, simply showing the cube without the animation can be done very trivially and will not necessarily demonstrate the understanding of transformations that is key goal of this project. Implementation hints: • The most difficult part of this assignment is to be able to keep track of the position of each subcube as the user applies a series of rotations of the faces. If you specify an index *i* (*i* =0,1,…,5) for each face, and an index *j* (*j* = 0,1,…,26) for each subcube, then the indices {*i*} of the 6 cubes belonging to each face *j* change each time a rotation is applied, depending on which face is rotated. • Once you determine which face, thus which subcubes to rotate, with picking, the next task is to be able perform this rotation properly. For that, you may need to store 28 different modelview matrices, one matrix to store the global view angle, and 27 matrices for the subcubes (that is, one for each subcube). • For smooth rotations, you may need glut timer functions to adjust the speed of the rotation. • You are also required to provide a help interface that instructs the user how to use input devices for interaction. The simplest way is to define a keyboard callback function that prints a description to the command line window. just the .c files are enough for me. ** ** ## Platform windows xp, program must be written in C language. Because it is an undergraduate computer graphics course assignment, it shouldn't be coded in a sophisticated and complex way. it will be better if it is coded in a simplest way.
Identyfikator projektu: 9131608

Informację o projekcie

5 ofert
Zdalny projekt
Aktywny 8 lat temu

Szukasz sposobu na zarobienie pieniędzy?

Korzyści ze składania ofert na Freelancer.com

Ustal budżet i ramy czasowe
Otrzymuj wynagrodzenie za swoją pracę
Przedstaw swoją propozycję
Rejestracja i składanie ofert jest bezpłatne
5 freelancerzy składają oferty o średniej wysokości $2 518 USD dla tej pracy
Awatar Użytkownika
Hello, We are a team with more than 12 years of experience in 3D design and 3D photorealistic visualization. Check out our portfolio here: https://www.freelancer.com/u/kingjoon.html Please give me more details about your project so I can give you an exact quote to do the project. Looking forward to hearing from you, please let me know if you have any questions. Best regards, Mohsen
$3 500 USD w 30 dni
5,0 (527 opinii)
9,6
9,6
Awatar Użytkownika
Hello...this is a very interesting program. I am totally sure that I can do it. I love this kind of graphics problems... I have master and PhD in computer graphics... so, I should be a good option for this project. Look at my profile and previous works. Best regards!
$2 000 USD w 30 dni
0,0 (0 opinii)
2,8
2,8

O kliencie

Flaga JORDAN
Jordan
0,0
0
Członek od gru 16, 2015

Weryfikacja Klienta

Dziękujemy! Przesłaliśmy Ci e-mailem link do odebrania darmowego bonusu.
Coś poszło nie tak podczas wysyłania wiadomości e-mail. Proszę spróbować ponownie.
Zarejestrowani Użytkownicy Całkowita Liczba Opublikowanych Projektów
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Wczytywanie podglądu
Udzielono pozwolenia na Geolokalizację.
Twoja sesja logowania wygasła i zostałeś wylogowany. Proszę, zalogować się ponownie.