Find Jobs
Hire Freelancers

Interactive Natural Cubic Spline via OpenGl and C++

$30-250 USD

Tamamlandı
İlan edilme: 8 yıldan fazla önce

$30-250 USD

Teslimde ödenir
My project depends on previous projects because of that I posted all the projects to be clear, but the main project that I need help with is the project 3 Project 1: Done and working good in the attachment Programming problem: Interactive Natural Cubic Spline Cubic splines are the most popular spline functions. They are smooth functions with which to fit data, and when used for interpolation, they do not have the oscillatory behavior that is characteristic of high-degree polynomial interpolation. Detail algorithm and pseudo code can be found on [login to view URL] . Your programming tasks include: 1. Interactively define the initial control spline, i.e. end-users will use the mouse to click points on the screen to define the vertices of the cubic spline, and the program should draw the current natural cubic spline every time a vertex is defined. You are also required to use the motion callback function to generate “picking-and-moving” of control vertices 2. Receiving a character from keyboard as a keyboard event. The character invokes the following actions : a. ‘q’ or ‘Q’: exit the program b. ‘+’ or ‘-’: increase or decrease the interpolation steps between control points 3. Generate a menu for all of the above keyboard functionalities 4. a. Keyboard event ‘d’ and mouse-picking to delete an existing control vertex b. Keyboard ‘ ’ (space bar) to close the spline as a closed natural cubic spline ------------------------------------------------------------------------------- Project 2: not complete and don’t works well with me also in the attachment The programming problem is based on project#1. Our goal is now to extend the 2-dimensional spline into full 3-dimensional space, with user interface elements to rotate and scale the 3D graphic scene. Other tasks include using cylinders to replace the original 2D line segments, with colors and materials. Your programming tasks include: 1. Extend the original cubic spline algorithms into 3D. Your mouse will be able to pick and move the control points, moving in x-y plane with mouse pointer, and moving in z-direction with the support of a modifier key. 2. Implement a “rolling-ball” interface to rotate the scene in 3D with mouse. Implement a “zoom-in/out” interface with mouse motion and a modifier key. 3. Replacing the line segment with cylinders, adding appropriate colors and materials. 4. When the rolling ball interface receives mouse event with momentum, the rotation will be kept until another mouse click happens. ----------------------------------------------------------------------- Project 3: I need help to achieve this part for now The programming problem is based on project#2. Our goal is now to apply force-directed relaxation algorithm to refine the curve topology. Two forces are used, an attractive “mechanical” force ( ) applied between adjacent beads on the same component and a repulsive “electrical” force ( ) applied between all other pairs of beads. Your programming tasks include: 1. Implement the force model so that your sketched curves can be relaxed automatically to a refined shape. 2. Adding collision avoidance mechanism: during each iteration of shape refinement, check to determine if moving the bead to its desired location will cause the knot to move into an unsafe position. If so, bring the unsafe components apart to avoid collisions. 3. Adding a shadow to the 3D scene. 4. Implement view finding function, so that after each relaxation is done the system will rotate the curves into a position that users see the fewest intersections. I post all the project because it is related to each others, but I need help with the project 3 for now Specific requirements: 1. Don't use external libraries just opengl glut 2. the first homework is a correct code use the same math for hw 3 3. I upload some of professor demo use it to help you
Proje No: 8880043

Proje hakkında

5 teklif
Uzaktan proje
Son aktiviteden bu yana geçen zaman 8 yıl önce

Biraz para mı kazanmak istiyorsunuz?

Freelancer'da teklif vermenin faydaları

Bütçenizi ve zaman çerçevenizi belirleyin
Çalışmanız için ödeme alın
Teklifinizin ana hatlarını belirleyin
Kaydolmak ve işlere teklif vermek ücretsizdir
Seçilen:
Kullanıcı Avatarı
Hi, I'd like to help with project 3. My full profile on this site: 280+ completed projects, customer rating 5.0/5 (click on my name).
$150 USD 3 gün içinde
5,0 (159 değerlendirme)
6,9
6,9
5 freelancers are bidding on average $275 USD for this job
Kullanıcı Avatarı
Dear Customer I have a good experience in interpolations linear, quadratic, and cubic. Have done a number of project on it. I am a C++ developer for about 5+ year in a software development industry. Knows all the minor details of C++ having expertise in algorithm designing, algorithm implementation, algorithm analysis, Data-Structures, Finite Automaton and Turing Machines. Hoping to hear from you soon. Regards: Sahib Yar
$250 USD 15 gün içinde
4,7 (35 değerlendirme)
4,9
4,9
Kullanıcı Avatarı
A proposal has not yet been provided
$220 USD 3 gün içinde
4,5 (11 değerlendirme)
3,6
3,6
Kullanıcı Avatarı
A proposal has not yet been provided
$600 USD 7 gün içinde
5,0 (1 değerlendirme)
1,4
1,4
Kullanıcı Avatarı
Experience with implementation (DSP, FPGA,, iOS) of signal processing applications. Experience with C++ (Turbo & LDPC). Fast learner.
$155 USD 3 gün içinde
0,0 (0 değerlendirme)
0,0
0,0

Müşteri hakkında

   UNITED STATES bayrağı
Indianapolis, United States
5,0
15
Ödeme yöntemi onaylandı
Nis 14, 2015 tarihinden bu yana üye

Müşteri Doğrulaması

Teşekkürler! Ücretsiz kredinizi talep etmeniz için size bir bağlantı gönderdik.
E-postanız gönderilirken bir şeyler yanlış gitti. Lütfen tekrar deneyin.
Kayıtlı Kullanıcı İlan Edlien Toplam İş
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Ön izleme yükleniyor
Coğrafik konum için izin verildi.
Giriş oturumunuzun süresi doldu ve çıkış yaptınız. Lütfen tekrar giriş yapın.