Skip to content

Manuel87/TypeMultiverse

Repository files navigation

Multiverse Type Design Space (parametrical) Interpolation Interface

This is a proposal extending the well known Noordzij Cube (with three dimensions) to an infinite number of dimensions, while still being able to handle it. :)

This visualisation shows an example with about 16 dimensions/axes Multiverse Root-Method Interpolation Interface

Working Example (Linear Interpolation / Rudimentary Interface)

Working Example Vimeo Screenshot https://vimeo.com/118806744

Each Point represents either a …

• Master (editable/already edited Instance, any other/extern compatible design …)
• Instance (a possiblity represented by any point in the design-space multiverse ;)
• Parameter/Effect/Filter/Algorithm (a designed and engineered formal modifcation, using data from the Masters/Instances + other (user) inputs. (e.g. Path-Offset,Slant, Cursivy, box-shadow, Tension, RMX-Tools, …)

The main Root-Point represents a user defined default setup, which can be either a Master or an Instance. All other Points in the system are reffering to the Root-Point. This not only makes it much easier to grasp, suddenly the actual calculations e.g. for an interpolation are getting much easier. (ToDo: adding an calculation example)

The actual technique is irrelevant! It could be …

• Standard linear vector calculation (Interpolation)
(restrictions like actual rotation of forms,… are made quite clear here: http://partners.adobe.com/public/developer/en/font/5091.Design_MM_Fonts.pdf (p.12-17)
• Elaborated vector calculation, only eliminating the interpolation restrictions (not seen yet … e.g. adding a visual interpolation path similar to animation paths in aftereffects…)
• Kalliculator calculations
• Metafont calculations (Metapolation)
• Prototypo calculations
• Font Chamelion calculations :)
• …
• A combination of all :D (is Metapolator actually trying that?)
• Or just sketching it, using beziers or a penci!, etc.

No matter what input/output format (open/proprietary): Postscript Type 1, MM, …, OTF, …, UFO3, Glyphs, VFB, Metafont, Prototypo,Knoths Typy, …) — sure, the more it offers the better…

Math for Interpolation

The Basic Math of an Interpolation looks like that:

I = M1·a + M2·b + M3·c .. n·M[N]
and the sum of all the factors (a, b, c .. n) equals 100%.

The above description is from: https://github.com/metapolator/metapolator/wiki/metapolation#the-math


And here an example to extend that a bit:

Actually the math for an ›root interpolation‹ is not any different from an basic interpolation between only two masters:
I = M1·0% + M2·100% (basic) = M1·100%-100% + M2·100% = M1·a-b + M2·b (M1 = root)

or three/more:
I = M1·a-b-c-… + M2·b + M3·c + …
if b and c is set to 100%, M2 and M3 will get applied in full extend at least if you think of M2 and M3 as changes made to M1.

So you only add the changes rather than adding or averaging everything. And the 100% rule for the factors isn’t touched by that.


A more basic visualisation:
Interpolation Interface




And some more sketches for another interface

Sliders
Interpolation Interface

This specific example is inspired by Tim Ahrens RMX Scaler:
Interpolation Interface

Less suitable interpolation technique

This Example uses a more basic interpolation method/calculation (no Root-Method), wich makes it quite complicated if you have more than three masters:
Interpolation Interface
The script doing the calculation you find in this repository. (for Glyphs) (even though simple ›parameters‹ as spacing, kerning, x-Interpolation, y-Interpolation wouldn’t be that hard… this is not implemented there)

// TODO: upload another script with the ›root-method‹

License

The content of this project is licensed under the CC BY 4.0 – So feel free to implement it anywhere!

Type Design Multiverse by Manuel von Gebhardi is licensed under a Creative Commons Attribution 4.0 International License.

Releases

No releases published

Packages

No packages published

Languages