GithubHelp home page GithubHelp logo

Comments (4)

JohnDTill avatar JohnDTill commented on June 1, 2024

Hello Jiefeng,

Thanks! I still remember most of my PhD research. We're actually at the proof stage of publishing my last paper!

This is a brain teaser. You have an explicit formula for the arclength s(θ). Perhaps you could parameterize all your equations by θ. For example ∂p/∂θ = ∂p/∂s * ∂s/∂θ = Rv * ∂s/∂θ. You would need to solve ∂s/∂θ. The arclength in polar coordinates is defined by ds = sqrt(r² + (dr/dθ)²) * dθ, where (dr/dθ)² = a², so ∂s/∂θ = sqrt(r² + a²) = sqrt(a²(1 + θ²)).

Then you have the curvature with respect to theta, κ(θ), and can build u₀ = [κ 0 0]. The local frame derivative is defined by v₀ ≔ R₀ᵀṗ₀, where ṗ₀ = ∂p₀/∂s = ∂p₀/∂θ * ∂θ/∂s. Depending on how you define your frames, you could have R₀= Rz(θ), and the Cartesian coordinates from polar coordinates could be p = r [cθ sθ 0] = aθ[cθ sθ 0], which you could find an analytical derivative for.

It's a little rough, but I think parameterizing by θ is probably the best approach.

from continuumrobotexamples.

jiefengsun avatar jiefengsun commented on June 1, 2024

Hello John,
Thanks for the response!
It is a brain teaser. I thought about reparameterizing by θ and it should work well. The only thing is that I have to make sure that the constitutive equations are still valid since the distributed force previously is defined by force in a unit length and now I need to exam what is the unit when I applied a distributed force.

However, I am thinking whether there is a general way to do it because we will need to parameterize it differently for a different problem. For example, a parabola y = x², at any point x, the arc length is
image

Then, I need to reparameterize the equation by x instead of s. I feel it is a way to go. But just not very convenient. I need reformulated the whole model when I have a curve that might be explicitly written as s(θ) or s(x).

Do you think if there is a numerical way to still parameterize a curve by s so that I can still keep the original formulation?

Best,
Jiefeng

from continuumrobotexamples.

JohnDTill avatar JohnDTill commented on June 1, 2024

That is a good point- it's a lot of work for one specific problem. You could build a table of values u₀(sᵢ) and v₀(sᵢ) and interpolate to find u₀(s) and v₀(s). If you wanted that table to be linspaced, you'd have to also do some numerical work to find θᵢ values such that sᵢ(θᵢ) values are approximately linspaced.

from continuumrobotexamples.

jiefengsun avatar jiefengsun commented on June 1, 2024

Thanks!
I will try to see if it is possible to build a table of values u₀(sᵢ) and v₀(sᵢ). Yet I don't have a concrete idea of how to implement it. It needs a table of p(sᵢ) from p(θ). And then, it might be difficult to do partial differentiation on a table to get ṗ₀(sᵢ) from p(sᵢ), and eventually, arrive at v₀(sᵢ) ≔ R₀(sᵢ)ᵀṗ₀(sᵢ).

Some guys use the discrete elastic rod theory (Bergou et, al). I can look into it and see if they have a convenient way to represent a curve that cannot be explicitly parameterized by s.

Anyway, I will try hard. Thank you again for your help!

Jiefeng

from continuumrobotexamples.

Related Issues (12)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.