Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Assuming I have two path functions $$f, g : R^+\to R^2$$ for example a sin curve: $$f(t) = (t, \sin(t)) t:[0, 1]$$ or a circle: $$g(t) = (\sin(t), \cos(t)) t:[0, 1]$$ What I need is a way to calculate $$h = f * g$$

so that the the result will look like it's a sin going in a circle, assume you take the X axis and bent it into a circle while the sin on it, same way bending sin over another sin and etc.

So this operation basically takes the first function and shape it over the second.

Anyone know how it's called and what is the operation? There must be something like this in topology.


enter image description here

applied on this:

enter image description here

will result in something like this (using coffeemath method):

enter image description here

the blue line is the sin going around the circle.

but this only works for functions like: $$f(t)=(t, v(t))$$

here is sin around sin around sin using same method:

enter image description here

This is good already but maybe there is a function for the general case?

Solution: (by coffeemath)

given $$f(t)=(u(t),v(t))$$ $$g(t)=(x(t),y(t))$$ to draw f around g will be: $$w(t)=g(t)+u(t)T(t)+v(t)N(t)$$

now i can draw circle around another circle:

enter image description here

share|cite|improve this question
It sounds like you want to define a mapping $m: \mathbb{R}^2 \rightarrow \mathbb{R}^2$ which satisfies $m(t, 0) = g(t)$, and then define $h = m \circ f$. But there will be many such mappings in general, and I don't understand what you want $h$ to look like in your example. Maybe you could draw it? – Hew Wolff Nov 1 '12 at 22:28
Also, your post could benefit from the use of symbols such as <backslash>rightarrow. – Hew Wolff Nov 1 '12 at 22:30
I made a drawing.. :/ – Vlad Nov 1 '12 at 23:08
If by the general case you mean you want to wrap $f(t)=(u(t),v(t))$ around $g(t)=(x(t),y(t))$: With notation as in my answer, throw in the unit tangent vector $T(t)$ and make $w(t)=g(t)+u(t)T(t)+v(t)N(t)$, I think might do it. – coffeemath Nov 2 '12 at 16:16
Now what's left to make a program that starts with a set of functions and then put them on each other, but I have no idea how to find the T(t) for a general f(t) using a computer, but I'll probably find a way. – Vlad Nov 2 '12 at 19:47
up vote 3 down vote accepted

In your example you had a curve $f(t)=(t,\sin(t))$ to be "wrapped around" another curve $g(t)$. From the picture it looks like the important thing to use is the $\sin(t)$ part, so in the following I'll assume the special case of $f(t)=(t,h(t))$ where you want to wrap the function $h(t)$ around the other curve $g(t)$.

If the curve $g(t)$ is thought of as a vector valued function $g(t)=(x(t),y(t))$ then one way to go is to compute the unit normal vector $T(t)$ of $g(t)$. By this I mean we first find the tangent vector $(x'(t),y'(t))$ and rotate it 90 degrees so it becomes $(-y'(t),x'(t))$, and then divide this by its length to get a unit normal vector $T(t)$.

Then one possibility for the "wrapped" curve formula is $w(t)=g(t)+h(t)N(t)$. Here $h(t)$ is a scalar function which is multiplying the unit normal vector $N(t)$ in order to obtain the point on the wrapped curve $w(t)$, where near the point $g(t)=(x(t),y(t))$ we're using the unit tangent and normal vectors to generate a coordinate system near $g(t)$.

I think this will work OK provided the curve $g(t)$ is not extremely curved, and provided the function $h(t)$ being wrapped doesn't get too large. These normal lines to the curve can typically intersect away from the curve, in which case the wrapped curve appearance won't be good.

share|cite|improve this answer

Following my comment above, with $g$ defined as in your example, I would try defining $m: (x, y) \mapsto (2^y \sin x, 2^y \cos x)$ and $h = m \circ f$.

I don't know of a standard operation like this, and I'm not sure how to follow this approach for general $g$.

share|cite|improve this answer

Given a smooth curve $\gamma:I\rightarrow \mathbb{R}^2$, You can define the Gauss map $n:I\rightarrow S^1\subset \mathbb{R}^2$ giving you a unit vector normal to your curve at every point in a smooth way. (Here this means it will stay on one side of the curve.)

If $f : I\rightarrow \mathbb{R}$ is a function, it seems you want to define a curve like $f\cdot\gamma(t) \equiv \gamma(t)+f(t)n(t)$, with addition in $\mathbb{R}^2$.

Is this what you are looking for?

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.