Browse Source

CON-1813-MARKDOWN-chaikin-raid-for-java-piscine (#2104)

* docs(jaikin): add the subject of  the raid jaikin

* docs(Jaikin): correct jainkin subject
 docs(jaikin): add jaikin audit

* docs(jaikin): remove additional files

* docs(jaikin): changing first two lines of the audit
pull/2154/head
Zainab Dnaya 9 months ago committed by GitHub
parent
commit
f8031ae874
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 37
      subjects/java/piscine/raids/Jaikin/README.md
  2. 49
      subjects/java/piscine/raids/Jaikin/audit/README.md

37
subjects/java/piscine/raids/Jaikin/README.md

@ -0,0 +1,37 @@
## Implementation of Jaikin's Algorithm with Step-by-Step Animation
### Objective
The goal of this project is to implement Chaikin's algorithm and create a step-by-step animation of the process using a canvas.
### Instructions
Follow these instructions to create the Chaikin's algorithm step-by-step animation:
1. Create a canvas where the user can draw one or more points. Each point should be represented by a small circle.
2. Receive input from the mouse, allowing the user to place control points for Chaikin's algorithm using the left button.
3. Display the selected points on the canvas as small circles surrounding each point.
4. If the canvas has control points drawn on it, pressing the `Enter` key should initiate the animation. The animation should cycle through the steps of Chaikin's algorithm, proceeding until it reaches the 7th step. After completing the 7th step, the animation should restart.
5. If the user presses `Enter` before any points have been drawn, nothing should happen. However, the user should still be able to draw points, and an optional message may be displayed to remind the user to draw points.
6. If the canvas has only one control point, the program must display that point without cycling through the steps.
7. If the canvas has only two control points, the program must draw a straight line between those two points.
8. Pressing the `Escape` key should close the window.
### Bonus Features
Optionally, you may implement the following bonus features:
1. Allow the user to clear the screen, enabling them to select new control points.
2. Implement real-time dragging of the control points, so the user can adjust their position interactively.
> Note: You are free to choose any library for handling windows, rendering, keyboard, and mouse events.
For more information on Chaikin's algorithm, refer to [this resource](http://graphics.cs.ucdavis.edu/education/CAGDNotes/Chaikins-Algorithm/Chaikins-Algorithm.html). You can also view an example of how the application should work in this [video](https://youtu.be/PbB2eKnA2QI). Remember, the usage of Chaikin's algorithm is mandatory for this implementation.

49
subjects/java/piscine/raids/Jaikin/audit/README.md

@ -0,0 +1,49 @@
#### Functional
- Try to run the program.
- Does the program compile and run without any error or warning?
- Set one or more control points by left-clicking on the canvas.
- Confirm that the program allows you to mark these control points.
- Check if the program draws a small circle around the control points for identification purposes.
- Set three or more control points on the canvas and press `Enter`.
- Observe whether Chaikin's algorithm starts the animation.
- To exit the program, press the `Escape` key.
- Ensure the program exits without any errors.
- Start the program and set only one control point by left-clicking on the canvas. Then, press `Enter`.
- Confirm that only the selected control point is visible, and nothing else changes.
- Restart the program, set two control points by left-clicking on the canvas, and press `Enter`.
- Check if only a straight line is drawn between the two control points.
- Restart the program, set three or more control points by left-clicking on the canvas, and press `Enter`.
- Confirm that the animation completes 7 steps before restarting.
- Restart the program, set three or more control points by left-clicking on the canvas, and press `Enter`. Then, press `Escape` to exit the program.
- Verify that the program exits without any errors.
- Start the program and press `Enter` without selecting any points.
- Check if the program continues without any errors.
- After pressing `Enter` without selecting points, try placing points without needing to restart the program.
#### Bonus Features
- Check if a message is displayed when you press `Enter` without drawing any points, reminding you to add points.
- Verify if you can clear the screen and add new control points without restarting the program.
- Check if it's possible to drag the control points in real time and observe the generation of a new curve.
Loading…
Cancel
Save