Tracer la surface entre 2 courbes sous Matlab

Résolu
chaton1930 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -  
 jtdjertfshgfs -
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   Statut Membre Dernière intervention   377
 
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
 
D'accord, c'est pas bien, mais c'est bon, desserre les fesses, t'en verra des pires dans la vie, coooooool !
0
jtdjertfshgfs
 
ouais d'abord
0
jtdjertfshgfs
 
c'est vrai à la fin
0
jtdjertfshgfs
 
nan mais ho
0
Fee Fay Messages postés 635 Date d'inscription   Statut Membre Dernière intervention   377
 
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
 
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   Statut Membre Dernière intervention   7
 
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   Statut Membre Dernière intervention   377
 
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   Statut Membre Dernière intervention   377
 
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   Statut Membre Dernière intervention   7
 
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   Statut Membre Dernière intervention   377
 
Une autre idée ?
Oui, elle est ici
1
chaton1930 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   7
 
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   Statut Membre Dernière intervention   377
 
http://www.optic2000.fr/
1
chaton1930 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   7
 
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   Statut Membre Dernière intervention   377
 
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   Statut Membre Dernière intervention   7
 
fill closes the polygon by connecting the last vertex to the first.
1