Γραφικά περιβάλλοντα από τον χρήστη Graphical User Interfaces (GUI)

Σχετικά έγγραφα
2. Δισδιάστατα γραφικά

2.3 Επιπλέον συναρτήσεις για δισδιάστατα γραφικά

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Συστήματα Αναμονής (Queuing Systems)

Γραφικές παραστάσεις (2ο μέρος)

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Προγραμματισμός Γραφικής Διεπαφής Χρήστη (GUI) στο Matlab για την μοντελοποίηση Συστημάτων από Αριθμητικές Βάσεις Δεδομένων

Ενότητα 15 Μορφοποίηση της Γραφικής Παράστασης

Δημιουργώντας μια εφαρμογή ζωγραφικής. 2 η Εργασία

1. Κλικ στην καρτέλα Insert 2. Tables 3. Κλικ Table 4. Σύρουμε το δείκτη του ποντικιού και επιλέγουμε τον επιθυμητό αριθμό γραμμών και στηλών

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Επεξεργασίας Κειμένου. 2. Κύρια Οθόνη Της Εφαρμογής Κειμένου ΣΤΟΧΟΙ:

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Για τη δημιουργία ενός διανύσματος με στοιχεία από το 0 μέχρι το 20 με βήμα το 2 (χρησιμοποιείται συνήθως για διανύσματα χρόνου) δίνουμε

Εργαστήριο Μαθηματικής Ανάλυσης Ι. Εισαγωγή στη Matlab Βασικές Συναρτήσεις-Γραφικές παραστάσεις. Πανεπιστήμιο Θεσσαλίας. Σχολή Θετικών Επιστημών

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 3)

Ενότητα 14 Γραφικές Παραστάσεις

Γενικός τρόπος σύνταξης: Όνομα_συνάρτησης(όρισμα1,όρισμα2,,όρισμαΝ) Η ονομασία τους είναι δεσμευμένη. Παραδείγματος χάριν: sin(x) cos(x) tan(x) exp(x)

2.2.7 Τίτλος στη γραφική παράσταση

Σχεδίαση με το AutoCAD

ΑΣΚΗΣΗ 1: ΧΡΩΜΑΤΙΚΟΣ ΚΩΔΙΚΑΣ ΑΝΤΙΣΤΑΣΕΩΝ

ΓΡΑΦΙΚΕΣ ΠΑΡΑΣΤΑΣΕΙΣ ΜΕ ΕXCEL

Εργαλεία Ανάπτυξης Εφαρμογών Internet. Δ.Ι.Ε.Κ. Γλυφάδας Τεχνικός Εφαρμογών Πληροφορικής

Προσομοίωση (simulation) στο Matlab

Επεξεργασία πολλαπλών φύλλων εργασίας - Γραφημάτων Excel

Παιχνιδάκια με τη LOGO

Ανοίξτε την εικόνα Hel_MDSGEO και δημιουργήστε δύο έγχρωμα σύνθετα ένα σε πραγματικό χρώμα (True color) και ένα σε ψευδοέχρωμο υπέρυθρο (CIR)

Δημιουργία και επεξεργασία διανυσματικών επιπέδων στο QGIS

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 17

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

MATLAB - Graphical User Interfaces. Σημειώσεις GUI για το εργαστήριο του μαθήματος Ασαφή Συστήματα. Δημήτριος Βαρσάμης Εργαστηριακός συνεργάτης

A3.3 Γραφικά Περιβάλλοντα Επικοινωνίας και Διαχείριση Παραθύρων

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 14

ΕΝΟΤΗΤΑ 04 Δημιουργία φύλλου εργασίας

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ & ΑΕΡΟΝΑΥΠΗΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΣ ΤΟΜΕΑΣ ΕΚΠΑΙΔΕΥΤΙΚΟ ΠΑΡΑΔΕΙΓΜΑ 2

1. Κατανόηση Και Αλλαγή Μεταξύ Προβολών Εμφάνισης Της Παρουσίασης. 1. Κατανόηση Και Αλλαγή Μεταξύ Προβολών Εμφάνισης Της Παρουσίασης

Η Βίβλος των CSS - Μέρος 3 Το Box Model, τα Περιθώρια και τα Περιγράμματα

Ενότητα 06 Δημιουργία Και Χρήση Φόρμουλας

Ρύθμιση παραμέτρων Autocad

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

SPSS Statistical Package for the Social Sciences

ΑΣΚΗΣΗ 8 Η εξίσωση της απομάκρυνσης x συναρτήσει του χρόνου t σε μια απλή αρμονική ταλάντωση δίνεται από τη σχέση:

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

Tee.

Offset Link.

Cascading Style Sheets (CSS)

Χρονικές σειρές 9 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (3) ΓΡΑΦΗΜΑΤΑ

Περιεχόμενα. 26 Γραφικά δύο διαστάσεων Γραφικά τριών διαστάσεων... 45

Λεπτομέριες τοιχοποιίας Σχεδίαση κάτοψης

3. Τρισδιάστατα γραφικά

Ενότητα 17 Εκτύπωση Φύλλων Εργασίας και Γραφικών Παραστάσεων

ΜΑΘΗΜΑ 5 ΣΤΟΧΟΙ: Τρόπος 1:

2.9 ΛΑΒΕΣ 2.10 ΙΔΙΟΤΗΤΕΣ ΑΝΤΙΚΕΙΜΕΝΩΝ Layers. Command Line: Layer ή La ΟΙ ΘΕΣΕΙΣ ΤΩΝ GRIPS

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Διάλεξη 2η Εισαγωγή στο CSS

CTEC-153: ΥΤΛΛΑ ΕΡΓΑΙΑ

Σχήµα 4.1: Εισαγωγή βρόγχου while-loop.

Εργαστήριο Γραμμικής Άλγεβρας. H Matlab ως γλώσσα προγραμματισμού

Η ΕΞΕΡΕΥΝΗΣΗ ΤΩΝ WINDOWS (WINDOWS EXPLORER)

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010

Well Seal.

M files RCL Κυκλώματα

App Inventor 8ο Μάθημα (Ζωγραφική με τα δάχτυλα)

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB. Κολοβού Αθανασία Ε.Τ.Ε.Π.

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 5

ΠΡΟΣΟΜΟΙΩΣΗ ΦΥΣΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ - MATLAB

Γράφοντας μουσική με το Finale 2006 (Δ μέρος)

Εισαγωγή στο SPSS. Για την πρώτη σας προσπάθεια να εξοικειωθείτε με το SPSS, σκεφτείτε το παρακάτω πείραμα.

Τεχνικό Τοπογραφικό Σχέδιο

Πώς εισάγουμε μια νέα έννοια χρησιμοποιώντας το εργαλείο Create

Stroke.

Προηγµένα Θέµατα Τεχνολογιών Υλοποίησης Αλγορίθµων

Η γλώσσα προγραμματισμού LOGO

CSS 3. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Π. Αγγελάτος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Γραφικές παραστάσεις (1ο μέρος)

% Script File: ShowAxisStyles % How to scale the axes. theta = linspace(0,2*pi); x = cos(theta); y = sin(theta); close all

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

01. Σχεδίαση με ΗΥ. Dr. Ing. Β. Ιακωβάκης

ΕΙΔΙΚΟΙ ΧΑΡΑΚΤΗΡΕΣ ΧΑΡΑΚΤΗΡΕΣ ΜΕ ΕΙΔΙΚΕΣ ΛΕΙΤΟΥΡΓΙΕΣ. ΠΙΝΑΚΑΣ ΚΩΔΙΚΩΝ ΔΙΑΦΥΓΗΣ Χαρακτήρας Κωδικός διαφυγής Ερμηνεία Συμβόλου & nbsp;

Προγραμματισμός στο Matlab

ηµιουργία αρχείου στον matlab editor Πληκτρολόγηση ακολουθίας εντολών

Άναμμα/Σβήσιμο 1. Τοποθετήστε το διακόπτη λειτουργίας στη θέση Power για να το ανοίξετε. 2. Για να κλείσετε το MEGA STICK 528, τοποθετήστε το διακόπτη

Σχήµα 6.1: Εισαγωγή της εντολής Read From Spreadsheet File στο Block Diagram.

Εισαγωγή στην Στατιστική (ΔΕ200Α-210Α)

Συστήματα Αυτομάτου Ελέγχου

1 ο Εργαστήριο Συντεταγμένες, Χρώματα, Σχήματα

Computing and Information Systems Service. Windows XP

Μαρία Λουκά. Εργαστήριο Matlab Επαναληπτικές Μέθοδοι. Τμήμα Πληροφορικής και Τηλεπικοινωνιών.

Αρχιτεκτονική Υπολογιστών

JavaScript 6. Πίνακες

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Inspiration 7 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΜΕ ΠΑΡΑΔΕΙΓΜΑ

Γαβαλάς Δαμιανός Δικτυακά Πολυμέσα ΙΙ Εργαστήριο #3 0 : Εισαγωγή στacascading Style Sheets (CSS)

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

1. <body> 2. <header> 3. <h1> My Page </h1> 4. </header> 5. <section>

Κάθε ένα κελί θα πρέπει να περιέχει ένα μόνο στοιχείο δεδομένων, για παράδειγμα το όνομα σε ένα κελί, το επίθετο σε άλλο κελί.

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

Δημιουργία δισδιάστατου παιχνιδιού, τύπου Pacman. 1ο μέρος.

Εισαγωγή στην Αριθμητική Ανάλυση

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Υπολογιστικών Φύλλων. 2. Κύρια Οθόνη Της Εφαρμογής Υπολογιστικών Φύλλων ΣΤΟΧΟΙ:

Περιεχόµενα. Λίγα λόγια από τους συγγραφείς...9. Για τον εκπαιδευτή και το γονέα Αριθµοί και Υπολογισµοί (Numbers and Calculations)

Transcript:

Γραφικά περιβάλλοντα από τον χρήστη Graphical User Interfaces (GUI) Θα γράψουμε το πρώτο μας GUI το οποίο : 1. Θα σχεδιάζει μια συνάρτηση 2. Θα παρέχει κουμπιά για να αλλάζουμε το χρώμα του γραφήματος της συνάρτησης 3. Θα παρέχει ένα μενού με επιλογές για διαφορετικές γραμμές, συνεχόμενες, διακεκομμένες... 4. Θα παρέχει ένα κουτί που θα επιτρέπει στον χρήστη να αλλάζει το πάχος της γραμμής του γραφήματος.

Αρχικά φτιάχνουμε ένα function M-file με όνομα plotgui.m function plotgui close all clc % plot domain xmin=0; xmax=4*pi; % some colors figure_color=[0.8,0.9,0.8]; panel_color=[1,0.9,0.8]; buttongroup_color=[0.9,0.9,0.8];

Προσθέτουμε ένα παράθυρο γραφικών στο GUI hfigure=figure(... Position, [100 100 700 500],... Color,figure_color,... MenuBar, none,... ToolBar, none,... NumberTitle, off,... Name, Plot GUI );

Μετά προσθέτουμε άξονες στο γραφικό haxes=axes(... Parent,hFigure,... Position,[50 50 400 400],... Xlim,[xmin,xmax],... XGrid, on,... Ygrid, on ); Και δίνουμε την γραφική παράσταση μιας συνάρτησης % plot data x=linspace(xmin,xmax); y=sin(2*x); hline=line(x,y);

Τώρα θα προσθέσουμε στα δεξιά έναν πίνακα ελέγχου (panel) hpanel=uipanel(... Parent,hFigure,... Position,[475,50,200,400],... BackgroundColor,panel_color);

Κουμπιά επιλογών Θα προσθέσουμε 3 κουμπιά που αντιστοιχούν σε τρία χρώματα κόκκινο, πράσινο και μπλε στον πίνακα ελέγχου. hbuttongroup=uibuttongroup(... Parent,hPanel,... Position,[10,275,180,100],... BackgroundColor,buttongroup_color)

r1=uicontrol(... Style, Radio,... Parent,hButtonGroup,... Position, [10,10,160,20],... String, Blue,... BackgroundColor,buttongroup_color); r2=uicontrol(... Style, Radio,... Parent,hButtonGroup,... Position, [10,37,160,20],... String, Green,... BackgroundColor,buttongroup_color);

r3=uicontrol(... Style, Radio,... Parent,hButtonGroup,... Position, [10,65,160,20],... String, Red,... BackgroundColor,buttongroup_color); Προσθέτουμε την γραμμή εντολής 'SelectionChangeFcn',@colorSelection_callback); Στο τέλος του hbuttongroup

Subfunction function colorselection_callback(hobject,eventdata) linecolor=get(eventdata.newvalue, 'String'); switch linecolor case 'Red' set(hline,'color','r') case 'Green' set(hline,'color','g') case 'Blue' set(hline,'color','b') end end % end colorselection_callback end % end plotgui

Menu hlinestyletext=uicontrol(... Style, text,... Parent,hPanel,... Position, [10 240 180 20],... String, LineStyle Choices,... HorizontalAlignment, Left,... BackgroundColor, panel_color); hlinestylepopup=uicontrol(... Style, popup,... Parent,hPanel,... Position, [10 225 180 15],... String,{ Solid Dotted DashDot Dashed None },... BackgroundColor, buttongroup_color,... Callback, @LineStylePopup_callback);

hlinestylepopup=uicontrol(... Style, popup,... Parent,hPanel,... Position, [10 225 180 15],... String,{ Solid Dotted DashDot Dashed None },... BackgroundColor, buttongroup_color,... Callback, @LineStylePopup_callback);

function LineStylePopup_callback(hObject,eventdata) linestylechoices=get(hobject, String ); linestylechoice=get(hobject, Value ); linestyle=linestylechoices{linestylechoice}; switch linestyle case Solid set(hline, LineStyle, - ) case Dotted set(hline, LineStyle, : ) case DashDot set(hline, LineStyle, -. ) case Dashed set(hline, LineStyle, -- ) case None set(hline, LineStyle, none ) end end % end LineStylePopup_callback

Κουτί εισαγωγής κειμένου hlinewidthtext=uicontrol(... Style, text,... Parent,hPanel,... Position, [10 180 180 20],... String, Enter Desired LineWidth: (1-10),... HorizontalAlignment, Left,... BackgroundColor, panel_color);

hlinewidtheditbox=uicontrol(... Style, edit,... Parent,hPanel,... Position, [10 150 180 25],... String, 1,... BackgroundColor, buttongroup_color,... Callback, @LineWidthEditbox_callback);

function LineWidthEditbox_callback(hObject,eventdata) linewidth=str2double(get(hobject, String )); if (linewidth>=1) && (linewidth<=10) set(hline, LineWidth,lineWidth); else set(hobject, String, Invalid Input---Try again ); end end % end LineStyleEditbox_callback

Άσκηση Να γραφεί ένα GUI στο Matlab που περιέχει ένα αντικείμενο με άξονες. Συγκεκριμένα: Θέστε 'Xlim' και 'Ylim' από [-10,10]. Θέστε 'ΧTick' και 'YTick' από -10:2:10. Θέστε 'XGrid' και 'YGrid' 'on' Θέστε την 'ButtonDownFcn' ιδιότητα των αξόνων σε μια συνάρτηση @plotcurrentpoint_callback. Η συνάρτηση @plotcurrentpoint_callback να χρησιμοποιεί την εντολή line για να φτιάχνει ένα σημείο που θα πατήσουμε με το ποντίκι. Θέστε την 'LineStyle' σε 'none', την 'Marker' σε 'ο' την 'MarkerSize' σε '12', 'ΜarkerFaceColor' σε 'r' και την 'MarkerEdgeColor' σε 'κ'

function plotpoint close all hfig=figure; set(hfig,... 'Units','Pixels',... 'Position',[100,100,500,500]); hax=axes; set(hax,... 'Parent',hFig,... 'Units','Pixels',... 'Position',[20,20,460,460],... 'XLim',[-10,10],... 'XTick',-10:2:10,... 'XGrid','on',... 'YLim',[-10,10],... 'YTick',-10:2:10,... 'YGrid','on',... 'ButtonDownFcn',@plotCurrentPoint_Callback)

function plotcurrentpoint_callback(hobject,eventdata) x=get(hobject,'currentpoint'); line(x(1,1),x(1,2),... 'LineStyle','none',... 'Marker','o',... 'MarkerSize', 12,... 'MarkerFaceColor','r',... 'MarkerEdgeColor','k') end % end plotcurrentpoint_callback end % end plotpoint