IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Discussion :

Problème pour déplacer un graphique à la souris


Sujet :

Interfaces Graphiques

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 64
    Points : 29
    Points
    29
    Par défaut Problème pour déplacer un graphique à la souris
    Salut à tous,

    J'ai créé un GUI avec GUIDE dans lequel j'ai un graphique.
    J'aimerai pouvoir déplacer le graphique à l'aide de la souri (drag).

    Dans mon code j'active avec la fonction: pan(handles.Main_axes).
    J'ai bien une petite main qui aparait quand je passe la souri sur mon axes.
    Mais quand je veux le faire bouger il me met cette ereur:
    ??? Error using ==> set
    Values must be finite

    Error in ==> camdolly at 106
    set(ax, 'cameraposition', newcp);

    Error in ==> pan>locDataPan at 905
    camdolly(axVector(i),-delta_pixel1,-delta_pixel2, junk, 'movetarget', 'pixels');

    Error in ==> pan>locWindowButtonMotionFcn at 566
    locDataPan(ax,delta_pixel(1),delta_pixel(2),style);

    Warning: Error occurred while evaluating listener callback.
    > In LSViewerMainGUI>Affichage_Plan at 530
    In LSViewerMainGUI>Right_Step_pushbutton_Callback at 245
    In gui_mainfcn at 96
    In LSViewerMainGUI at 42
    In guidemfile>@(hObject,eventdata)LSViewerMainGUI('Right_Step_pushbutton_Callback',hObject,eventdata,guidata(hObject))
    Avez-vous une idée de ce qui se passe?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 316
    Points : 52 948
    Points
    52 948
    Par défaut
    Quelle version de MATLAB ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 64
    Points : 29
    Points
    29
    Par défaut
    MATLAB Version 7.6.0.324 (R2008a)

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 316
    Points : 52 948
    Points
    52 948
    Par défaut
    Dans quel Callback as-tu mis la fonction PAN ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 64
    Points : 29
    Points
    29
    Par défaut
    Je l'ai mise dans la fonction qui rafraichit mon l'affichage de cet axes.
    En fait la fonction exacte est: pan(handles.Main_axes,'on')

    Par contre j'ai remarqué qu'il fait cette erreur quand je lance mon projet avec les option du GUI en 'non-resizable'.
    Si je mets l'option 'proprtional' il ne me mets plus d'erreur mais quand je veux déplacer mon graphique c'est tout le "axes" qui se déplace à l'intérieur de mon GUI... Et non les élment de mon graphique à l'intérieur du "axes". Comme si je pouvais déplacer les éléments en mode édition de GUIDE.

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 316
    Points : 52 948
    Points
    52 948
    Par défaut
    Ce ne serait pas plutôt ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    axes(handles.Main_axes)
    pan('on')

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 64
    Points : 29
    Points
    29
    Par défaut
    En effet tu as raison...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    axes(handles.Main_axes)
    pan('on')
    est plus correcte que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pan(handles.Main_axes,'on')
    (il ne me mets pas d'erreur)

    Mais malgré ca le problème reste identique...

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 64
    Points : 29
    Points
    29
    Par défaut
    En fait quand je ragrde en détail.
    L'erreur viens de la fonction "camdolly"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
     
    function camdolly(ax, dx, dy, dz, targetmode, coordsys)
    %CAMDOLLY Dolly camera.
    %   CAMDOLLY(DX, DY, DZ)  Moves the camera position and camera target
    %   of the current axes by the amounts specified in DX, DY, and DZ.
    % 
    %   CAMDOLLY(DX, DY, DZ, targetmode) determines if the camera target
    %   is moved.  If targetmode is 'movetarget' (the default), both the
    %   camera position and the camera target are moved.  If targetmode is
    %   'fixtarget', only the camera position is moved. 
    % 
    %   CAMDOLLY(DX, DY, DZ, targetmode, coordsys) determines the meaning
    %   of DX, DY,  and DZ.  If coordsys is 'camera' (the default), DX and
    %   DY move the camera up, down, right, and left in the camera's
    %   coordinate system; DZ moves the camera along the line which passes
    %   through the camera position and camera target. The units are
    %   normalized to the scene being viewed.  For example, if DX is 1 the
    %   camera is moved to the right, which pushes the scene to the left
    %   edge of the box formed by the axes position.  If DZ is .5, the
    %   camera is moved to a position half way in between the camera
    %   position and the camera target.  If coordsys is 'pixels', DX and
    %   DY are interpreted as a pixel offset and DZ is ignored. If
    %   coordsys is 'data', DX, DY, and DZ are in data space (not the
    %   camera's coordinate system).  
    %
    %   CAMDOLLY(AX, ...) uses axes AX instead of the current axes.
    %
    %   See also CAMORBIT, CAMPAN, CAMZOOM, CAMROLL.
     
    %   Copyright 1984-2005 The MathWorks, Inc. 
    %   $Revision: 1.8.4.2 $  $Date: 2005/11/27 22:39:56 $
     
    if nargin>6 || nargin<3
      error('MATLAB:camdolly:IncorrectNumberArguments', 'Wrong number of arguments')
    elseif nargin<6
     
      if any(ishandle(ax)) && strcmp(get(ax, 'type'), 'axes')
        if nargin<4 
          error('MATLAB:camdolly:InvalidNumberArguments', 'Wrong number of arguments')
        else
          coordsys = 'camera';
          if nargin==4
    	targetmode = 'movetarget';
          end
        end
      else
        if nargin==5
          coordsys = targetmode;
          targetmode = dz;
        elseif nargin==4
          coordsys = 'camera';
          targetmode = dz;
        else %nargin==3
          coordsys = 'camera';
          targetmode = 'movetarget';
        end
     
        dz = dy;
        dy = dx;
        dx = ax;
        ax = gca;
      end
     
    end
     
     
    darSave = get(ax, 'dataaspectratio');
    cpSave  = get(ax, 'cameraposition' );
    ctSave  = get(ax, 'cameratarget'   );
    upSave  = get(ax, 'cameraupvector' );
    cvaSave = get(ax, 'cameraviewangle');
     
    v = (ctSave-cpSave)./darSave;
    dis = norm(v);
    r = crossSimple(v, upSave./darSave); 
    u = crossSimple(r, v);
     
    r = r/norm(r);
    u = u/norm(u);
    v = v/dis;
     
    %  delta = dx/darSave(1) * r + dy/darSave(2) * u + dz /darSave(3) * v;
    %  delta = delta .* darSave;
     
    if coordsys(1)=='d'   %data
      delta = [dx dy dz];
    else
      if ~righthanded(ax), dx = -dx; end
     
      fov = 2*dis*tan(cvaSave/2*pi/180);
     
      if coordsys(1)=='p'  %pixels
        units = get(ax, 'units');
        set(ax, 'units', 'pix')
        pos = get(ax, 'pos');
        set(ax, 'units', units)
        pix = min(pos(3), pos(4));
        delta = fov/pix .* darSave .* ((dx * r) + (dy * u));
      else %camera
        delta = darSave .* (fov/2 .* ((dx * r) + (dy * u)) + (dz * v * dis));
      end
    end
     
    set(ax,'CameraUpVectorMode','manual');
     
    newcp = cpSave+delta;
    set(ax, 'cameraposition', newcp);
     
    if targetmode(1)=='m'
      newct = ctSave+delta;
      set(ax, 'cameratarget', newct);
    end
     
     
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    function c=crossSimple(a,b)
    c(1) = b(3)*a(2) - b(2)*a(3);
    c(2) = b(1)*a(3) - b(3)*a(1);
    c(3) = b(2)*a(1) - b(1)*a(2);
     
     
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    function val=righthanded(ax)
     
    dirs=get(ax, {'xdir' 'ydir' 'zdir'}); 
    num=length(find(lower(cat(2,dirs{:}))=='n'));
     
    val = mod(num,2);
    où newcp dans set(ax, 'cameraposition', newcp); vaut [NaN NaN NaN]
    à cause de delta qui vaut [NaN NaN NaN]
    qui vient de la divisiont de r = r/norm(r); (plus haut) ou r vaut [0 0 0]

    Je ne comprends pas très bien le fin du fin de cette fonction...

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 64
    Points : 29
    Points
    29
    Par défaut
    Pour info ca peut être intéressant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    K>> get(handles.Main_axes)
    	ActivePositionProperty = position
    	ALim = [0 1]
    	ALimMode = auto
    	AmbientLightColor = [1 1 1]
    	Box = off
    	CameraPosition = [2400 2400 -17.3205]
    	CameraPositionMode = manual
    	CameraTarget = [2400 2400 0]
    	CameraTargetMode = auto
    	CameraUpVector = [0 0 1]
    	CameraUpVectorMode = manual
    	CameraViewAngle = [6.60861]
    	CameraViewAngleMode = manual
    	CLim = [0 1]
    	CLimMode = auto
    	Color = [1 1 1]
    	CurrentPoint = [ (2 by 3) double array]
    	ColorOrder = [ (7 by 3) double array]
    	DataAspectRatio = [2600 2600 1]
    	DataAspectRatioMode = manual
    	DrawMode = normal
    	FontAngle = normal
    	FontName = Helvetica
    	FontSize = [10]
    	FontUnits = points
    	FontWeight = normal
    	GridLineStyle = :
    	Layer = bottom
    	LineStyleOrder = -
    	LineWidth = [0.5]
    	MinorGridLineStyle = :
    	NextPlot = replace
    	OuterPosition = [-0.0774361 -0.0699388 0.947374 1.12353]
    	PlotBoxAspectRatio = [1 1 1]
    	PlotBoxAspectRatioMode = manual
    	Projection = orthographic
    	Position = [0.0297723 0.0233333 0.761821 0.966667]
    	TickLength = [0.01 0.025]
    	TickDir = in
    	TickDirMode = auto
    	TightInset = [0 0 0 0]
    	Title = [173.038]
    	Units = normalized
    	View = [-0 -90]
    	XColor = [0 0 0]
    	XDir = normal
    	XGrid = on
    	XLabel = [174.038]
    	XAxisLocation = bottom
    	XLim = [-200 5000]
    	XLimMode = manual
    	XMinorGrid = off
    	XMinorTick = off
    	XScale = linear
    	XTick = [ (1 by 131) double array]
    	XTickLabel = [ (11 by 4) char array]
    	XTickLabelMode = auto
    	XTickMode = manual
    	YColor = [0 0 0]
    	YDir = normal
    	YGrid = on
    	YLabel = [175.038]
    	YAxisLocation = left
    	YLim = [-200 5000]
    	YLimMode = manual
    	YMinorGrid = off
    	YMinorTick = off
    	YScale = linear
    	YTick = [ (1 by 131) double array]
    	YTickLabel = [ (11 by 4) char array]
    	YTickLabelMode = auto
    	YTickMode = manual
    	ZColor = [0 0 0]
    	ZDir = normal
    	ZGrid = on
    	ZLabel = [176.038]
    	ZLim = [-1 1]
    	ZLimMode = auto
    	ZMinorGrid = off
    	ZMinorTick = off
    	ZScale = linear
    	ZTick = [-1 0 1]
    	ZTickLabel = 
    	ZTickLabelMode = auto
    	ZTickMode = auto
     
    	BeingDeleted = off
    	ButtonDownFcn = 
    	Children = [ (4 by 1) double array]
    	Clipping = on
    	CreateFcn = 
    	DeleteFcn = 
    	BusyAction = queue
    	HandleVisibility = on
    	HitTest = on
    	Interruptible = on
    	Parent = [171.038]
    	Selected = off
    	SelectionHighlight = on
    	Tag = Main_axes
    	Type = axes
    	UIContextMenu = []
    	UserData = []
    	Visible = on

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 64
    Points : 29
    Points
    29
    Par défaut
    Quand j'essay simplement la fonction

    camdolly(handles.Main_axes,500,500,0)

    il met la meme erreur...

  11. #11
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 316
    Points : 52 948
    Points
    52 948
    Par défaut
    Attaches les fichiers m et fig correspondant à l'interface (met les dans un zip)

    Comprend bien que c'est très difficile de répondre à ce genre de problème sans pouvoir tester l'interface

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 64
    Points : 29
    Points
    29
    Par défaut
    Voilà les fichiers...

    Pour le fonctionnement.
    Tu lance le GUI.
    Tu as un bouton pour charger un fichier. Tu peux charger le fichier record18.ls4d.
    Une fois chargé tu peux essayer de faire bouger le graphique et il mets l'erreur.

    Je pense que j'ai joint tous les fichiers dépendants aussi. Si tu as un souci tiens moi aucourant.

    Merci,
    Fichiers attachés Fichiers attachés

  13. #13
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 316
    Points : 52 948
    Points
    52 948
    Par défaut
    Il manque la fonction importfile utilisée dans load_input_file_time.

    La variable data n'est pas spécifié dans load_input_file_time

    L'utilisation de nom de fonction comme nom de variable est déconseillée (voir la variable error)

    Pourquoi utiliser des variables globales alors que tu utilises en même temps la technique SETAPPDATA/GETAPPDATA

    Bon tout ça ne résout pas ton problème de pan

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 64
    Points : 29
    Points
    29
    Par défaut
    C'est normal pour la variable data... Elle vient du script généré automatiquement par matlab: importfile (en copie).
    Elle utilise "assignin" pour passer les variable. J'ai conserver la structure de matlab.

    Je pense que ca devrait aller maintenant.
    Fichiers attachés Fichiers attachés

  15. #15
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 316
    Points : 52 948
    Points
    52 948
    Par défaut
    Le problème vient de ce bloc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    if get(handles.HL,'Value')
        set(handles.Main_axes,'CameraUpVector',[0 0 1]);
        X = get(handles.Main_axes,'CameraPosition');
        if X(3)>0 
            X(3) = X(3) * -1;
        end
        set(handles.Main_axes,'CameraPosition',X);
    elseif get(handles.HR,'Value')
        set(handles.Main_axes,'CameraUpVector',[1 0 0]);
        X = get(handles.Main_axes,'CameraPosition');
        if X(3)<0
            X(3) = X(3) * -1;
        end
        set(handles.Main_axes,'CameraPosition',X);
    elseif get(handles.VR,'Value')
        set(handles.Main_axes,'CameraUpVector',[0 -1 0]);
        X = get(handles.Main_axes,'CameraPosition');
        if X(3)<0
            X(3) = X(3) * -1;
        end
        set(handles.Main_axes,'CameraPosition',X);
    elseif get(handles.VL,'Value')
        set(handles.Main_axes,'CameraUpVector',[-1 0 0]);
        X = get(handles.Main_axes,'CameraPosition');
        if X(3)<0
            X(3) = X(3) * -1;
        end
        set(handles.Main_axes,'CameraPosition',X);
    elseif get(handles.VM,'Value')
        set(handles.Main_axes,'CameraUpVector',[-1 -1 0]);
        X = get(handles.Main_axes,'CameraPosition');
        if X(3)<0
            X(3) = X(3) * -1;
        end
        set(handles.Main_axes,'CameraPosition',X);
    end
    Si tu le mets en commentaire, l'interface fonctionne.

    Maintenant, j'ai un peu de mal à comprendre à quoi tout ça peu bien servir

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 64
    Points : 29
    Points
    29
    Par défaut
    Quand je mets en commentaire ce bloc, c'est l'axes qui se balade dans ma figure principale.

    Est-ce que ca fait bien la même chose chez toi?
    Ce que je désire c'est pouvoir naviger dans mon axes... déplacer la position des mes axes en gros.

  17. #17
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 316
    Points : 52 948
    Points
    52 948
    Par défaut
    L'objet Axes reste fixe, ce sont les lignes tracées qui bougent, non ?

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 64
    Points : 29
    Points
    29
    Par défaut
    Oui en effet ca marche comme ca...

    Ca m'embète car j'utilise les parametres CameraUpVector et CameraPosition pour orienter mon graphique dans différentes position (pricipalement des rotations et des mirroirs).

    As-tu une idée de comment je peux alors faire mes transformations dans mon graph?
    Car dès que je touche à un des deux parametres soit il la fonction camdolly plante soit c'est tout l'élément axes qui bouge dans ma figure...

  19. #19
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 316
    Points : 52 948
    Points
    52 948
    Par défaut
    Ajoute ceci juste avant le commentaire %Activation du drag and drop :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set(handles.Main_axes,'CameraPositionMode','auto',...
    	'CameraTargetMode','auto',...
    	'CameraUpVectorMode','auto',...
    	'CameraViewAngleMode','auto')
    ça redonne la main à MATLAB pour la gestion de la camera... je crois qu'il préfère

    Maintenant il faut vérifier si ça ne remet pas les réglages à zeros

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 64
    Points : 29
    Points
    29
    Par défaut
    En effet ca remt tous les règlage par défaut!

    J'ai essayé de plutot que modifier moi même la position du graphique avec les properties d'utiliser les fonction matlab, camroll, ... (tout en gardant le mode 'auto')

    Mais rien y fait...
    soit j'ai le même type d'erreur que précédemment ou alors c'est tout l'élément graph qui se déplace.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Problème pour afficher un graphique
    Par poche dans le forum Pentaho
    Réponses: 1
    Dernier message: 07/03/2009, 19h28
  2. Problème pour créer un graphique
    Par Nitroman_70 dans le forum iReport
    Réponses: 1
    Dernier message: 30/05/2008, 15h13
  3. Problème pour déplacer une ligne à partir d'une variable
    Par Cadenwarr dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/01/2008, 12h12
  4. Réponses: 4
    Dernier message: 27/05/2007, 11h11
  5. Problème pour déplacer des fichiers
    Par kurul1 dans le forum C++Builder
    Réponses: 16
    Dernier message: 07/03/2007, 16h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo