Chat with us, powered by LiveChat TASK 1: Animated Sine Curve - Writeedu

TASK 1: Animated Sine Curve

TASK 1:  Animated Sine Curve

Write a Python program one.py with PyOpenGL to display an animation of sine function y=Asin(x+B), satifying the following requirements:

  • The window application’s size is (600, 600), and its upper-left corner is at (250, 250) on the screen;
  • The window application’s title is Animated Sine Curve.
  • The ranges of x and y are [-4, 4] (x is in radians);
  • The amplitude A is a random float in [1, 2], and it is updated each time the window application restarts;
  • The phase shift B is a float; it is initialized as 0, and incremented by 0.01 each time the screen refreshes;
  • The two axes are drawn in white, with an arrow towards the positive direction at the end of each axis;
  • The sine curve is drawn in yellow.
  • Orthogonal projection is used in this task.

The following figure illustrates the expected window application.

TASK 2:  Clamped B-Spline

 Write a Python program two.py with PyOpenGL to display a clamped B-spline, satifying the following requirements:

  • The window application’s size is (550, 550), and its upper-left corner is at (150, 150) on the screen;
  • The window application’s title is Special B-Splines.
  • The program reads a text file named control-points.txt, including an x,y coordinate pair in each line as a control point, in the same folder;
  • Control points are drawn with size 4 in green.
  • Based on the control points, a clamped B-spline is drawn.
  • P(t)’s color, mixed by red and blue, depends on its curvature (R = curvature / 5, G = 0.0, B = 1 – curvature / 5);
  • Curvature is clipped by [0, 5].
  • Orthogonal projection is used in this task.

The following figure illustrates the expected window application, reading the sample control-points.txt provided.

TASK 3:  Hexagonal Pyramid

 Write a Python program three.py with PyOpenGL to display a 3D hexagonal pyramid, satifying the following requirements:

  • The window application’s size is (400, 400), and its upper-left corner is at (100, 100) on the screen;
  • The window application’s title is Hexagonal Pyramid.
  • The program reads a text file named pyramid-params.txt, including one line as x,y,z,H,R, in the same folder, where xy and z are the coordinates of the top vertex vH is the height, and R is the radius; we assume the top vertex v and the base centroid c are on the same vertical axis, and c is always under v; the distance between c and any base vertex vi is always R.
  •  
  • Based on the above information, a hexagonal pyramid is drawn.
  • All faces are randomly and differently colored, except for the base in white.
  • When the key R is pressed, the radis increases by 0.01 and the hexagonal pyramid is redrawn.
  • When the key H is pressed, the height decreases by 0.01 and the hexagonal pyramid is redrawn.
  • The hexagonal pyramid is static by default; When the key XY or Z is pressed, the hexagonal pyramid toggles between being static and rotating 1 degree/refresh along the corresponding axis (i.e., the key X corresponds to the x axis), taking c as the origin.
  • Perspective projection is used in this task (FoV is 90 degrees towards the y-axis; Camera looks at the origin and uses the y-axis direction as the up-vector).

The following figure illustrates the expected window application, reading the sample pyramid-params.txt provided.

Our website has a team of professional writers who can help you write any of your homework. They will write your papers from scratch. We also have a team of editors just to make sure all papers are of HIGH QUALITY & PLAGIARISM FREE. To make an Order you only need to click Ask A Question and we will direct you to our Order Page at WriteEdu. Then fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.

Fill in all the assignment paper details that are required in the order form with the standard information being the page count, deadline, academic level and type of paper. It is advisable to have this information at hand so that you can quickly fill in the necessary information needed in the form for the essay writer to be immediately assigned to your writing project. Make payment for the custom essay order to enable us to assign a suitable writer to your order. Payments are made through Paypal on a secured billing page. Finally, sit back and relax.

Do you need an answer to this or any other questions?

Do you need help with this question?

Get assignment help from WriteEdu.com Paper Writing Website and forget about your problems.

WriteEdu provides custom & cheap essay writing 100% original, plagiarism free essays, assignments & dissertations.

With an exceptional team of professional academic experts in a wide range of subjects, we can guarantee you an unrivaled quality of custom-written papers.

Chat with us today! We are always waiting to answer all your questions.

Click here to Place your Order Now