Hello all, I know 3d gradients are often represented by gradient vectors but in the current project im working on it would be alot 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.

Mark44
Mentor
Hello all, I know 3d gradients are often represented by gradient vectors but in the current project im working on it would be alot 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?

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

I don't know what this means.

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

Mark44
Mentor
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 im 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 im using the straight line equation to do this. so there isnt a function where I can use partial derivatives. im 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 cant figur out how to do the y shift. If you can think of another way to do what i need to do im 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:
Mark44
Mentor
this is for a program im 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 im 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 isnt a function where I can use partial derivatives. im 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 cant figur out how to do the y shift. If you can think of another way to do what i need to do im 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.

Chestermiller
Mentor
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 im 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 cant be obtained?

Chestermiller
Mentor
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, thats just the way im trying to do it, is there a better way?

Chestermiller
Mentor
like the deck of cards, thats just the way im 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.

Chestermiller
Mentor
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 im happy. Or regardless whatever your solution is id be interested to hear it

Chestermiller
Mentor
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);

Chestermiller
Mentor
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.

Chestermiller
Mentor
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 wont do that?

Last edited:
Chestermiller
Mentor
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 wont 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.