Rechercher : dans
Par :

Tracer la surface entre 2 courbes sous Matlab

Dernière réponse le 19 nov 2008 à 20:54:31 chaton1930, le 19 nov 2008 à 17:06:02 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 1.0

Meilleures réponses pour « Tracer la surface entre 2 courbes sous Matlab » dans :
Représentation des courbes sous Matlab VoirLa fonction plot permet essentiellement de tracer des courbes sous Matlab. Dans cette astuce, nous allons essayer de détailler le fonctionnement de cette commande. Simple utilisation Vecteur Matrice Vecteur en fonction d'un autre Autres...
La vectorialisation sous MatLab VoirVectorialisation sous Matlab Sommaire I. Le logiciel MatLab II. Configuration matérielle pour les tests III. Comment vectorialiser un calcul IV. Expérience sur un exemple concret IV.1. Exemple concret choisi IV.2. Programme non...
Manipulations élémentaires des tableaux sous MatLab VoirSommaire I. Stockage des tableaux II. L'indexation linéaire II.1. Accéder à un élément d'un tableau en utilisant l'indexation linéaire II.2. Passer d'une indexation à l'autre II.2.1. La fonction ind2sub II.2.2. La fonction sub2ind III. La...

1

Fee Fay, le 19 nov 2008 à 17:38:32
  • +1

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 Tous les animaux criaient bien haut
Qu’il était le crapaud le plus beau, quand il jouait du banjo

Répondre à Fee Fay

2

chaton1930, le 19 nov 2008 à 17:52:33

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

Répondre à chaton1930

3

Fee Fay, le 19 nov 2008 à 17:55:32

Une autre idée ?
Oui, elle est ici Tous les animaux criaient bien haut
Qu’il était le crapaud le plus beau, quand il jouait du banjo

Répondre à Fee Fay

4

chaton1930, le 19 nov 2008 à 17:57:45

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');

Répondre à chaton1930

5

Fee Fay, le 19 nov 2008 à 17:59:53

http://www.optic2000.fr/ Tous les animaux criaient bien haut
Qu’il était le crapaud le plus beau, quand il jouait du banjo

Répondre à Fee Fay

6

chaton1930, le 19 nov 2008 à 18:03:03

Pas la peine de gaspiller ton temps à me repondre si c'est pour etre désagrable.

Répondre à chaton1930

7

Fee Fay, le 19 nov 2008 à 18:06:50

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... Tous les animaux criaient bien haut
Qu’il était le crapaud le plus beau, quand il jouait du banjo

Répondre à Fee Fay

8

chaton1930, le 19 nov 2008 à 18:13:36

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

Répondre à chaton1930

9

Fee Fay, le 19 nov 2008 à 18:16:08

Ma solution colle très bien, j'ai très bien compris ce que tu cherches. Tous les animaux criaient bien haut
Qu’il était le crapaud le plus beau, quand il jouait du banjo

Répondre à Fee Fay

10

chaton1930, le 19 nov 2008 à 18:18:05

Fill closes the polygon by connecting the last vertex to the first.

Répondre à chaton1930

11

Fee Fay, le 19 nov 2008 à 18:24:44

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 Tous les animaux criaient bien haut
Qu’il était le crapaud le plus beau, quand il jouait du banjo

Répondre à Fee Fay

12

torpedolos, le 19 nov 2008 à 19:39:00

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.

;-)

Répondre à torpedolos

13

Fee Fay, le 19 nov 2008 à 20:40:10
  • +3

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 Tous les animaux criaient bien haut
Qu’il était le crapaud le plus beau, quand il jouait du banjo

Répondre à Fee Fay

14

 torpedolos, le 19 nov 2008 à 20:54:31
  • +1

D'accord, c'est pas bien, mais c'est bon, desserre les fesses, t'en verra des pires dans la vie, coooooool !

Répondre à torpedolos
Collection CommentÇaMarche.net