Followers 0

# TR's FreeWarp V1.9.2 (Jan. 1, 2016)

## 28 posts in this topic

TechnoRobbo's FreeWarp v1.9.2

TR’s FreeWarp (short for TechnoRobbo’s Freestyle Warp) was designed for the artist to intuitively reshape an image by stretching it’s detail.

The math employed was a built from the ground up as deliberate departure from Beier-Neely’s Algorithm and the standard mesh warp, Allowing the stretching to be arbitrary.

Version 1.92 adds AutoSave and more internal stuff.

Version 1.91 adds an Opacity adjustment and some internal stuff

Version 1.9 adds a Warp Curvature adjustment and preview

Version 1.8 Fixes Undo

Version 1.7.1 Cursor Scaling Fix.

Version 1.7 warping within selections.

Version 1.6 adds functionality and speed

Version 1.5 Re-invents the user interface

Version 1.2 Puts back missing Label

Version 1.1 Fine Location Control Added

FreeWarp Tutorial

Tutorial Music by TechnoRobbo

Menu: Effects->Distort

Left-Click Key to Warp - Save to Keep Warp

Old Version 1.5

http://youtu.be/8ZiKjh9dRsI

Version 1.1 Video

How it Works

The Algorithm has 2 distinct parts:

1. Distort the Image

2. Localize Warping

..and 3 distinct parameters.

1. The Origin – where the warp begins

2. The Target – where the warp ends

3. The Minimum Warp Size – the size of the warped area

(If you continue to stretch the image beyond this size the algorithm adjusts this parameter)

Distort the Image

Stretching the image is achieved by dividing the image into parts. The Stretched Side and the Compressed Side. The demarcation point is the Target point. Anything on the Origin side of the Target it stretched from the image border – anything on the opposite side is compressed towards the image border.

In the Source Code this is labeled “//reverse mapping”.

Localizing the Warp

Localizing control of the warp is a simple matter of finding the distance of a pixel to the imaginary line segment created by the Origin Point and the Target Point.

In the Source Code this is the “distance” function.

The distance is normalized by diving it with the Minimum Warp Size. If the distance between Origin and Target (Pythagorean Theorem) exceeds the Minimum Warp Size the distance is used.

Normalizing results (d) is a value between 0 and 1 that is used as the control in a linear interpolation between the Source pixel (uu,vv) and the Target Pixel (x,y).

uu = d * x + uu - uu * d;

vv = d * y + vv - vv * d;

I hope I shed some light on the code for the programmers – I’m sorry if I bored the rest.

The Source Code

The Plugin

TRsFreeWarp.zip

Edited by TechnoRobbo
8

#### Share this post

##### Share on other sites

Nice plugin TechnoRobbo.

2

#### Share this post

##### Share on other sites

The knowledge of the math plus a good idea of composition. This combination is great.

Thanks TR for some nice plugins.

0

#### Share this post

##### Share on other sites

TechnoRobbo!

Fantastic, Thank you for the plugin.

Imagination has no limits...

*it's me 3 years old.
2

#### Share this post

##### Share on other sites

Motto,Midora and Seerose,

Thank you, your comments make all the work worth it.

0

#### Share this post

##### Share on other sites

Great fun. Thanks for the continued work

I started with this on a separate layer

Used Freewarp / Duplicated the result / ran drop shadow and then conditional hue / saturation, played with blend modes, added your scatter effect and got this

3

#### Share this post

##### Share on other sites

Ooh, it's like Kai's Power Goo!  I like!

0

Very Clever Sash

0

#### Share this post

##### Share on other sites

I didn't know Obama was half pixie!

Another powerful plugin - many thanks.

0

#### Share this post

##### Share on other sites

It's not fair. I'm missing the german 'Mutti'.

0

#### Share this post

##### Share on other sites

Excellent examples from TR, Mottoman, Seerose and Sasha. This looks like a fun plug-in. +1 to you TR.

0

#### Share this post

##### Share on other sites

Updated Version 1.1  - adds a Fine Location Control for cursor

David & Nurse- Thank You

Red Ochre -I didn't know Obama was half pixie!

Red - He is , I've seen his Birth Certificate

Midora -

It's not fair. I'm missing the german 'Mutti'.

I think someone already warped her...

Edited by TechnoRobbo
0

#### Share this post

##### Share on other sites

Ok, Ok here she is:

0

#### Share this post

##### Share on other sites

This looks like fun, cheers for the share, downloaded, off to play.

0

#### Share this post

##### Share on other sites

My Apologies the "Hold Control to Warp" disappeared from last version. I put it back.

(Here's a tip keep holding Control until you save)

I've also added a "How It Works" section to the Original Post to make up for my lack of commentary in the sourcs code.

Edited by TechnoRobbo
0

#### Share this post

##### Share on other sites

I'm going to get in trouble with this one,lol

0

#### Share this post

##### Share on other sites

Version 1.5 new interface with larger control surface.

1

#### Share this post

##### Share on other sites

Nice work with the new custom U.I.!

0

#### Share this post

##### Share on other sites

Thanks Red

Hey when are you gonna post Scribble that thing is awesome.

0

#### Share this post

##### Share on other sites

Update v1.6

Edited by TechnoRobbo
0

#### Share this post

##### Share on other sites

Update v1.7 is now available.

I published a Freewarp Tutorial on YouTube:

Music by TechnoRobbo

0

#### Share this post

##### Share on other sites

V 1.7.1 fixes a cursor scaling error

0

#### Share this post

##### Share on other sites

Update - Version 1.8.0 - Undo Fixed

0

#### Share this post

##### Share on other sites

Version 1.9 Ready for Download

Version 1.9 adds a Warp Curvature adjustment and preview

1

#### Share this post

##### Share on other sites

Thanks for the new features TR.

0

## Create an account or sign in to comment

You need to be a member in order to leave a comment

## Create an account

Sign up for a new account in our community. It's easy!

Register a new account

## Sign in

Already have an account? Sign in here.

Sign In Now
Followers 0