• Superposed_Cat
In summary, the poster is working on a project involving 3D gradients and is looking for a way to obtain the Y gradient. They are trying to stretch a cylinder between two points using the straight line equation and have already obtained values for the Z and X gradients. They are open to suggestions for other methods and are also trying to determine the deformation gradient tensor. They provide additional information about the problem, including the use of matrices and tensors, and the angle of the axis of the cylinder in the deformed configuration.

#### Superposed_Cat

Hello all, I know 3d gradients are often represented by gradient vectors but in the current project I am working on it would be a lot more convenient for me to do it this way if possible, the X gradient is given by Δy/Δx, and the Z gradient by Δy/Δz how can one obtain the Y gradient?

I tried endY-beginY. in case your wondering.

Superposed_Cat said:
Hello all, I know 3d gradients are often represented by gradient vectors but in the current project I am working on it would be a lot more convenient for me to do it this way if possible, the X gradient is given by Δy/Δx, and the Z gradient by Δy/Δz how can one obtain the Y gradient?
This is very confusing.
If w = f(x, y, z), then ##∇w = <\frac{\partial w}{\partial x}, \frac{\partial w}{\partial y}, \frac{\partial w}{\partial z}>##. What function are you working with?

Superposed_Cat said:
I tried endY-beginY. in case your wondering.
I don't know what this means.

Mark44 said:
I don't know what this means.

I meant divide not subtract sorry. what's w again?

What does endY - beginY (or endY/beginY, whatever) mean?

In the equation w = f(x, y, z), w is the dependent variable in what I'm showing as a function, written using normal notation. I'm trying to get you to write something meaningful.

this is for a program I am writing, in it there is a cylinder consisting of rows of circles, its essentailly a plane wrapped in a circular shape using trig. now i need to get that cylinder to stretch between two points, so I am using the straight line equation to do this. so there isn't a function where I can use partial derivatives. I am trying to extend the 2d line equation to 3d in non parametric form (delta x over delta y). I have gotten the z and x shift values using what I said earlier but I can't figur out how to do the y shift. If you can think of another way to do what i need to do I am open to change in the method.Reason I said End.Y/Begin.Y was because i tried to get the gradient relative to the xz plane, so y2-0/y1-0.

Last edited:
Superposed_Cat said:
this is for a program I am writing, in it there is a cylinder consisting of rows of circles, its essentailly a plane wrapped in a circular shape using trig. now i need to get that cylinder to stretch between two points, so I am using the straight line equation to do this.
Still not clear. Mathematically, a cylinder extends infinitely far along its central axis. For example, x2 + z2 = 1 is a right circular cylinder of radius 1, with its central axis lying along the y-axis. When you stretch the cylinder, do you mean lengthwise (along the axis) or laterally, so that its cross-sections deform to ellipses?
[Superposed_Cat said:
so there isn't a function where I can use partial derivatives. I am trying to extend the 2d line equation to 3d in non parametric form (delta x over delta y). I have gotten the z and x shift values using what I said earlier but I can't figur out how to do the y shift. If you can think of another way to do what i need to do I am open to change in the method.Reason I said End.Y/Begin.Y was because i tried to get the gradient relative to the xz plane, so y2-0/y1-0.

BTW, the word "gradient" has different meanings in American English vs. British English. Here in America we talk about the slope of a line, and reserve gradient to mean the vector of partial derivatives of a function of two or more variables.

You are trying to describe the deformation of a cylindrical surface. Does the surface stretch axially? Does the surface stretch radially. Is there angular shear? Is the deformation axially symmetric? Or, is the deformation totally arbitrary?

Chet

Thats what I am trying to do, what I did initially as a temporary fix was to add offset=gradient*(cylinder vertex height) to each vertex in the cylinder. which worked for x and z shifting. Is there a better way to do this if the y gradient can't be obtained?

Is it just the axis of the cylinder that is being displaced (by shearing the cylinder like a deck of cards), or is there more being done, so that the circles don't remain circles, or the radius of the circles increases, or the vertical distance between the circles gets larger?

Chet

like the deck of cards, that's just the way I am trying to do it, is there a better way?

Superposed_Cat said:
like the deck of cards, that's just the way I am trying to do it, is there a better way?
Is this a solid cylinder or a thin tube?
chet

I said earlier a plane wrapped cylindricly therefor thin tube.

Superposed_Cat said:
I said earlier a plane wrapped cylindricly therefor thin tube.
You are trying to determine the deformation gradient tensor for the deformation you illustrated in post #9, correct?

Chet

well I know matrices not tensors but if they are the same thing and you can do it in that way then I am happy. Or regardless whatever your solution is id be interested to hear it

Well, if I understand the problem correctly, I'll try to lead you through the solution.

Let x0, y0, and z0 represent the coordinates of a material point on the cylinder before the cylinder has been deformed, and let x, y, and z be the coordinates of the same material point on the cylinder after the cylinder has been deformed. If θ represents the angle that the axis of the cylinder makes with the z (upward) direction in the deformed configuration of the cylinder, please express x, y, and z in terms of x0, y0, and z0 and θ. (Assume that, in the deformed configuration), the axis is tilted in the x direction.

Chet

Found a soultion
CylinderPointPos = OriginalCylinderPointPos + ((positon2 - positon1) / RingCount * RingHeight);

Superposed_Cat said:
Found a soultion
CylinderPointPos = OriginalCylinderPointPos + ((positon2 - positon1) / RingCount * RingHeight);
Well, this is not what I have in mind, but if you are happy with this solution, then I am.

Chet

What did you have in mind? Your not giving me the solution ow that I have one. Just wondering out of curiosity.

Superposed_Cat said:
What did you have in mind? Your not giving me the solution ow that I have one. Just wondering out of curiosity.
$$x=x_0+tan\theta z_0$$
$$y=y_0$$
$$z=z_0$$
So, if two neighboring material points in the original configuration of the body are located at x0 and x0+dx0, y0 and y0+dy0, and z0 and z0+dz0, these same two neighboring material points in the deformed configuration of the body are located at x and x+dx, y and y+dy, and z and z+dz, with
$$dx=dx_0+\tanθ dz_0$$
$$dy=dy_0$$
$$dz=dz_0$$

So,
$$\left( \begin{array}{c}dx\\dy\\dz\end{array} \right)=\left( \begin{array}{ccc}1&0&tanθ\\0&1&0\\0&0&1\end{array}\right)\left( \begin{array}{c}dx_0\\dy_0\\dz_0\end{array} \right)$$

The 3x3 matrix is the deformation gradient tensor components.

Chet

Superposed_Cat
Okaty a standard skew matrix? did not think of that, funny because my entire program is based on matrices. Am I correct in thinking that I can convert this to 4x4 (the software uses only 4x4 so rotation and translation can be supported in a single matrix) by going:

\begin{array}{ccc}
1 & 0 & tan(θ) & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1 \end{array}

this seems to flatten the cylinder when I apply the matrix. Is there a version that won't do that?

Last edited:
Superposed_Cat said:
Okaty a standard skew matrix? did not think of that, funny because my entire program is based on matrices. Am I correct in thinking that I can convert this to 4x4 (the software uses only 4x4 so rotation and translation can be supported in a single matrix) by going:

\begin{array}{ccc}
1 & 0 & tan(θ) & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1 \end{array}

this seems to flatten the cylinder when I apply the matrix. Is there a version that won't do that?
I really don't understand what you are referring to here. Maybe you learned this stuff differently from me. I don't understand what your 4x4 matrix is supposed to represent. The transformation I gave maps an arbitrary differential position vector between two material points in the initial undeformed configuration of the cylinder into the corresponding differential position vector between the same two material points in the deformed configuration. From this, you can determine all the strains, which I assume, is your objective.

Chet

Yes essentially I do, also as I said reason I have to have a 4x4 representation of the skew matrix you gave was that the software I use only uses 4x4 matrices. Thanks for your help though, I learned something new.