ConstellaX is a desktop application for creating and visualizing star constellations. Draw stars on a canvas, connect them with lines, and save your celestial artwork.
- Interactive Canvas: Click to place stars on the canvas
- Connect Stars: Automatically connect stars with lines using pen state (pen down/up)
- Color Customization: Choose different colors for your stars and connecting lines
- Undo Functionality: Remove the last added star
- Clear Canvas: Remove all stars at once
- Show/Hide Lines: Toggle visibility of all connecting lines
- Save & Load: Save your constellations to
.cnstfiles and load them later - Export Images: Save your constellation as a JPG image
- Sound Effects: Audio feedback when placing stars
- Java 17 or higher
- Maven (for building from source)
To build the project from source using Maven:
mvn clean compileAfter building, you can run the application using:
mvn exec:java -Dexec.mainClass="com.uniqueapps.constellax.Main"Or run the main class directly:
java -cp target/classes com.uniqueapps.constellax.Main- Creating Stars: Click anywhere on the canvas to create a star
- Pen State: Toggle the pen state (UP/DOWN) to control whether new stars connect to the previous star
- Change Color: Use the "Change pen color" button to select a different color for new stars
- Connect Existing Stars: Click on an existing star while in pen-down mode to connect it to the previously selected star
- Remove Stars: Use "Remove last added star" to undo or "Remove all stars" to clear the canvas
- Hide/Show Lines: Toggle line visibility with the "Hide all lines" button
- Save: Use File → Save constellation file to save your work as a
.cnstfile - Load: Use File → Load constellation file to open a previously saved constellation
- Export: Use File → Save constellation image to export as a JPG image
src/com/uniqueapps/constellax/- Main source codeMain.java- Main application class and UIDrawEngine.java- Canvas drawing engineStarPoint.java- Star point representationAboutDialog.java- About dialogPicturePanel.java- Picture panel componentScreenImage.java- Screen image utilities
resources/- Application resources (fonts, icons, sounds)
This project is developed by Arpan Chatterjee. Licensed under the MIT license.
Current version: 1.0