Tracer la surface entre 2 courbes sous Matlab

Résolu/Fermé
chaton1930 Messages postés 40 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 5 août 2009 - 19 nov. 2008 à 17:06
 jtdjertfshgfs - 17 avril 2014 à 20:11
Bonjour,
Je souhaiterai remplir une surface entre deux courbes sous Matlab
Les deux courbes en question sont des spirales (équation paramétrées).
J'ai essayé avec la fonction "area" mais à priori ça ne marche pas.

Si quelqu'un a une idée je suis preneuse.

Merci d'avance pour votre aide

13 réponses

Fee Fay Messages postés 635 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 31 mai 2009 377
19 nov. 2008 à 20:40
Bonsoir torpedolos
Il n'y a rien de trop dans mes messages.
1) J'ai horreur de constater que j'ai répondu dans le vide et que la personne n'a même pas lu ce que j'avais pris la peine d'écrire.
2) J'ai horreur de devoir répéter 5 fois la même chose
3) J'ai horreur que l'on vienne dire que quelque chose est faux sans l'avoir essayé
4) J'ai horreur que l'on vienne me dire que je n'ai rien compris à la demande alors que le problème est résolu depuis 1/2h
5) J'ai horreur que l'on me dise que j'ai tort alors que j'ai raison
6) J'ai horreur que l'on me donne des énoncés faux ou incomplets et que l'on vienne ensuite pleurer parce que la solution ne vient pas assez rapidement
7) J'ai horreur des spammeurs qui se prennent pour le nombril du monde et veulent absolument une réponse immédiate au point de poster plusieurs fois s'il le faut pour que leur problème passe avant tout le monde
http://www.commentcamarche.net/forum/affich 7167869 php liste deroulante
http://www.commentcamarche.net/forum/affich 7169734 php menu deroulant
http://www.commentcamarche.net/forum/affich 7321833 bouton radio
http://www.commentcamarche.net/forum/affich 7321856 bouton radio important
Et à ce propos, concernant le respect, je pense qu'elle devrait commencer par lire la charte de ce forum, en particulier cette partie-là
CCM - Charte - Respect d'autrui
ne pas poster votre message plusieurs fois sur le forum
Bonne nuit
11
Utilisateur anonyme
19 nov. 2008 à 20:54
D'accord, c'est pas bien, mais c'est bon, desserre les fesses, t'en verra des pires dans la vie, coooooool !
0
jtdjertfshgfs
17 avril 2014 à 20:04
ouais d'abord
0
jtdjertfshgfs
17 avril 2014 à 20:10
c'est vrai à la fin
0
jtdjertfshgfs
17 avril 2014 à 20:11
nan mais ho
0
Fee Fay Messages postés 635 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 31 mai 2009 377
19 nov. 2008 à 17:38
Bonsoir

Tu peux faire cela avec fill ou patch.
Exemple :
t=linspace(0,2*pi,129);
ux=cos(t).*(1-t/(2*pi));
uy=sin(t).*(1-t/(2*pi));
vx=cos(t).*(1/2-t/(4*pi));
vy=sin(t).*(1/2-t/(4*pi));
X=[ux(1:end-1);ux(2:end);vx(2:end);vx(1:end-1)];
Y=[uy(1:end-1);uy(2:end);vy(2:end);vy(1:end-1)];
fill(X,Y,[0 0 1],'EdgeColor','none');
Bonne soirée
6
Utilisateur anonyme
19 nov. 2008 à 19:39
Peace and love brother's.

Chaton, Les gens qui t'aident sont des benevoles et ne te doivent rien, peut-etre que tu as mal lu, peut -etre que tu dois demander plus d'explication avant de dire que ça ne marche pas ? (et cocher resolu sur ton premier post si ça marche !)
Fee fay, le lien vers un opticien tés connu etait peut-etre de trop ?

Allez, c'est terminé, faites vous un bisou.

;-)
3
chaton1930 Messages postés 40 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 5 août 2009 7
19 nov. 2008 à 18:03
Pas la peine de gaspiller ton temps à me repondre si c'est pour etre désagrable.
2

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Fee Fay Messages postés 635 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 31 mai 2009 377
19 nov. 2008 à 18:06
J'adore...
On prend le temps de répondre à une question, on donne la solution au premier message, on la répète au troisième message, et enfin, on se fait envoyer paître...
Pas la peine de gaspiller mon temps effectivement...

Pour finir, je te ferai remarquer que tes courbes ne sont pas des spirales.
À mois que l'intervalle de définition de t ne soit pas [0,2pi] mais ça je ne peux pas le deviner...
2
Fee Fay Messages postés 635 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 31 mai 2009 377
19 nov. 2008 à 18:24
Ma solution colle très bien, j'ai très bien compris ce que tu cherches (bis).

Ta solution, d'ailleurs, marche aussi très bien si tu fais un flip du second vecteur.
fill([x1 fliplr(x1_bis)],[y1 fliplr(y1_bis)],'r');
Quand à ma solution, puisqu'apparemment il faut aussi que je l'écrive en remplaçant mes notations par les tiennes, elle donne :
X=[x1(1:end-1);x1(2:end);x1_bis(2:end);x1_bis(1:end-1)];
Y=[y1(1:end-1);y1(2:end);y1_bis(2:end);y1_bis(1:end-1)];
fill(X,Y,[0 0 1],'EdgeColor','none');
Voilà... ce fut un réel plaisir de me faire prendre pour une buse et de me faire envoyer sur les roses.

Bonne soirée
2
chaton1930 Messages postés 40 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 5 août 2009 7
19 nov. 2008 à 17:52
J'ai essayé de faire avec "fill" mais le problème c'est que le debut et la fin sont relié (il boucle automatiquement sur le dernier point) et je veux pas qu'il fasse ça !
Une autre idée ?
Merci de ta réponse
1
Fee Fay Messages postés 635 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 31 mai 2009 377
19 nov. 2008 à 17:55
Une autre idée ?
Oui, elle est ici
1
chaton1930 Messages postés 40 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 5 août 2009 7
19 nov. 2008 à 17:57
J'arrive pas à accéder au lien !

Je met un bout de mon code ca pourrait etre utile !

r1 = (-t/10 + 2/10).^2;
x1 = r1 .* cos(t);
y1 = r1.* sin(t);

r1_bis = (-(t+pi/2)/10 + 2/10).^2;
x1_bis = r1_bis .* cos(t);
y1_bis = r1_bis.* sin(t);

fill([x1 x1_bis],[y1 y1_bis],'r');

1
Fee Fay Messages postés 635 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 31 mai 2009 377
19 nov. 2008 à 17:59
http://www.optic2000.fr/
1
chaton1930 Messages postés 40 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 5 août 2009 7
19 nov. 2008 à 18:13
Ta solution ne colle pas. T'as pas compris ce que je cherche.
Je suis restée polie j'aurais aimé que tu en fasses autant.
J'ai pas te temps à perdre avec quelqu'un qui se croit au dessus des autres.
Ne vas pas sur ce forum si ça ne te plait pas d'aider les autres et si tu es pas capable de le faire poliment
1
Fee Fay Messages postés 635 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 31 mai 2009 377
19 nov. 2008 à 18:16
Ma solution colle très bien, j'ai très bien compris ce que tu cherches.
1
chaton1930 Messages postés 40 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 5 août 2009 7
19 nov. 2008 à 18:18
fill closes the polygon by connecting the last vertex to the first.
1