HOME | DD

tatasz — Cancelling distortion with pre and post affines
#apophysis #post #pre #transforms #tutorial
Published: 2016-11-15 10:09:25 +0000 UTC; Views: 2090; Favourites: 45; Downloads: 0
Redirect to original
Description /* Journal Top */ body div#devskin11548908 .gr-box { background:#617360; } body div#devskin11548908 .gr-top h2, body div#devskin11548908 .gr-top h2 a { text-transform:uppercase; letter-spacing:2px; padding:5px 20px; font-size:29px; } body div#devskin11548908 .timestamp, body div#devskin11548908 .commentslink { text-align:center; padding:5px; text-transform:uppercase; letter-spacing:2px; } body div#devskin11548908 .left { width:17%; } body div#devskin11548908 .right { width:83%; } body div#devskin11548908 .right { float:right; } body div#devskin11548908 .left { float:left; } /* Box and Square Headings */ body div#devskin11548908 h1, body div#devskin11548908 h2 { text-transform:uppercase; font-weight:normal; font-size:14px; font-weight:bold; font-family:'open sans'; } body div#devskin11548908 h1 { letter-spacing:2px; color:#fff; padding:5px; background:#617360; } body div#devskin11548908 .text h2 { padding-left:10px; letter-spacing:1px; margin:5px 0 -5px 0; border-left:20px solid #617360; } body div#devskin11548908 h1:hover, body div#devskin11548908 h2:hover { font-weight:bold; } body div#devskin11548908 .p1 { background:#617360; } body div#devskin11548908 .b1 { background:#617360; } body div#devskin11548908 .g1 { background:#617360; } body div#devskin11548908 .p2 { border-left:20px solid #617360!important; } body div#devskin11548908 .b2 { border-left:20px solid #617360!important; } body div#devskin11548908 .g2 { border-left:20px solid #617360!important; } /* Mini Gallery Code */ body div#devskin11548908 .mini .shadow-holder { display:inline-block; width:150px; height:150px; overflow:hidden; } body div#devskin11548908 .mini .shadow-holder img { padding:0px; max-width:none; margin:0 0 0 0; } body div#devskin11548908 .mini .lit { width:150px; height:150px; } body div#devskin11548908 .mini .shadow-holder:hover img, body div#devskin11548908 .mini .shadow-holder:hover .lit { position:absolute!important; z-index:2; margin:7px 0 0 -63px; padding:5px; } body div#devskin11548908 .b .shadow-holder:hover img, body div#devskin11548908 .b .shadow-holder:hover .lit, body div#devskin11548908 .embedded-deviation img:hover, body div#devskin11548908 .embedded-freeform-deviation:hover { background:#617360; } body div#devskin11548908 .g .shadow-holder:hover img, body div#devskin11548908 .g .shadow-holder:hover .lit, body div#devskin11548908 .embedded-deviation img:hover, body div#devskin11548908 .embedded-freeform-deviation:hover { background:#617360; } body div#devskin11548908 .y .shadow-holder:hover img, body div#devskin11548908 .y .shadow-holder:hover .lit, body div#devskin11548908 .embedded-deviation img:hover, body div#devskin11548908 .embedded-freeform-deviation:hover { background:#617360; } body div#devskin11548908 .shadow-holder:hover img, body div#devskin11548908 .shadow-holder:hover .lit, body div#devskin11548908 .embedded-deviation img:hover, body div#devskin11548908 .embedded-freeform-deviation:hover { background:#617360; } body div#devskin11548908 .mini.b .shadow-holder:hover { background:#617360; } body div#devskin11548908 .mini.g .shadow-holder:hover { background:#617360; } body div#devskin11548908 .mini.y .shadow-holder:hover { background:#617360; } body div#devskin11548908 .mini .shadow-holder:hover { background:#617360; }

A small trick that some people may find useful.
The basic idea is to use post affine (post transform in Apo) to create some distortion, and then use the affine to "cancel" this distortion.


Example 1: Hemisphere to ellipse
Suppose that you need an elliptic shape. As an example, I will use the final (camera) transform and apply it on the picture below:


First, add a hemisphere final transform. It looks like a circle, not like an ellipse:


Now, go to the transform tab of the editor. Look at the post transform. Both X and Y values are 1. Change X value to 2. This will stretch the hemisphere:


Notice that the pattern is too stretched. To cancel that, change the X value of the transform (not post transform anymore) to 0.5 (which is inverse of 2 we used above). You shall have something like this:


The overall setup is:



Example 2: Stretched Crops
You can use the same trick to obtain rectangular and elliptic crops.
Here we will apply different crops on the same picture as in the first example:


For example, below, a cropn final transform, with n=4 and same transform setup as described in first example:


The crop is now a rectangle, and the pattern is not stretched.

We can do the same with circlecrop too, getting an elliptic crop (still using the same setup from example 1):


Finally, cropn with n=3 converted into a right triangle (the sides are not of same length, but can give an idea of how to use inverses on transform and post transform).


The affine and post affine setup that does it is the following:


Related content
Comments: 5

BeckyandShadow [2016-11-15 23:44:37 +0000 UTC]

Thats tight

👍: 0 ⏩: 0

Adrolyn [2016-11-15 23:43:10 +0000 UTC]

wow

👍: 0 ⏩: 0

Annie5357533 [2016-11-15 16:55:24 +0000 UTC]

Thank tatasz.

👍: 0 ⏩: 0

Jaffa-Tealc [2016-11-15 13:17:28 +0000 UTC]

Great tips, thanks for sharing

👍: 0 ⏩: 0

fractal2cry [2016-11-15 13:00:38 +0000 UTC]

Thank you!

👍: 0 ⏩: 0