Develop a tool for visualization and editing of bezier curve

Assignment Help Computer Engineering
Reference no: EM132217550

Be´zier curves are a class of parametric curves defined using a set of control points, and a parameter t in [0,1]. The analytic parametric equation of a Be´zier curve defined by a control polygon of n+1 points Pi i = 0,!,n is given through Bernstein polynomials Bin (t)

n n!
as follows: C(t)=?Bin(t)Pi WhereBin(t)=i!(n-i)!(1-t)n-iti is the ith Bernstein

i=0 polynomial of degree n.

€€

Given a value of parameter t, the Be´zier curve can be evaluated either using the above parametric equation or using the Decasteljau subdivision algorithm.

Develop a tool for visualization and editing of Bézier curves of any degree n. A C++ class should be defined to encapsulate the data and all the functions necessary for easy manipulation of Bézier curves.

A particular attention should be paid to the design of your application and to the graphic user interface that allows the activation of the desired functionality. Recommended functionalities:

1. Appropriate data structures to store the curve properties (number of control points, set of control points, etc.)

2. A Menu to allow navigation through the application functionalities and select the function to launch.

3. Mouse control function: allows the definition of the control polygon, the selection and move of one control point into another position to enhance the curve design

4. A function BezPoint() to compute and return the point on the Bézier curve using the parametric equation.

5. A function CasteljauPoint() to compute and return a point on the Bézier curve using the Decasteljau algorithm.

6. A function CasteljauSubdivid() to compute and return the two sub-curves of a Bézier curve using the Decasteljau algorithm.

7. A function drawBez() to visualize a Bézier curve with (or without) its control polygon.

8. A function to edit the curve: use the mouse to select and move one control point into another position, then trace the resulting curve.

Reference no: EM132217550

Questions Cloud

Why is it good news that the disease is rare : Why is it good news that the disease is rare? What are the chances that you actually have the disease?
Write an accessor method to get the number of humps : Provide a constructor that accepts 3 parameters: name, sound, and number of humps. Write an accessor method to get the number of humps.
Determine the price of the bonds using given data : When Patey Pontoons issued 8% bonds on January 1, 2018, with a face amount of $860,000, the market yield for bonds of similar risk and maturity was 11%.
A best guess at the number of lines of source code : A graphic table with tasks of the full system duration will be based on your assumptions from (1) above and task dependencies.
Develop a tool for visualization and editing of bezier curve : Appropriate data structures to store the curve properties (number of control points, set of control points, etc.).
Why would bp personnel think they could get away : Why would BP personnel think they could get away with bribing an employee in the Russian anti-bribery prosecutor's office? If a company decides to bribe.
What is the name of the buyer who bought item : You are setting up your own business by developing an Electronic Auction website for the staff, students, and faculty of your University.
Prepare your responses on the given post : Anders is 26 years old and single. He accepted a position with a global non-governmental organization (NGO) to work on a health project in Uganda.
Determine the minimum number of open areas needed : A zoo is going to place its animals in a set of large open areas, instead of having them in individual cages.

Reviews

Write a Review

Computer Engineering Questions & Answers

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd