operation or of larger entity such as an application program or filein generalwimp based systems are simple to learnintuitive to useeasy to retain and straightforward to work with these wimp systems are exemplified by the apple macintosh interface (see goldberg and robson as well as tesler)which was influenced by the pioneering work done at the palo alto research center on the xerox star machine it washoweverthe macintosh which brought such interfaces to the mass marketand first gained acceptance for them as tools for businesshome and industry this interface transformed the way in which humans expected to interact with their computersbecoming de facto standardwhich forced other manufacturers to provide similar interfaces on their own machinesfor example microsoft windows for the pc this type of interface can be augmented by providing direct manipulation graphics these are graphics which can be grabbed and manipulated by the userusing mouseto perform some operation or action icons are simple version of thisthe "openingof an icon causes either the associated application to execute or the associated window to be displayed interactive and non interactive graphics computer graphics can be broadly subdivided into two categoriesnon interactive computer graphics interactive computer graphics in non interactive computer graphics (aka passive computer graphicsan image is generated by computer typically on computer screenthis image can be viewed by the user (however they cannot interact with the imageexamples of non-interactive graphics presented later in this book include computer generated art in which an image is generated using the python turtle graphics library such an image can viewed by the user but not modified another example might be basic bar chart generated using matplotlib which presents some set of data interactive computer graphics by contrastinvolve the user interacting with the image displayed in the screen in some waythis might be to modify the data being displayed or to change they way in which the image is being rendered etc it is typified by interactive graphical user interfaces (guisin which user interacts with menusbuttonsinput fieldslidersscrollbars etc howeverother visual displays can also be interactive for examplea slider could be used with matplotlib chart this display could present the number of sales made on particular dateas the slider is moved so the data changes and the chart is modified to show different data sets another example is represented by all computer games which are inherently interactive and mostif not allupdate their visual display in response to some user inputs for example in the classic flight simulator gameas the user moves the joystick or mousethe simulated plane moves accordingly and the display presented to the user updates