From ddcec6771ebd05ce25c22288542c416fc2a42c1e Mon Sep 17 00:00:00 2001 From: Augusto Date: Mon, 8 Feb 2021 18:19:49 +0000 Subject: [PATCH] Add subject for the raid 3 about the Chaikin's algorithm --- subjects/chaikin/README.md | 25 +++++++++++++++++++++++++ subjects/chaikin/audit/README.md | 29 +++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 subjects/chaikin/README.md create mode 100644 subjects/chaikin/audit/README.md diff --git a/subjects/chaikin/README.md b/subjects/chaikin/README.md new file mode 100644 index 00000000..19004df5 --- /dev/null +++ b/subjects/chaikin/README.md @@ -0,0 +1,25 @@ +## Chaikin + +### Instructions + +Implement the [Chaikin's](http://graphics.cs.ucdavis.edu/education/CAGDNotes/Chaikins-Algorithm/Chaikins-Algorithm.html) algorithm step by step in an animation. + +The objective is to create a canvas where the user will draw 1 or more and then the screen will play an animation of each step to get to the final result of a curve drawn using the `Chaikin's` algorithm. You can see [here](https://youtu.be/PbB2eKnA2QI) a demo of how the application should work. + +- Functionality: + + - The canvas should receive input from the mouse: the user of the program should be able to use the left button to select the control point for the `Chaikin's` algorithm + + - After pressing `Return` should start the animation of the steps until reaching the 7th step of the `Chaikin's` algorithm. + + - Pressing `Escape` should quit the window. + +### Note + +You are free to use any library for creating and handling window creation, rendering, keyboard and mouse events. + +### Bonus + +- Add the ability to clear the screen and add new control points. + +- Make possible to drag the control points in real time. diff --git a/subjects/chaikin/audit/README.md b/subjects/chaikin/audit/README.md new file mode 100644 index 00000000..7a84a91d --- /dev/null +++ b/subjects/chaikin/audit/README.md @@ -0,0 +1,29 @@ +#### Functional + +##### Run the program using `cargo run` + +###### Does it compile and run without any warnings? + +##### Left click in three different positions in the canvas + +###### Does the program draw a small circle surrounding the area where you clicked? + +##### Press `Return` + +###### Does the animation of the Chaikin's algorithm starts? + +###### Does the animations the animation completes 7 steps before starting again? + +##### Press `Escape` + +###### Does the program exit without errors? + +##### Run the program again and this time press `Return` without selecting any points + +###### Is the program still running? + +##### Bonus + +###### +Are you able to clear the screen and add new control points without killing and relaunching the program? + +###### +Are you able to drag the control points in real time and get a new curve?