Sketch-N-Sketch: Output-Directed Programming for SVG

Total Page:16

File Type:pdf, Size:1020Kb

Sketch-N-Sketch: Output-Directed Programming for SVG Sketch-n-Sketch: Output-Directed Programming for SVG Brian Hempel Justin Lubin Ravi Chugh Department of Computer Science, University of Chicago, USA {brianhempel,justinlubin,rchugh} @ uchicago.edu 1/8/2019 Sketch-n-Sketch { a e Sketch-n-Sketch File Code Tools View Options Output Tools Context: Program Undo Redo Clean Up Run b 1 equiTriPt [x3, y3] [x2, y2] = 2 [ (x2 + x3 + sqrt 3! * (y2 - y3))/ 2!, (y2 + y3 - sqrt 3! * (x2 - x3)) / 2!] c 3 4 oneThirdPt [x3, y3] [x, y] = d 5 [ x / 1.5!+ x3 / 3!, y / 1.5! + y3 / 3!] 6 7 point = [39, 314] 8 9 point2 = [490, 301] 10 11 makeKochPts depth point point2 = 12 let oneThirdPt2 = oneThirdPt point point2 in f 13 let oneThirdPt3 = oneThirdPt point2 point in 14 let equiTriPt2 = equiTriPt oneThirdPt3 oneThirdPt2 in 15 if depth < 2 then 16 [point, oneThirdPt3, equiTriPt2, oneThirdPt2] 17 else 18 let makeKochPts2 = makeKochPts (depth - 1) point oneThirdPt3 in 19 let makeKochPts3 = makeKochPts (depth - 1) oneThirdPt3 equiTriPt2 in 20 let makeKochPts4 = makeKochPts (depth - 1) equiTriPt2 oneThirdPt2 in 21 let makeKochPts5 = makeKochPts (depth - 1) oneThirdPt2 point2 in ⦀ 22 concat [makeKochPts2, makeKochPts3, makeKochPts4, makeKochPts5] 23 24 depth = 3{1-5} 25 26 topPts = makeKochPts depth point point2 27 28 botCorner = equiTriPt point2 point 29 30 rightPts = makeKochPts depth point2 botCorner 31 32 leftPts = makeKochPts depth botCorner point 33 34 snowflakePts = concat [topPts, rightPts, leftPts] 35 36 polygon1 = 37 let pts = snowflakePts in 38 let [color, strokeColor, strokeWidth] = [124, 360, 2] in 39 polygon color strokeColor strokeWidth pts 40 41 svg (concat [ 42 [polygon1] 43 ]) Figure 1. A recursive program built through output-directed program transformations, without any text-based programming. ABSTRACT tem for creating programs that generate vector graphics. For creative tasks, programmers face a choice: Use a GUI and To enable output-directed interaction at more stages of pro- sacrifice flexibility, or write code and sacrifice ergonomics? gram construction, we expose intermediate execution products for manipulation and we present a mechanism for contex- To obtain both flexibility and ease of use, a number of sys- tual drawing. Looking forward to output-directed program- tems have explored a workflow that we call output-directed ming beyond vector graphics, we also offer generic refactor- programming. In this paradigm, direct manipulation of the ings through the GUI, and our techniques employ a domain- program’s graphical output corresponds to writing code in a agnostic provenance tracing scheme. general-purpose programming language, and edits not possible with the mouse can still be enacted through ordinary text edits To demonstrate the improved expressiveness, we implement arXiv:1907.10699v4 [cs.HC] 10 Aug 2019 to the program. Such capabilities provide hope for integrating a dozen new parametric designs in SKETCH-N-SKETCH with- graphical user interfaces into what are currently text-centric out text-based edits. Among these is the first demonstration of programming environments. building a recursive function in an output-directed program- ming setting. To further advance this vision, we present a variety of new output-directed techniques that extend the expressive power of Author Keywords SKETCH-N-SKETCH, an output-directed programming sys- Output-Directed Programming; SVG; Sketch-n-Sketch CCS Concepts • Software and its engineering ! Application specific devel- This is the authors’ preprint version. It is posted here for your personal use. opment environments; Language features; • Human-centered The definitive version was published in the following venue. computing ! Graphical user interfaces; UIST’19, October 20–23, 2019, New Orleans, LA, USA © 2019 Copyright held by the owner/author(s). Publication rights licensed to ACM. ISBN 978-1-4503-6816-2/19/10. $15.00 DOI: https://doi.org/10.1145/3332165.3347925 INTRODUCTION A number of systems have made initial steps towards realizing Direct manipulation [40] graphical user interface (GUI) appli- this paradigm. After first drafting a program using ordinary cations are ubiquitous. Every day, direct manipulation GUIs text edits, several ODP systems allow direct manipulation of are used by millions for office tasks such as presentation and the output to change constant literals in the program [46,9, document preparation as well as for specialized creative tasks 24, 39, 29]. To also relieve the initial text editing burden, for such as engineering and graphic design. Direct manipulation’s programs with graphical output a few systems provide ODP intuitive point-click-modify experience enables a large number mechanisms for program construction [31, 38, 19], akin to of people to leverage computers to create novel artifacts. drawing tools in graphics editors. Even so, experts may sometimes forgo a GUI application and All prior ODP systems presented their workflow as a mix of create their artifact using a programming language. In contrast text edits and direct manipulation. Although the selling point to the intuitive experience offered by direct manipulation GUIs, of ODP is that text edits can compensate for any missing direct text-based coding does not offer immediate and direct artifact manipulation features, the standing question is how thoroughly construction, but programmers use text-based languages to direct manipulation can subsume text-based editing. Therefore, gain flexibility not afforded by any GUI application. in this work we wonder: What kinds of programs can be constructed entirely through output manipulations? Both paradigms—direct manipulation and text-based programming—have proven useful. Naturally, there have New ODP Techniques in SKETCH-N-SKETCH been efforts to combine their distinct strengths. We extend our prior work on SKETCH-N-SKETCH [9, 19], For example, some professional creative applications do of- a programming system for creating vector graphics, with new fer a scripting API (e.g. Maya [2]), but, beyond perhaps an ODP techniques that enable the system to construct 16 ex- without initial macro recording, script construction is a text editing ample programs text edits on the code—even though process with no direct manipulation support. Furthermore, in ordinary text editing remains possible at any time during the the programming world, non-text paradigms such as blocks- construction of each example. Specifically, we: [4] or wires-based visual programming [43] allow direct ma- 1. Expose intermediate execution values for manipulation, nipulation of program elements. Even so, most professional instead of just the final output. programming remains a strictly plain text activity. 2. Offer expression focusing to enable contextual drawing. Instead, could direct manipulation augment text-based pro- 3. Expose generic code refactoring tools through output- gramming, providing user interfaces more like standard cre- directed interactions. ative application GUIs, such as graphics editors? Rather than directly manipulating program elements construed as blocks 4. Use generic run-time tracing to track value provenance, and wires, could one construct a textual program by directly to associate output values with source code locations. manipulating a program’s output? Although the SKETCH-N-SKETCH system is specialized for Output-Directed Programming (ODP) programs that output vector graphics, the four principles above We refer to this paradigm—in which a programmer constructs are relevant for future output-directed programming systems a plain text program by mouse-based operations on the pro- of all kinds. gram’s output—as output-directed programming (ODP). Each Paper Outline and Supplementary Materials operation triggers a transformation on the text-based program, To introduce the output-directed programming workflow in akin to automatic refactoring tools. Successive operations SKETCH-N-SKETCH, in the next section we walk through the build the program step by step. Because the program is plain creation of a simple example program. After this overview, we text throughout the process, desired changes that are not pos- present the core ODP mechanisms and our four innovations in sible through the provided direct manipulation interactions more detail, followed by an examination of the construction of can be enacted by ordinary text editing. The system treats the the 16 example programs. We conclude by discussing current plain text as the artifact’s primary representation so that text limitations of SKETCH-N-SKETCH, related work, and future editing does not disable future direct manipulation actions. directions for ODP. Our implementation, examples, videos, This ODP paradigm for altering a program by manipulating and appendices are available as Supplementary Materials and its output offers two tantalizing possibilities: on the Web (http://ravichugh.github.io/sketch-n-sketch/). • Creative applications could represent the user’s artifact OVERVIEW not as an opaque internal data structure but as a visible, SKETCH-N-SKETCH is a bimodal programming environment, editable, textual program. Direct manipulation of the arti- as depicted in Figure 1: the left pane is an ordinary source fact can be freely mixed with computational generation. code text editor; the right pane renders the scalable vector • For general-purpose programming, ODP could facilitate graphics (SVG) [47] design generated by the code and also general program construction via output-directed ma- offers a graphical interface for performing transformations on nipulations. For experts, these ODP interactions
Recommended publications
  • Kinematics Study of Motion
    Kinematics Study of motion Kinematics is the branch of physics that describes the motion of objects, but it is not interested in its causes. Itziar Izurieta (2018 october) Index: 1. What is motion? ............................................................................................ 1 1.1. Relativity of motion ................................................................................................................................ 1 1.2.Frame of reference: Cartesian coordinate system ....................................................................................................................................................................... 1 1.3. Position and trajectory .......................................................................................................................... 2 1.4.Travelled distance and displacement ....................................................................................................................................................................... 3 2. Quantities of motion: Speed and velocity .............................................. 4 2.1. Average and instantaneous speed ............................................................ 4 2.2. Average and instantaneous velocity ........................................................ 7 3. Uniform linear motion ................................................................................. 9 3.1. Distance-time graph .................................................................................. 10 3.2. Velocity-time
    [Show full text]
  • Short Range Object Detection and Avoidance
    Short Range Object Detection and Avoidance N.F. Jansen CST 2010.068 Traineeship report Coach(es): dr. E. García Canseco, TU/e dr. ing. S. Lichiardopol, TU/e ing. R. Niesten, Wingz BV Supervisor: prof.dr.ir. M. Steinbuch Eindhoven University of Technology Department of Mechanical Engineering Control Systems Technology Eindhoven, November, 2010 Abstract The scope of this internship is to investigate, model, simulate and experiment with a sensor for close range object detection for the purpose of the Tele-Service Robot (TSR) robot. The TSR robot will be implemented in care institutions for the care of elderly and/or disabled. The sensor system should have a supporting role in navigation and mapping of the environment of the robot. Several sensors are investigated, whereas the sonar system is the optimal solution for this application. It’s cost, wide field-of-view, sufficient minimal and maximal distance and networking capabilities of the Devantech SRF-08 sonar sensor is decisive to ultimately choose this sensor system. The positioning, orientation and tilting of the sonar devices is calculated and simulations are made to obtain knowledge about the behavior and characteristics of the sensors working in a ring. Issues surrounding the sensors are mainly erroneous ranging results due to specular reflection, cross-talk and incorrect mounting. Cross- talk can be suppressed by operating in groups, but induces the decrease of refresh rate of the entire robot’s surroundings. Experiments are carried out to investigate the accuracy and sensitivity to ranging errors and cross-talk. Eventually, due to the existing cross-talk, experiments should be carried out to decrease the range and timing to increase the refresh rate because the sensors cannot be fired more than only two at a time.
    [Show full text]
  • 3D Computer Graphics Compiled By: H
    animation Charge-coupled device Charts on SO(3) chemistry chirality chromatic aberration chrominance Cinema 4D cinematography CinePaint Circle circumference ClanLib Class of the Titans clean room design Clifford algebra Clip Mapping Clipping (computer graphics) Clipping_(computer_graphics) Cocoa (API) CODE V collinear collision detection color color buffer comic book Comm. ACM Command & Conquer: Tiberian series Commutative operation Compact disc Comparison of Direct3D and OpenGL compiler Compiz complement (set theory) complex analysis complex number complex polygon Component Object Model composite pattern compositing Compression artifacts computationReverse computational Catmull-Clark fluid dynamics computational geometry subdivision Computational_geometry computed surface axial tomography Cel-shaded Computed tomography computer animation Computer Aided Design computerCg andprogramming video games Computer animation computer cluster computer display computer file computer game computer games computer generated image computer graphics Computer hardware Computer History Museum Computer keyboard Computer mouse computer program Computer programming computer science computer software computer storage Computer-aided design Computer-aided design#Capabilities computer-aided manufacturing computer-generated imagery concave cone (solid)language Cone tracing Conjugacy_class#Conjugacy_as_group_action Clipmap COLLADA consortium constraints Comparison Constructive solid geometry of continuous Direct3D function contrast ratioand conversion OpenGL between
    [Show full text]
  • Help Contents Page 1 of 252
    OziExplorer Help Contents Page 1 of 252 Help Contents OziExplorer Help Contents About OziExplorer GPS Mapping Software Conditions of Use Printing Help File Program History Getting Started History of Changes Demonstration Data Help Tutorial Known Problems in this Version (Essential Reading) Configuration Hints & Tips Configuration Common User Problems Tutorial Frequently Asked Questions Tutorial (Demonstration Data) Trouble Shooting GPS Receivers Lowrance and Eagle GPS Receivers Garmin GPS Receivers Magellan GPS Receivers MLR GPS Receivers Brunton / Silva GPS NMEA Only Tripmate GPS Earthmate GPS Program Menus and Toolbars Toolbar User Toolbar File Menu Select Menu Load Menu (on Toolbar) Save Menu (on Toolbar) View Menu Options Menu Moving Map Menu Map Menu Navigation Menu Garmin Menu Magellan Menu Lowrance Menu MLR Menu Brunton / Silva Menu GPS - NMEA Only menu OziExplorer Help Contents Page 2 of 252 Map Related Creating (Calibrating) Maps Image Formats Supported Map Projections France Grids Changing the Map Image File Import Map Features and Comments Importing DRG Maps Converting Geotiff Image Files Importing BSB Charts Importing NOS/GEO Charts Importing NV.Digital Charts Importing Maptech PCX and RML Charts Import QuoVadis Navigator Maps Importing ECW Maps Importing SID Maps Save Map to Image File Map Searching Index Map Name Search Using the Find Map Feature Using the Blank Map Magnetic Variation Seamless Maps Datums Datums Adding User Datums Display Datum Moving Map (Real Time Tracking) Moving Map Proximity Waypoints Alarm Zones Range
    [Show full text]
  • Integration of Ray-Tracing Methods Into the Rasterisation Process University of Dublin, Trinity College
    Integration of Ray-Tracing Methods into the Rasterisation Process by Shane Christopher, B.Sc. GMIT, B.Sc. DLIADT Dissertation Presented to the University of Dublin, Trinity College in fulfillment of the requirements for the Degree of MSc. Computer Science (Interactive Entertainment Technology) University of Dublin, Trinity College September 2010 Declaration I, the undersigned, declare that this work has not previously been submitted as an exercise for a degree at this, or any other University, and that unless otherwise stated, is my own work. Shane Christopher September 8, 2010 Permission to Lend and/or Copy I, the undersigned, agree that Trinity College Library may lend or copy this thesis upon request. Shane Christopher September 8, 2010 Acknowledgments I would like to thank my supervisor Michael Manzke as well as my course director John Dingliana for their help and guidance during this dissertation. I would also like to thank everyone who gave me support during the year and all my fellow members of the IET course for their friendship and the motivation they gave me. Shane Christopher University of Dublin, Trinity College September 2010 iv Integration of Ray-Tracing Methods into the Rasterisation Process Shane Christopher University of Dublin, Trinity College, 2010 Supervisor: Michael Manzke Visually realistic shadows in the field of computer games has been an area of constant research and development for many years. It is also considered one of the most costly in terms of performance when compared to other graphical processes. Most games today use shadow buffers which require rendering the scene multiple times for each light source.
    [Show full text]
  • Polish Game Industry
    THE GAME INDUSTRY REPORT 2020 OF POLAND W ASD Enter Shift Alt Ctrl W A S D The game industry of Poland — Report 2020 Authors: Eryk Rutkowski Polish Agency for Enterprise Development Jakub Marszałkowski Indie Games Poland, Poznan University of Technology Sławomir Biedermann Polish Agency for Enterprise Development Edited by Sławomir Biedermann, Jakub Marszałkowski Cooperation: Ministry of Development Ministry of Culture and National Heritage Expert support: Game Industry Conference Published by the Polish Agency for Enterprise Development Pańska 81/83, 00-834 Warsaw, Poland www.parp.gov.pl © Polish Agency for Enterprise Development 2020 ISBN 978-83-7633-434-9 The views expressed in this publication are those of the authors and do not necessarily coincide with activities of the Polish Agency for Enterprise Development. All product names, logos and brands mentioned in this publication are the property of their respective owners. Printing of this publication has been co-financed from the European Regional Development Fund in the framework of the Smart Growth Operational Programme. 4 Table of contents Overview of the gaming sector .............................................................................................................. 7 A game has to stir up emotions Success story of 11 bit studios ............................................................................................................... 11 Global game market growth estimates and drivers ................................................................... 13 To diversify
    [Show full text]
  • Active Sky for P3dv4 User's Guide
    Active Sky for P3Dv4 User’s Guide Last Revision: 04/26/2018 Active Sky for P3Dv4 User’s Guide Legal Notices By using this software, you are bound by the End User License Agreement which you accepted during installation. Please refer to the EULA_P3Dv4.rtf file included with your installation, located in the base program installation folder, along with the AdditionalLicenses.rtf or AdditionalLicenses.txt file. Under no circumstances is this software to be used for real aircraft operation or planning activities. This software is designed for use as an entertainment and educational product, is not fault-tolerant, and is not acceptable for use in high risk activities including, but not limited to, aircraft operation and planning. This software may only be used by one person on one computer. Attempting to use this product by more than one person or on more than one computer may result in the product becoming unusable. An internet connection is required for automated registration and activation of the product, as well as usage of most product features. This product may be unusable without a working internet connection. This software’s online services include access to private servers, which keep track of all online activity and usage. Illegal or unauthorized access to our servers, by way of unlicensed product usage or piracy, is automatically identified and tracked. Continued illegal usage may result in prosecution. Copyright © 2016-2018 HiFi Technologies, Inc. All Rights Reserved Page 1 Active Sky for P3Dv4 User’s Guide Table of Contents Introduction
    [Show full text]
  • GPU-Driven Rendering Pipelines
    SIGGRAPH 2015: Advances in Real-Time Rendering in Games GPU-Driven Rendering Pipelines Ulrich Haar, Lead Programmer 3D, Ubisoft Montreal Sebastian Aaltonen, Senior Lead Programmer, RedLynx a Ubisoft Studio Topics • Motivation • Mesh Cluster Rendering • Rendering Pipeline Overview • Occlusion Depth Generation • Results and future work SIGGRAPH 2015: Advances in Real-Time Rendering course GPU-Driven Rendering? • GPU controls what objects are actually rendered • “draw scene” GPU-command – n viewports/frustums – GPU determines (sub-)object visibility – No CPU/GPU roundtrip • Prior work [SBOT08] SIGGRAPH 2015: Advances in Real-Time Rendering course Motivation (RedLynx) • Modular construction using in-game level editor • High draw distance. Background built from small objects. • No baked lighting. Lots of draw calls from shadow maps. • CPU used for physics simulation and visual scripting SIGGRAPH 2015: Advances in Real-Time Rendering course Motivation Assassin’s Creed Unity • Massive amounts of geometry: architecture SIGGRAPH 2015: Advances in Real-Time Rendering course Motivation Assassin’s Creed Unity • Massive amounts of geometry: seamless interiors SIGGRAPH 2015: Advances in Real-Time Rendering course Motivation Assassin’s Creed Unity • Massive amounts of geometry: crowds SIGGRAPH 2015: Advances in Real-Time Rendering course Motivation Assassin’s Creed Unity • Modular construction (partially automated) • ~10x instances compared to previous Assassin’s Creed games • CPU scarcest resource on consoles SIGGRAPH 2015: Advances in Real-Time Rendering
    [Show full text]
  • Convincing Cloud Rendering an Implementation of Real-Time Dynamic Volumetric Clouds in Frostbite Master’S Thesis in Computer Science – Computer Systems and Networks
    Convincing Cloud Rendering An Implementation of Real-Time Dynamic Volumetric Clouds in Frostbite Master’s thesis in Computer Science – Computer Systems and Networks RURIK HÖGFELDT Department of Computer Science and Engineering CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG Gothenburg, Sweden 2016 Convincing Cloud Rendering - An Implementation of Real-Time Dynamic Volumetric Clouds in Frostbite Rurik Högfeldt © Rurik Högfeldt 2016 Supervisor: Erik Sintorn Department of Computer Science and Engineering Examiner: Ulf Assarsson Department of Computer Science and Engineering Computer Science and Engineering Chalmers University of Technology SE-412 96 Gothenburg Sweden Telephone +46 (0)31 772 1000 Department of Computer Science and Engineering Gothenburg, Sweden, 2016 Abstract This thesis describes how real-time realistic and convincing clouds were implemented in the game engine Frostbite. The implemen- tation is focused on rendering dense clouds close to the viewer while still supporting the old system for high altitude clouds. The new technique uses ray marching and a combination of Perlin and Worley noises to render dynamic volumetric clouds. The clouds are projected into a dome to simulate the shape of a planet's at- mosphere. The technique has the ability to render from different viewpoints and the clouds can be viewed from both below, inside and above the atmosphere. The final solution is able to render re- alistic skies with many different cloud shapes at different altitudes in real-time. This with completely dynamic lighting. Acknowledgements I would like to thank the entire Frostbite team for making me feel welcome and giving me the opportunity to work with them. I would especially want to thank my two supervisors at Frostbite, S´ebastien Hillaire and Per Einarsson for their help and guidance throughout the project.
    [Show full text]
  • System Stability of the Open Draw Section and Paper Machine Runnability
    Preferred citation: S. Edvardsson and T. Uesaka. System stability of the open draw section and paper machine runnability. In Advances in Pulp and Paper Research, Oxford 2009, Trans. of the XIVth Fund. Res. Symp. Oxford, 2009, (S.J. I’Anson, ed.), pp 557–575, FRC, Manchester, 2018. DOI: 10.15376/frc.2009.1.557. SYSTEM STABILITY OF THE OPEN DRAW SECTION AND PAPER MACHINE RUNNABILITY S. Edvardsson and T. Uesaka* Fibre Science and Communication Network, and Department of Natural Sciences, Engineering and Mathematics, Mid Sweden University, S-851 70, Sundsvall, Sweden ABSTRACT The present work is concerned with the system dynamics and stability of the open draw sections of paper machines where web breaks occur most frequently. We have applied a novel particle- based system dynamics model that allows the investigation of complex interactions between web property fluctuations and sys- tem parameters, without any constraints of a particular geo- metrical web shape or boundary conditions assumed a priori. The result shows that, at a given machine draw and web property parameters, the open draw section maintains its steady-state until it reaches a certain machine speed limit. At this speed the system looses its stability and the web strain starts growing without any limit, and thus leading to a web break. A similar instability can also be triggered when web properties suddenly fluctuate during steady-state operation. The parametric sensitivity studies indicate that, among the web property parameters studied, the elastic modulus of the wet web has the largest impact on the critical machine speed as well as on the detachment point where the web is released from the first roll.
    [Show full text]
  • Interplay: the Adaptive Contexts of Videogame Adaptations
    Stuart Knott Interplay Interplay: The Adaptive Contexts of Videogame Adaptations and Franchises Across Media By Stuart Knott Submitted in partial fulfilment of the requirements of a PhD degree at De Montfort University, Leicester April 2016 1 Stuart Knott Interplay Table of Contents Abstract 3 Acknowledgements 4 Introduction i.i Understanding Videogame Adaptations 5 i.ii Existing Work 11 i.iii Chapter Summary 14 i.iv Conclusion 21 Chapter One: A Brief History of Videogames and their Adaptations 1.1 Theory and History 23 1.2 Cinema(tic) Immersion 34 1.3 Reputation 47 1.4 The Japanese Connection 58 1.5 Early Videogame Adaptations 66 1.6 Cross-Media Complexity 82 1.7 Conclusion 93 Chapter Two: Japanese Videogame Culture as International Multimedia 2.1 The Console Wars 98 2.2 Building a Mascot 110 2.3 Developing a Franchise 120 2.4 Sonic the Animation 128 2.5 International Multimedia 147 2.6 Conclusion 160 Chapter Three: Unifying Action and Culture through Mortal Kombat 3.1 Martial Arts Cinema 165 3.2 The Action Genre 173 3.3 Arcade Duelling 186 3.4 Adapting Street Fighter 195 3.5 Franchising Mortal Kombat 201 3.6 Cult Success and Aftermath 216 3.7 Conclusion 227 Chapter Four: The Appropriations, Economics, and Interplay of Resident Evil 4.1 Zombie Cinema 232 4.2 Developing Resident Evil 240 4.3 The Economics of Adaptation 247 4.4 Personifying Adaptation 265 4.5 Further Appropriations 284 4.6 Beyond Anderson 291 4.7 Conclusion 297 Conclusion 305 Appendices Appendix One: Videogame Adaptations 329 Appendix Two: Sonic Timeline 338 References 343 2 Stuart Knott Interplay Abstract Videogame adaptations have been a staple of cinema and television since the 1980s and have had a consistent presence despite receiving overwhelmingly negative reactions.
    [Show full text]
  • High-Throughput Dynamic SNP Visualizing Tool
    iBrowser2: high-throughput dynamic SNP visualizing tool Author: Guangnan Chen Supervisor: Dick de Ridder Chair Group: Bioinformatics Abstract Introgressive hybridization is a common way to broaden the genetic base of crops by introducing traits from their wild relatives used by plant breeders. To facilitate plant breeding and researching, previously, the introgression browser (iBrowser) was developed to visualize introgressions using homozygous SNPs from Variant Call Format (VCF) files. iBrowser is a strong tool for introgression visualization but has several drawbacks. Its database stores only data of a single resolution, meaning that in order to explore a chromosome across various scales, multiple databases are required. It is also necessary to build a new database once a new accession is added. Here, we present a new version of iBrowser named iBrowser2, which comes with a renewed workflow that requires the construction of only a single database for each species and enables fast dynamic data access across all scales of chromosomes. iBrowser2 also combines a new two-reference mode that can be used to detect crossover profiles in a population, which was inspired by a similar approach called PAVs to detect crossover profiles. iBrowser2 can offer most functionalities of iBrowser, and its result can repeat the finding of iBrowser. The crossover profiles found by iBrowser2 shows similarity in general with one found by PAV approach, but also contain important differences that are hard to explain. The iBrowser2 was proved to be scalable. It can visualize SNPs of hundreds of accessions in seconds. For small datasets, it is a convenient and flexible analyzing tool that runs on a laptop.
    [Show full text]