# Panorama warping cylinder

**URL:** <https://discourse.processing.org/t/panorama-warping-cylinder/9131>\
**Category:** Libraries\
**Created:** [March 9, 2019, 1:08am UTC](https://discourse.processing.org/t/panorama-warping-cylinder/9131 "2019-03-09T01:08:41Z")\
**Posts on this page:** 1\
**Showing post:** 19

<div class="post-metadata">

**Author:** ![jeremydouglass](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jeremydouglass/32/20_2.png) [@jeremydouglass](https://discourse.processing.org/u/jeremydouglass)\
**Post date:** [April 17, 2019, 6:36pm UTC](https://discourse.processing.org/t/panorama-warping-cylinder/9131/19 "2019-04-17T18:36:29Z")

</div>

One approach would be to use SurfaceMapper – and possibly try using the SurfaceMapperGUI (may need to be updated). The problem with an algorithmic solution in this case is that very tiny variations in your cylinder surface or in the angle of your projection mounts will cause a pure geometric approach to create distortion. An alternative is to create a segmented, bezier-curve controlled surface that you can tweak at installation time and save the settings, like this:

 ![](https://jasonwebb.io/wp-content/uploads/2013/10/bezier-warped-4.png)

> **[SurfaceMapperGUI - a simple Processing interface for projection mapping —...](https://jasonwebb.io/2013/11/surfacemappergui-a-simple-processing-interface-for-projection-mapping/)**
>
> SurfaceMapperGUI is a Processing sketch for simple projection mapping projects that allows users to easily map image and videos onto real-world objects. The documentation (available also as an Instructable), guides users through the entire projection...

The GUI might need to be updated for Processing 3 – I haven’t tried it.

Another old (deprecated) mapping library for Processing that supports curves – MappingTools

[http://www.patricksaintdenis.com/mappingtools/](http://www.patricksaintdenis.com/mappingtools/)

> **[patrick88/mappingtools](https://github.com/patrick88/mappingtools)**
>
> A Processing library that facilities mapping on straight or curved surfaces (deprecated) - patrick88/mappingtools

Check out in particular BezierWarp and ClusterBezierWarp.

A more up-to-date projection mapping library is Keystone, but it lacks the curve warping support that you will need. Perhaps the curve code from SurfaceMapper could be ported to KeyStone…

[https://fh-potsdam.github.io/doing-projection-mapping/processing-keystone/](https://fh-potsdam.github.io/doing-projection-mapping/processing-keystone/)

---

_[View the full topic](https://discourse.processing.org/t/panorama-warping-cylinder/9131)._
