Inspiration

Laying down water line in newly developing areas is always a struggle because the number of ways to lay pipes is NP. We wanted to create a solution in polynomial time coming from witnesses in nature, particularly the veins in leaves.

What it does

The program has a database of leaves at its disposal and allows a user to upload a population density heat mapping for any city. The program then matches the city against every leaf in the database, and finds the best fit leaf to use as a groundwork for laying down water irrigation systems.

How we built it

We wanted to use HTML, CSS, and Javascript so that the code would be accessible to all those with an internet connection, so we began coding scripts to analyze the vein structure of leaves, and then moved on to analyze the heat mappings of cities. We then wrote scripts to combine the results into one final result upon a user input of a city.

Challenges we ran into

It was very hard to analyze images and do pixel manipulations in javaScript. This requires indirect mappings through javaScript's canvas tools, which are not the most intuitive of image devices.

Accomplishments that we're proud of

We are proud we were able to apply image analysis to multiple types of images and then combine the results in a meaningful manner. We are also proud that despite how many hours it took to figure out canvas pixel mappings, in the end we were able to utilize them to do what we needed.

What we learned

We learned a lot about how javaScript works, having little experience in some of the file manipulation techniques utilized in this project. We also learned that sometimes it is probably better to not use your own development, but instead to use packages created by others, as we found ourselves wasting a lot of time solving problems that have undoubtedly been solved before.

What's next for Water Irrigation

In the future we may wish to implement a larger database for leaves, so as to have a better representation to pick from. We would also like to implement a server to serve our project to the world wide web, rather than having it available only through gitHub. We also think it would be valuable to improve the quality of our web interface, as currently it is pretty bare bones, although straightforward and easy to use

Built With

Share this project:

Updates