I need these two projects done by December 15th. Please only bid if you can get it done on or before that date.
Project 1 - Disk Movement project.
The aim of this project is to create a program that takes a set of rectangle obstacles, and the start and final position of a circular object, and finds a path that moves the object from start to finish. The obstacles and the movement of the disk are shown on the screen (the screen size must be 700x700 square) using the xlib interface; the disk motion is shown by showing its position after suitable steps.
The movement of the disk does not have to be the shortest distance. The program takes one command-line argument, a file name.
So for example to compile the program you use “g++ -o [url removed, login to view] [url removed, login to view] --lx11”
and to run the program us use “./[url removed, login to view] obstacles”
The following line gives the set of rectangular obstacles in the format
R (20,100) (55,160)
R (200,500) (400,400)
R (400,250) (600,50)
The coordinates are integers; they are the coordinates of the lower left and upper right point of the rectangle. There are less than 100 obstacles. so (20,100) are the coordinates of the upper right point and (55,160) are the coordinates of the lower left point.
As first stage, your read the input, and display the obstacles in the window. Then you get two left mouseclicks which specify the initial stage of the disc (center and radius), and a third mouseclick which gives the final position (the center). You compute and display the motion that moves the disk from the initial to the final stage.
The configuration space of the disk are the centerpoints for which the disc is completely inside the 700 by 700 square; to find the path, you should subdivide this region (like a quadtree).
A square of the configuration space is red if each disc with a center in that square intersects some obstacle; it is green if no disc with a center in that square intersects some obstacle; it is yellow if it is neither green nor red. Only yellow discs need to be subdivided. We stop the subdivision if we found a green path from the start position to the target position, or if all yellow squares have a sidelength less than five.
You display your final subdivision together with the path of the disk and the obstacles.
Porject 2 - K-Server Problem
The size of the window/space should be 700x700. This program should be done using the xlib library.
The aim of this program is to model an instance of the k-server problem. You have 3 persons/servers, the yellow person at coordinate (0,0) top left. The red person at coordinate (700,0) top right and the blue person at coordinate (350,700) bottom middle.
The user specifies a sequence of requests points by left mouse clicks in the window. The requests should be serviced in sequential order. For the first strategy, after each left mouse click you should compute which person is closest to the request and draw a thin line from that person to the requested point (the line color should be that of the person color)
When the user right clicks, the program should then compute the optimal strategy for reaching each request and draw thick lines (corresponding to the person color) to show this.
The program should display at the bottom right of the screen the total distance of both strategies as well as the ratio.
You can use what ever algorithm you want to compute the optimal strategy. Basically the optimal strategy will compute the shortest total distance that needs to be traversed in order to reach each request sequentially.
The the picture attached below for is an example of what i’m looking for in terms of how it should be displayed.
7 freelancers estão ofertando em média $196 para este trabalho
Hello I am C++ expert and interested in this project.I have a lot of experience in helping students with assignments and tutoring. Please communicate to discuss further. Regards Anshu
I study computer science in college. Took part in a lot of programming contests. I can help u get this job done in 4 days max. Look forward to hear from you on chat.