This is a program that simulates and visualizes various types of curves. The user can create, remove, or move points. Additionally, the Casteljau algorithm for creating the Bézier curve can be interactively visualized.
- Free addition and removal of control points
- Move points at runtime
- Draw Hermite curve
- Curve with natural start and parabolic end
- Closed curve
- Bezier curve
- Visualization of Cesteljau algorithm
- interactive UI
- Show tangents
Personal Rating | Year of Development | Languages | Tools | Type of Application |
---|---|---|---|---|
⭐️⭐️⭐️⭐️⭐️ (5/5) | 2023 | Java | Swing | Simulation |
- This application is tested in windows 10/11
- You need the Java Development Kit in order to execute the program
- I don't guarantee that every corner case has been taken into account. The project is part of my learning process for java and programming in general.
- All dependencies are included in this repo, so it is almost plug and play :)
- Clone Repository
git clone https://github.com/tp-codings/Java_Swing_CurveSimulator.git
- Run
javac CurveSimulator.java
- Add points: Left-Click
- Remove points: Right-Click
- Move points: Drag-Drop with Left-Mousebutton
- UI self-explanatory
![Kurven](https://private-user-images.githubusercontent.com/118997294/316318400-b6fa6508-2424-4a61-a690-acba2bc4c187.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1Mzk1OTAsIm5iZiI6MTcxOTUzOTI5MCwicGF0aCI6Ii8xMTg5OTcyOTQvMzE2MzE4NDAwLWI2ZmE2NTA4LTI0MjQtNGE2MS1hNjkwLWFjYmEyYmM0YzE4Ny5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyOFQwMTQ4MTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wNDlhYTg4ODIyYzM5MjBiNjQxMjZlNmIwMDRiMTUyZDQ3MzVmMDEwNWIzYjRmZjFiMzhjYWYwMDlkYmNkMDRlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.sEY1ZYRXHTmxE9MSW1VkrGiBj3QqvjfUb3IOz0DTEYE)
![Bezier](https://private-user-images.githubusercontent.com/118997294/316318414-d948f911-90b2-47ac-be12-44c909919e93.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1Mzk1OTAsIm5iZiI6MTcxOTUzOTI5MCwicGF0aCI6Ii8xMTg5OTcyOTQvMzE2MzE4NDE0LWQ5NDhmOTExLTkwYjItNDdhYy1iZTEyLTQ0YzkwOTkxOWU5My5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyOFQwMTQ4MTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wYWE1NjdlZjFiZWY3MTIzM2ZlZjQ3NzdhMjFjYTVmNmEwY2NmOGQzMTI0NjlhYjJhY2U2NThkYWE2OWM2ODNhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.y6G5eL6Vi6RQy4-0SBGvd0s8XiJxrQKSnmuZwWRp-Sc)
![Bezier2](https://private-user-images.githubusercontent.com/118997294/316318418-af05198b-174e-4786-83bf-d579e3f04cf4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1Mzk1OTAsIm5iZiI6MTcxOTUzOTI5MCwicGF0aCI6Ii8xMTg5OTcyOTQvMzE2MzE4NDE4LWFmMDUxOThiLTE3NGUtNDc4Ni04M2JmLWQ1NzllM2YwNGNmNC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyOFQwMTQ4MTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mY2NkODRhNDExNzFmNmQ2ZTEzNzNlNWYyNmQ4MDlkOWY2M2RhMWIxYWU0ZTU3MmJiMWIzYzAzNDM5YzJkYzIwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.DgA_6oO0AfG1lUN-2KuxeT5IijVsH3ZJHTwml-bOHn4)
Feel free to reach out to me:
- Email: [email protected]
- LinkedIn: Tobias Paul
- GitHub: @tp-codings
Looking forward to connecting with you! 😊