• 唤醒手腕 Matlab 游戏编程常用技术知识点详细教程(更新中)


    Figure 窗口初始化

    figure 使用默认属性值创建一个新的图窗窗口。生成的图窗为当前图窗。f = figure(___) 返回 Figure 对象。可使用 f 在创建图窗后查询或修改其属性。figure(f) 将 f 指定的图窗作为当前图窗,并将其显示在其他所有图窗的上面。

    figure(n) 查找 Number 属性等于 n 的图窗,并将其作为当前图窗。如果不存在具有该属性值的图窗,MATLAB® 将创建一个新图窗并将其 Number 属性设置为 n。

    指定图窗标题

    创建一个图窗并指定 Name 属性。默认情况下,生成的标题包含图窗编号。

    figure('Name','Measured Data');
    
    • 1

    再次指定 Name 属性,但这次将 NumberTitle 属性设置为 ‘off’。生成的标题不包含图窗编号。

    figure('Name','Measured Data','NumberTitle','off');
    
    • 1

    将背景色设置为白色

    figure('Color','white')
    
    • 1

    在这里插入图片描述

    figure 属性

                     Alphamap: [1×64 double]
                 BeingDeleted: off
                   BusyAction: 'queue'
                ButtonDownFcn: ''
                     Children: [0×0 GraphicsPlaceholder]
                     Clipping: on
              CloseRequestFcn: 'closereq'
                        Color: [0.9400 0.9400 0.9400]
                     Colormap: [256×3 double]
                  ContextMenu: [0×0 GraphicsPlaceholder]
                    CreateFcn: ''
                  CurrentAxes: [0×0 GraphicsPlaceholder]
             CurrentCharacter: ''
                CurrentObject: [0×0 GraphicsPlaceholder]
                 CurrentPoint: [0 0]
                    DeleteFcn: ''
                 DockControls: on
                     FileName: ''
            GraphicsSmoothing: on
             HandleVisibility: 'on'
                         Icon: ''
                InnerPosition: [488 342 560 420]
                IntegerHandle: on
                Interruptible: on
               InvertHardcopy: on
                  KeyPressFcn: ''
                KeyReleaseFcn: ''
                      MenuBar: 'figure' (默认) | 'none'
                         Name: 'Measured Data'
                     NextPlot: 'add'
                       Number: 2
                  NumberTitle: on
                OuterPosition: [481 334.6000 574.4000 508.8000]
             PaperOrientation: 'portrait'
                PaperPosition: [1.3333 3.3125 5.8333 4.3750]
            PaperPositionMode: 'auto'
                    PaperSize: [8.5000 11]
                    PaperType: 'usletter'
                   PaperUnits: 'inches'
                       Parent: [1×1 Root]
                      Pointer: 'arrow'
            PointerShapeCData: [16×16 double]
          PointerShapeHotSpot: [1 1]
                     Position: [488 342 560 420]
                     Renderer: 'opengl'
                 RendererMode: 'auto'
                       Resize: on
                   Scrollable: off
                SelectionType: 'normal'
               SizeChangedFcn: ''
                          Tag: ''
                      ToolBar: 'auto'
                         Type: 'figure'
                        Units: 'pixels'
                     UserData: []
                      Visible: on
          WindowButtonDownFcn: ''
        WindowButtonMotionFcn: ''
            WindowButtonUpFcn: ''
            WindowKeyPressFcn: ''
          WindowKeyReleaseFcn: ''
         WindowScrollWheelFcn: ''
                  WindowState: 'normal'	(默认) | 'minimized' | 'maximized' | 'fullscreen'
                  WindowStyle: 'normal'	(默认) | 'modal' | 'docked'
    
    
    • 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

    Figure gca 坐标轴

                            ALim: [0 1]
                        ALimMode: 'auto'
                      AlphaScale: 'linear'
                        Alphamap: [1×64 double]
               AmbientLightColor: [1 1 1]
                    BeingDeleted: off
                             Box: off
                        BoxStyle: 'back'
                      BusyAction: 'queue'
                   ButtonDownFcn: ''
                            CLim: [0 1]
                        CLimMode: 'auto'
                  CameraPosition: [0.5000 0.5000 9.1603]
              CameraPositionMode: 'auto'
                    CameraTarget: [0.5000 0.5000 0.5000]
                CameraTargetMode: 'auto'
                  CameraUpVector: [0 1 0]
              CameraUpVectorMode: 'auto'
                 CameraViewAngle: 6.6086
             CameraViewAngleMode: 'auto'
                        Children: [0×0 GraphicsPlaceholder]
                        Clipping: on
                   ClippingStyle: '3dbox'
                           Color: [1 1 1]
                      ColorOrder: [7×3 double]
                 ColorOrderIndex: 1
                      ColorScale: 'linear'
                        Colormap: [256×3 double]
                     ContextMenu: [0×0 GraphicsPlaceholder]
                       CreateFcn: ''
                    CurrentPoint: [2×3 double]
                 DataAspectRatio: [1 1 1]
             DataAspectRatioMode: 'auto'
                       DeleteFcn: ''
                       FontAngle: 'normal'
                        FontName: 'Helvetica'
                        FontSize: 10
                    FontSizeMode: 'auto'
                   FontSmoothing: on
                       FontUnits: 'points'
                      FontWeight: 'normal'
                       GridAlpha: 0.1500
                   GridAlphaMode: 'auto'
                       GridColor: [0.1500 0.1500 0.1500]
                   GridColorMode: 'auto'
                   GridLineStyle: '-'
                HandleVisibility: 'on'
                         HitTest: on
                   InnerPosition: [0.1300 0.1100 0.7750 0.8150]
                    Interactions: [1×1 matlab.graphics.interaction.interface.DefaultAxesInteractionSet]
                   Interruptible: on
         LabelFontSizeMultiplier: 1.1000
                           Layer: 'bottom'
                          Layout: [0×0 matlab.ui.layout.LayoutOptions]
                          Legend: [0×0 GraphicsPlaceholder]
                  LineStyleOrder: '-'
             LineStyleOrderIndex: 1
                       LineWidth: 0.5000
                  MinorGridAlpha: 0.2500
              MinorGridAlphaMode: 'auto'
                  MinorGridColor: [0.1000 0.1000 0.1000]
              MinorGridColorMode: 'auto'
              MinorGridLineStyle: ':'
                        NextPlot: 'replace'
                 NextSeriesIndex: 1
                   OuterPosition: [0 0 1 1]
                          Parent: [1×1 Figure]
                   PickableParts: 'visible'
              PlotBoxAspectRatio: [1 0.7882 0.7882]
          PlotBoxAspectRatioMode: 'auto'
                        Position: [0.1300 0.1100 0.7750 0.8150]
              PositionConstraint: 'outerposition'
                      Projection: 'orthographic'
                        Selected: off
              SelectionHighlight: on
                      SortMethod: 'childorder'
                        Subtitle: [1×1 Text]
              SubtitleFontWeight: 'normal'
                             Tag: ''
                         TickDir: 'in'
                     TickDirMode: 'auto'
            TickLabelInterpreter: 'tex'
                      TickLength: [0.0100 0.0250]
                      TightInset: [0.0438 0.0527 0.0171 0.0200]
                           Title: [1×1 Text]
         TitleFontSizeMultiplier: 1.1000
                 TitleFontWeight: 'bold'
        TitleHorizontalAlignment: 'center'
                         Toolbar: [1×1 AxesToolbar]
                            Type: 'axes'
                           Units: 'normalized'
                        UserData: []
                            View: [0 90]
                         Visible: on
                           XAxis: [1×1 NumericRuler]
                   XAxisLocation: 'bottom'
                          XColor: [0.1500 0.1500 0.1500]
                      XColorMode: 'auto'
                            XDir: 'normal'
                           XGrid: off
                          XLabel: [1×1 Text]
                            XLim: [0 1]
                        XLimMode: 'auto'
                    XLimitMethod: 'tickaligned'
                      XMinorGrid: off
                      XMinorTick: off
                          XScale: 'linear'
                           XTick: [1×11 double]
                      XTickLabel: {11×1 cell}
                  XTickLabelMode: 'auto'
              XTickLabelRotation: 0
                       XTickMode: 'auto'
                           YAxis: [1×1 NumericRuler]
                   YAxisLocation: 'left'
                          YColor: [0.1500 0.1500 0.1500]
                      YColorMode: 'auto'
                            YDir: 'normal'
                           YGrid: off
                          YLabel: [1×1 Text]
                            YLim: [0 1]
                        YLimMode: 'auto'
                    YLimitMethod: 'tickaligned'
                      YMinorGrid: off
                      YMinorTick: off
                          YScale: 'linear'
                           YTick: [1×11 double]
                      YTickLabel: {11×1 cell}
                  YTickLabelMode: 'auto'
              YTickLabelRotation: 0
                       YTickMode: 'auto'
                           ZAxis: [1×1 NumericRuler]
                          ZColor: [0.1500 0.1500 0.1500]
                      ZColorMode: 'auto'
                            ZDir: 'normal'
                           ZGrid: off
                          ZLabel: [1×1 Text]
                            ZLim: [0 1]
                        ZLimMode: 'auto'
                    ZLimitMethod: 'tickaligned'
                      ZMinorGrid: off
                      ZMinorTick: off
                          ZScale: 'linear'
                           ZTick: [0 0.5000 1]
                      ZTickLabel: ''
                  ZTickLabelMode: 'auto'
              ZTickLabelRotation: 0
                       ZTickMode: 'auto'
    
    • 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
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147

    Figure 窗口监听鼠标事件

    MATLAB 中 Figure 窗口可以监听鼠标事件。常见的鼠标事件:

    鼠标按下:WindowButtonDownFcn

    set(fig, 'WindowButtonDownFcn', @mouseButtonDownCallback);
    
    • 1

    鼠标松开:WindowButtonUpFcn

    set(fig, 'WindowButtonUpFcn', @mouseButtonUpCallback);
    
    • 1

    鼠标移动:WindowButtonMotionFcn

    set(fig, 'WindowButtonMotionFcn', @mouseMoveCallback);
    
    • 1

    鼠标进入:WindowEnterFcn

    set(fig, 'WindowEnterFcn', @mouseEnterCallback);
    
    • 1

    鼠标离开:WindowExitFcn

    set(fig, 'WindowExitFcn', @mouseExitCallback);
    
    • 1

    鼠标滚轮滚动:WindowScrollWheelFcn

    set(fig, 'WindowScrollWheelFcn', @mouseScrollWheelCallback);
    
    • 1

    以上的示例中,fig 是你的 Figure 句柄,而 mouseButtonDownCallbackmouseButtonUpCallback、等等是相应事件触发时要执行的回调函数。你可以根据需要选择性地设置这些属性,以实现相应的鼠标事件处理。

    Figure 窗口监听鼠标点击事件

    要在 MATLAB 中监听鼠标点击事件,你可以使用 ButtonDownFcn 属性。简单的例子:

    % 创建一个新的 Figure
    figure;
    
    % 设置 ButtonDownFcn 属性
    set(gcf, 'ButtonDownFcn', @mouseClickCallback);
    
    % 回调函数,处理鼠标点击事件
    function mouseClickCallback(~, ~)
        % 获取当前鼠标位置
        currentPoint = get(gca, 'CurrentPoint');
        x = currentPoint(1, 1);
        y = currentPoint(1, 2);
        
        % 在命令窗口显示鼠标点击位置
        fprintf('Mouse Clicked at: x = %f, y = %f\n', x, y);
    end
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    这个例子创建了一个新的 Figure,并设置了 ButtonDownFcn 属性为名为 mouseClickCallback 的回调函数。当鼠标在 Figure 上点击时,该回调函数会被调用,并显示当前鼠标的 x 和 y 坐标。

    Figure 窗口监听鼠标移动事件

    在 MATLAB 中,你可以使用 WindowButtonMotionFcn 属性来监听鼠标在 Figure 上的移动事件。简单的例子:

    % 创建一个新的 Figure
    figure;
    
    % 设置 WindowButtonMotionFcn 属性
    set(gcf, 'WindowButtonMotionFcn', @mouseMoveCallback);
    
    % 回调函数,处理鼠标移动事件
    function mouseMoveCallback(~, ~)
        % 获取当前鼠标位置
        currentPoint = get(gca, 'CurrentPoint');
        x = currentPoint(1, 1);
        y = currentPoint(1, 2);
        
        % 在命令窗口显示鼠标位置
        fprintf('Mouse Position: x = %f, y = %f\n', x, y);
    end
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    这个例子创建了一个新的 Figure,并设置了 WindowButtonMotionFcn 属性为名为 mouseMoveCallback 的回调函数。当鼠标在 Figure 上移动时,该回调函数会被调用,并显示当前鼠标的 x 和 y 坐标。

    Figure 窗口监听鼠标鼠标按下和松开事件

    要同时监听 MATLAB Figure 上的鼠标按下和松开事件,你可以使用 WindowButtonDownFcnWindowButtonUpFcn 属性。示例:

    % 创建一个新的 Figure
    figure;
    
    % 设置 WindowButtonDownFcn 和 WindowButtonUpFcn 属性
    set(gcf, 'WindowButtonDownFcn', @mouseButtonDownCallback);
    set(gcf, 'WindowButtonUpFcn', @mouseButtonUpCallback);
    
    % 鼠标按下回调函数
    function mouseButtonDownCallback(~, ~)
        disp('Mouse Button Down');
    end
    
    % 鼠标松开回调函数
    function mouseButtonUpCallback(~, ~)
        disp('Mouse Button Up');
    end
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    这个例子创建了一个新的 Figure,并分别设置了 WindowButtonDownFcnWindowButtonUpFcn 属性为两个不同的回调函数。当鼠标在 Figure 上按下时,mouseButtonDownCallback 函数会被调用,而当鼠标松开时,mouseButtonUpCallback 函数会被调用。

  • 相关阅读:
    Android内存泄漏
    SQL函数之分割
    Django常见面试题总结(二)
    DTS搭载全新自研内核,突破两地三中心架构的关键技术|腾讯云数据库
    Qt Creator实例之图标主题
    对比CentOS与Ubuntu:选择最适合你的Linux发行版
    VMware虚拟机开机黑屏问题
    数据治理-元数据度量指标
    一步步带你了解一条Sql更新语句是如何执行的
    python中有时使用pip安装库而有时又使用conda安装库,到底应该使用哪个管理工具进行库的安装呀?
  • 原文地址:https://blog.csdn.net/qq_47452807/article/details/133437718