# Thread: Conformal map and knots

1. ## Conformal map and knots

Hi there, this is my first post. I proposed my work on the CG Society but they didn't like it enough. So I'll try it here to see whether your community is more interested: I am a mathematician and as such produce images (like knotwork) and I can deform images in some special ways (conformal maps).

The method I setup in order to draw knots has already been noticed in this forum since I am the author of the website entrelacs.net. This methode can be used to produce tilings for example, but as well 3D objects as a knotwork drawn on a surface embedded in 3D.

The second method I am describing deals with deforming images. Mathematical functions from the plane to the plane can be used to deform images. Here, I am talking about functions of a certain kind which are called conformal, or holomorphic, or analytic (mathematicians love to give several names to the same thing depending on which side they are looking at it). What they are good for is to deform pictures in such a way that there is no shear: the angles are locally preserved, a small circle is going to be mapped to a small circle. I put up here a small applet where you can try it out: you have to acknowledge that a java application is on the web page, then look for the "Charger une image à déformer" button, meaning "Load a picture to deform", click on it, locate a (not too large) JPEG picture, give a function of z (try exp(z), z^2, 1/z, log(z) ...) and see what happen in the "final" frame, which is the result of the computation.

You can mix the two and get spirals or inversion of knots for example.

I would like to know whether some people are interested, and whether it is difficult to make a plugin out of this sort of applet in order to deform a texture mapping on a surface in 3D.

Thanks, Christian Mercat

2. Hi and welcome. nice images you have produced, there have been many posts that are similar to your in the past.
I have found another piece of software that appears to be centered around similar lines as your designs here's the link you can get really awesome images very simply and the program doesn't break the bank.

http://www.groboto.com/

Hope this helps a little but I know that there are lots more people here who have experimented with knots and patern work.

3. Most of what you said didn't register. Can you describe describe the algorithm in some more detail, and in words that you don't need to be a math major to understand?

4. Nice, cool stuff. There are quite a few people here 'messing' with geometry.
And plugs and new ways to generate interesting geometry are always welcome.
Check out the knot link in my sig. That's a sample of what people do here.
Cheers and welcome
Lemo

5. ## Hehe!

Bien le bonjour!

I have given your site's link some many times in this ZB forum!
I am facinated for all these curious entrelacs
Les descentes en abîmes sont vertigineuses

Maybe this site can interest you by his design and subject

Explore this site, it's not exactly entrelacs but facinating too!
Mukarnas

A frenchy mathematician , that's very cool
And for 3D maybe this forum can interest you

The prog Knotsbag of your friend is a pure true gem!
Knotsbag

Just tested your java function Some astonished! Click the second images
Pig original image by Pride

6. ## Deforming pictures with functions

Alright Bill, a conformal map is just a function, which sends a point in the plane to another location, just like a regular map streched on your table kitchen does: it allocates to a point on your table, a point in Nevada or in Montpellier, whether your kitchen is in California or in Paris, it tells you how to deform your table to a great landscape.

There are many functions around, the easiest one is the identity (no deformation at all, no great outdoors, just your table kitchen back again). We call it Z->Z, map a point Z to itslef. There are translations: Z->Z+C where C is a constant vector, map your table kitchen to your desk for example. Rotations are noted Z->exp(i theta) Z where theta is the angle, i is this mysterious imaginary number whose square is -1. Inflations (also known as homotheties) are noted Z -> lambda Z where lambda is the ratio by which you inflate, lambda>1 you inflate, lambda<1 you shrink. You can compose rotations, inflations and translations, that's what regular maps do, you are not at the same point, not at the same scale and not at the same orientation as the map. We call that similitudes.

But there are more complicated functions than similitudes.
For example Z -> Z^2 the square function.

The problem with those is that usually they are not injective, not 1 to 1: two different guys can be allocated the same spot. For images, it's a problem, which color to assign to a pixel? That's what happens if you stack a bunch of pictures of your vacations in Nevada on your table kitchen, Nevada is bigger than your table and you'll have to stack them.

Then you simply reverse the question: you assign a function from your table kitchen to Nevada. You put an image in the range (all the colors of Nevada stay in Nevada) and you pull it back to your kitchen table (the domain):
To know the color of a given point on you table kitchen, you map it to Nevada, it's a given point there, and you pull back the color of that point to your table. In effect you actually take the weighted average of the 4 neighboring pixels.

Is it clearer? Here is an example with an actual picture.

7. ## Knots in Zbrush

Thanks for the link. I actually picked my website on ZBrush, first on this thread with the marvelous picture of a leather knotted ball
by JMeyer.

(I am not sure about the netiquette concerning citing other's work?)

Total Awe... But yours, Lemonado are brilliant as well, I love "We need more colors" Great stuff!

8. ## Wah démentiel!

Why didn't I find this place before, so many good links and people! I found as well a link to Jos Leys place which is great as well.

Merci beaucoup Pilou!

9. Hey Frenchy......the first thumbnail would make great fabric for a shirt!
I like animals on wheels.

10. ## @Pride

Of course you have recognized your poor beast of this crazzy thread
Ps For surfers the programm of deformation is bottom of this page
(instruction are in english just previous the prog)

11. The prog Knotsbag of your friend is a pure true gem!
Knotsbag
It's true, Géraud Bousquet did a wonderful job. And the Mac Platform is so nice to create universal code that runs on any platform. But a much older friend did, long ago, a very nice job as well, it's Steve Abbott with his Knots3D visual basic software. We met (like, you know, physically ) in Strasbourg in 1997 and collaborated nicely. His software is maybe more relevant to the Zbrush community since it can export to VRML.

But the algorithms implemented by Géraud are much more precise and versatile. I think one should talk him into going 3D!

12. Cool thread! And regarding netiquette... Citing is great as it gives others a link to work they might have missed.

The only thing I saw this community do a few times is to literally tear people apart which claim work of others to be their own. It seems that once or twice a year someone decides that it's time to sacrifice themselves while posting images from others as their own in the web 8). Then the monsters on this site become alive and climb out of their monitors to gather at the home of the unsuspecting victim 8))). Besides that, all is just good fun here.

Your applet is just great! Besides that I just spend 10Euro on that Bag of Knots 8). I have to play with both on the weekend. Ahhhhhh the inspiration 8).

Have a great weekend!
Lemo

Can you give some examples of lines of formula than we can enter?
List of possible letters (x,y,z,i (?), constant as Pi (?), sign as ^, etc...
I have seen your page but a list will be also useful for surfers
The name of save image finale result "image" must be tranformed in "image.jpg"

Ps Of course Jos Leys was yet named by me

About 3D and formula maybe this free one can interest you K3Dsurf
(english and french presentation: little flags uper right side page)

Pss It's not with your sort of geometric transformation than some people argue the twin universe

Here the formula : 2*z*i*z^2 : Three little piggies
(original image by Pride)

14. ## Authorized functions

The function you type in is an algebraic expression in z. The values of z are + 1 on the right hand side in the middle, -1 on the left hand side, zero right in the middle, and +/- i are along the vertical middle line.

You have for example the polynomials,
try z^2 which puts a zero derivative in the middle.
Then (z^2-0.25)^2 puts 2 zero derivatives at +/- 1/2

You can then look for inversions (rational fractions)
1/z looks great, it transforms the horizontal and vertical lines into circles (all the Möbius transformations do that, the inversion is a particular one). It has a pole right in the middle, so the infinite is sent there, lots of smaller pictures accumulate. The unit circle (going through +/-1 that is the left and right sides) is globally preserved, what was inside is mapped outside, what was outside (especially the infinite) is mapped inside. It simply flips inside/out the circle.

You can put several poles like 1/(z^2-1) where the infinite accumulates in 2 points.

Then you have transcendental functions, like exp(z) the exponential map. Basically the exponential map translate the cartesian coordinates (x,y) into polar coordinates (r,theta). One has to fine tune the numbers to adapt to one's picture. Like a*exp(b*z)+c where a,b,c are some numbers to play with. Its reciprocal is the logarithm log(z). It's a very peculiar function because it is not single valued, so the pictures with the log usually don't look continuous, one has to play with the numbers and adapt them to the aspect ratio of the image that is manipulated in order to get something continuous.

Another multi-valued function is the square root sqrt(z) and all the other fractional powers exp(log(z)/3) for example is the cubic root (the square root can be entered exp(log(z)/2) ).

Playing with exponentials and logs can be a lot of fun, you can transform your picture into a spiral or a set of concentric rings with functions like

f(z)=2*3.14159*(1148+1823*i)*(log(z))/1823

for a 1823x1148 picture.

or f(z)=2*3.14159*i*(log(z))

I could have used Pi or pi, I don't remember which constants we've got in there... Look into the code or into the doc by the Java Tools for Experimental Mathematics group in the Technische Universität Berlin where I used to work and to where I come back often, and which feels like 127.0.0.1 to me.

15. After 8 intense years of development Harpo Duddleknoffer test flew his Roflcopter for the first time:

It's Fridayyyyy!!!!!!!!
Lemo

PS:I am so sorry Pride...

Page 1 of 2 12 Last

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•