Getting path parameter of point on curve

Bruce Bartlett shared this question 2 months ago
Answered

Hi - I have a parametric curve

C=Curve(t, t^3, t, -5, 5)
And I have a movable point A attached to the curve C.

A=Point(C)

I would like to get the parameter t as I move A along the curve with the mouse. I don't know how to do this.

If I use

PathParameter(A)
then I get a parameter value between 0 and 1, i.e. not the original parameterization of the curve.

If I try to use sliders, then the point A is no longer movable along the curve with the mouse.

Comments (15)

photo
1

t=x(A)

Files: t.ggb
photo
1

To get the path parameter from t, you need a linear mapping of the interval [-5; 5] to the interval [0; 1]:


PathParameter = (t - (- 5)) / 10.

To get t from PathParameter, use

t=10*PathParameter - 5.

photo
1

Thanks, but I would like a method which will work for any parametric curve, not just this simple one, eg.

C=Curve(te^t, tsin(t), t, 0, 5)

If you attach a point A to the curve C, and then input

u=PathParameter(A)
the parameter u will change with constant speed as A moves along C with constant speed. But I want the original parameter t. I don't know how to get it without numerically solving the transcendental equation

t sin(t) = x
for t in terms of x. This is sad, because the original parameterization of the curve C has been ruthlessly "forgotten". It could have been kept as auxiliary data in the storage of C, but it seemingly wasn't.

photo
1

TYou can use natural parameter

s=Length(C, C(0), A)

photo
1

> You can use natural parameter

I would like to have access to the original parameter t, not the arclength parameter.

For instance, in a simulation of the planets, a parametric curve C(t) might describe the motion of a planet with respect to physical time t. Having access to the physical time t is crucial. It would not be helpful in that situation to parameterize in terms of arc length.

photo
photo
1

If I try to use sliders, then the point A is no longer movable along the curve with the mouse.

have you tried to move A point on curve C created by a slider a

Files: foro.ggb
photo
1

Thanks - but as I said in my original question, the idea is that the user can drag the point A with the mouse. It is a much more pleasant user interface, dragging a point along a curve with the mouse, than dragging a slider.

However, if we drag A along the curve C with the mouse, then we lose knowledge of the parameter t. That is the problem.

photo
1

Ignore my reply, I misunderstood. Thank you.

photo
photo
1

Parametric curve describes the motion along a geometric curve. When you see the trace of skis on the snow there is no way to retrieve the speed of the skier.

photo
1

Your analogy is not quite right. More accurate would be if someone took a video of the person skiing on the snow. When we replay the video we can see the time (in seconds) in the top right corner.

That is exactly what we have. We initially type in a parametric curve C(t) into Geogebra. So we supply an explicit parametrization in the beginning. This parameterization might be very important (eg. it might represent physical time in some simulation). It is frustrating that Geogebra discards it.

photo
photo
1

Bruce, finaly I understand what you mean.

1. curve c(t)

2. slider

3. A=c(t)

Try this move_me.ggb

photo
1

Thank you! So - I need to make a slider and then set A=C(t). I was doing it wrong, I was attaching A to C via the "Point on Object" tool, which wasn't a good method.

photo
1

3. A=c(slider)

In fact this is my attached in my last post

photo
1

Yes - as I said above, I misunderstood your method. Thank you.

photo
photo
1

really pathparameter() for curve(t) t from 0 to k is equal to t/k

© 2019 International GeoGebra Institute