x^2+sin(x)^2=0.2^2
Répondre à la discussion
Affichage des résultats 1 à 13 sur 13

x^2+sin(x)^2=0.2^2



  1. #1
    invitefac885d8

    x^2+sin(x)^2=0.2^2


    ------

    Bonjour à tous !
    Je cherche à réaliser un programme pour afficher une fonction sinus à l'écran.
    Je cherche à découper la courbe en droite de tailles identiques :
    En passant par Pythagore je trouve si x=Pi/2 une longueur de 1.86
    -> sqrt((Pi/2)^2+sin(Pi/2)^2)=1.86

    Maintenant je cherche à faire l'inverse : je veux une longueur de 0.2, je dois donc résoudre l'équation que j'ai mis en titre x^2+sin(x)^2=0.2^2
    Est-ce complexe, possible, la bonne méthode ?

    Merci d'avance,
    M.

    -----

  2. #2
    gg0
    Animateur Mathématiques

    Re : x^2+sin(x)^2=0.2^2

    Bonjour.

    Je ne vois aucun rapport entre le tracé de la courbe de sinus et les calculs que tu fais. Tu calcules la distance entre l'origine et le point de la courbe d'abscisse pi/2.
    Mais pour ton équation, il n'y a pas de résolution algébrique, donc tu ne vas pas pouvoir programmer simplement. Tu peux mettre une routine de résolution de l'équation, mais le tracé sera lent, alors que point par point il est rapide.

    Cordialement.

  3. #3
    Médiat

    Re : x^2+sin(x)^2=0.2^2

    Bonjour,

    J'ai cru comprendre que dmichcan veut tracer "approximativement" une fonction, mais pas avec un pas constant en x, mais constant en longueur du segment entre deux points, on pourrait aussi essayer constant en longueur de la courbe, mais avec un pas suffisamment petit, ces deux derniers sont "identiques".

    J'ai eu à résoudre ce type de problème pour un plugin de logiciel de Ray-Tracing, la seule solution que j'ai trouvée c'est un calcul brutal (à partir d'un point x(t), y(t), on calcule x(t+dt), y(t+dt) jusqu'à trouver le dt qui convient (en le faisant varier par pas "suffisamment plus petit" que le pas attendu sur la longueur de la courbe, ou de la corde de courbe)).
    Dernière modification par Médiat ; 03/04/2015 à 11h33.
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  4. #4
    invite51d17075
    Animateur Mathématiques

    Re : x^2+sin(x)^2=0.2^2


    ton x est forcement tout petit petit
    en première approximation sin(x)=x
    d'ou

    soit x de l'ordre de

    pour cette valeur la diff entre le membre de gauche et celui de droite vaut
    0,00013
    reste à affiner si tu le souhaites par diff méthodes possibles.

  5. A voir en vidéo sur Futura
  6. #5
    invite51d17075
    Animateur Mathématiques

    Re : x^2+sin(x)^2=0.2^2

    ps : je n'ai mentionné que le cas x>0, mais c'est la même chose

  7. #6
    invite51d17075
    Animateur Mathématiques

    Re : x^2+sin(x)^2=0.2^2

    Citation Envoyé par Médiat Voir le message
    J'ai eu à résoudre ce type de problème pour un plugin de logiciel de Ray-Tracing, la seule solution que j'ai trouvée c'est un calcul brutal (à partir d'un point x(t), y(t), on calcule x(t+dt), y(t+dt) jusqu'à trouver le dt qui convient (en le faisant varier par pas "suffisamment plus petit" que le pas attendu sur la longueur de la courbe, ou de la corde de courbe)).
    apparté HS : tu as écris un soft de ray-tracing. ?
    comme c'est HS, tu peux me répondre par MP.
    ( tu sais que ce domaine, au sens large, fut le mien pendant 20 ans )
    Cdt

  8. #7
    gg0
    Animateur Mathématiques

    Re : x^2+sin(x)^2=0.2^2

    S'il s'agit vraiment de tracer un segment d'un point de la courbe au suivant, en appelant M(x,sin(x)) et N(x',sin(x')) nles de"ux points, on a

    Donc même avec x connu, l'équation en x' est encore plus compliquée. Cependant comme on peut majorer (sin(x')-sin(x))² par (x'-x)², on en déduit (en supposant x'>x) que

    Ce qui donne une borne supérieure à la valeur de x', donc une bonne base pour une recherche dichotomique.

    Cordialement.

  9. #8
    invite51d17075
    Animateur Mathématiques

    Re : x^2+sin(x)^2=0.2^2

    soit
    alors
    et
    tu peux t'approcher d'une la valeur plus proche par la méthode de newton.( par les tangentes )
    Cdt
    Dernière modification par Médiat ; 03/04/2015 à 16h19. Motif: Latex

  10. #9
    invite51d17075
    Animateur Mathématiques

    Re : x^2+sin(x)^2=0.2^2

    avec une seule itération j'obtiens
    si xo=0,2/rac(2)
    x1=x0+0,00023665
    et f(x1) env 10^(-7)

  11. #10
    invite51d17075
    Animateur Mathématiques

    Re : x^2+sin(x)^2=0.2^2

    de toute façon dischcam n'est pas revenu.
    c'est assez déprimant pour tout ceux qui veulent aider, comme ggo, planèteF , et d'autres.
    je vous envoie mes amitiés !
    Cdt

  12. #11
    invitefac885d8

    Re : x^2+sin(x)^2=0.2^2

    dmichcan est revenu, dmichcan fête pâques, il n'est pas très doué en mathématique.
    Je dois assimiler ce qui à été dit et essayer de l'appliquer à mon programme.
    Ce que dit Médiat correspond exactement à ma problématique, qu'est ce que cette équation vient faire dans un soft de ray tracing ?
    Je vous remercie pour toutes ces réponses.
    Maintenant je digère,
    blurp...
    a bientôt

  13. #12
    Médiat

    Re : x^2+sin(x)^2=0.2^2

    Citation Envoyé par dmichcan Voir le message
    Ce que dit Médiat correspond exactement à ma problématique, qu'est ce que cette équation vient faire dans un soft de ray tracing ?
    Je vous remercie pour toutes ces réponses.
    Bonjour,

    C'était pour "dessiner" des surfaces définies par des points sans être sensible au paramétrage mais seulement à la géométrie de la surface, si j'y pense je posterais un exemple demain matin.
    Dernière modification par Médiat ; 07/04/2015 à 16h30.
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  14. #13
    Médiat

    Re : x^2+sin(x)^2=0.2^2

    Bonjour,

    Voici l'exemple, d'un "Dôme" avec visualisation des méridiens et des parallèles, à gauche avec un espacement de ces lignes obtenu par un pas constant des paramètres, à droite par un pas constant en longueur d'arc pour les parallèles et pas pour les méridiens.
    Images attachées Images attachées  
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse