https://github.com/dee-me-tree-or-love/2ima20-group15
https://github.com/dee-me-tree-or-love/2ima20-group15
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/dee-me-tree-or-love/2ima20-group15
- Owner: dee-me-tree-or-love
- Created: 2021-10-01T15:51:46.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-10-31T13:12:00.000Z (almost 4 years ago)
- Last Synced: 2025-02-01T07:18:50.726Z (9 months ago)
- Language: Java
- Size: 37.5 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 2IMA20 - Course Project - Group 15
## Main goal
Compute a simplification set `S` of size `|S| = k` for `k >= 1`,
containing polylines `S_j` such that amount of vertices `|S_j| <= c`
for `j = 1 ... k` and `\sum_{\tau_i \in T} (min_{S_j \in S}dF(\tau_i, S_j))` is minimal.
### Input details
- We are given `T` - set of polylines, `k` - integer `>= 1`, `c` - integer `>= 1`.
## Repository structure
### Core branches
This repository contains 2 default branches:
- `main` - used for integration of all the ongoing work
- `release` - reserved for the clean "release" versions of our code
### Development branches
To keep the progres clean and reviawable, we can work on each new feature in a separe branch. (So as to avoid the `main` branch madness).
#### Naming
- `-`, for example `tony-faster-input-processing`.
#### Merging features
1. Once the feature is complete,
it can be added to `main` branch
by opening a new Pull Request.
2. Before merging, let's ask at least
1 other team member to review.
3. Once the feature was approved,
feel free to merge the change! :tada:
### Folder structure
- `project` - is a base of the project solution.
- `project/ContestClient` - \[application\] source of the contest GUI (partially provided from the lectures).
- `project/ContestCore` - \[library\] source of the main entities used within the framework
- `project/shared` - \[precompiled\] dependencies provided for the project such as GeometryCore etc.
- `problems` is an example set of inputs for the problem.
## Getting started
To make the management (compilation, running, distribution, etc) of the project easier, `gradle` build system is used.
So when getting started, make sure `gradle` is installed on your machine.
> See [Gradle Installation Guide](https://docs.gradle.org/current/userguide/installation.html#installing_with_a_package_manager) for more information on how to set it up.
> Note: in addition, this project includes a [Gradle Wrapper](https://docs.gradle.org/current/userguide/gradle_wrapper.html). With it, instead of installing `gradle` and using it to invoke tasks `gradle `, all the tasks can be called using the wrapper directly. E.g. `./gradlew build` on Unix computers and `gradlew.bat build` on Windows.
### Useful commands
- `gradle build` - compiles all the source code for the project
- `gradle run` - starts the ContestClient (actually all the _\[application\]_'s included in the project)
- `gradle clean` - removes all the directories produced by a build step
- `gradle tasks` - shows a list of available tasks
## Delivering
To be elaborated...
- Report
- Contest code implementation
### Report requirements
...
### Code requirements
...