19 research outputs found

    Solving Geometric Constraints by Homotopy

    No full text
    International audienceNumerous methods have been proposed in order to solve geometric constraints, all of them having their own advantages and drawbacks. In this article, we propose an enhancement of the classical numerical methods, which are, up to now the only ones that apply to the general case

    Résolution des contraintes géométriques

    No full text
    National audienceLa modélisation par contraintes définit les objets géométriques (typiquement, en 2D, les points, droites, cercles, coniques, etc) par les contraintes qu'ils doivent vérifier (distances, angles, tangences, incidences, etc. entre paires d'objets). L'exposé tente de faire le point sur les diverses méthodes proposées à ce jour pour la résolution des contraintes, en 2D ou en 3D. Les méthodes algébriques transforment les contraintes en un système d'équations, et recourent ensuite à des méthodes numériques (relaxation, Newton-Raphson) [4] ou symboliques (bases de Grobner, méthode de Wu et Ritt) [5,3]. Les méthodes géométriques décomposent le système de contraintes en problèmes géométriques élémentaires (solubles à la règle et au compas par exemple) ; la décomposition est effectuée soit par des manipulations de graphes [1,6] soit par un moteur d'inférence [7], soit par un langage tel prolog [2]

    Applied computational geometry: Towards robust solutions of basic problems

    Get PDF
    AbstractGeometric computations, like all numerical procedures, are extremely prone to roundoff error. However, virtually none of the numerical analysis literature directly applies to geometric calculations. Even for line intersection, the most basic geometric operation, there is no robust and efficient algorithm. Compounding the difficulties, many geometric algorithms perform iterations of calculations reusing previously computed data. In this paper, we explore some of the main issues in geometric computations and the methods that have been proposed to handle roundoff errors. In particular, we focus on one method and apply it to a general iterative intersection problem. Our initial results seem promising and will hopefully lead to robust solutions for more complex problems of applied computational geometry

    Using Markup Languages for Accessible Scientific, Technical, and Scholarly Document Creation

    Get PDF
    In using software to write a scientific, technical, or other scholarly document, authors have essentially two options. They can either write it in a ‘what you see is what you get’ (WYSIWYG) editor such as a word processor, or write it in a text editor using a markup language such as HTML, LaTeX, Markdown, or AsciiDoc. This paper gives an overview of the latter approach, focusing on both the non-visual accessibility of the writing process, and that of the documents produced. Currently popular markup languages and established tools associated with them are introduced. Support for mathematical notation is considered. In addition, domain-specific programming languages for constructing various types of diagrams can be well integrated into the document production process. These languages offer interesting potential to facilitate the non-visual creation of graphical content, while raising insufficiently explored research questions. The flexibility with which documents written in current markup languages can be converted to different output formats is emphasized. These formats include HTML, EPUB, and PDF, as well as file formats used by contemporary word processors. Such conversion facilities can serve as means of enhancing the accessibility of a document both for the author (during the editing and proofreading process) and for those among the document’s recipients who use assistive technologies, such as screen readers and screen magnifiers. Current developments associated with markup languages and the accessibility of scientific or technical documents are described. The paper concludes with general commentary, together with a summary of opportunities for further research and software development

    Rapidgzip: Parallel Decompression and Seeking in Gzip Files Using Cache Prefetching

    Full text link
    Gzip is a file compression format, which is ubiquitously used. Although a multitude of gzip implementations exist, only pugz can fully utilize current multi-core processor architectures for decompression. Yet, pugz cannot decompress arbitrary gzip files. It requires the decompressed stream to only contain byte values 9-126. In this work, we present a generalization of the parallelization scheme used by pugz that can be reliably applied to arbitrary gzip-compressed data without compromising performance. We show that the requirements on the file contents posed by pugz can be dropped by implementing an architecture based on a cache and a parallelized prefetcher. This architecture can safely handle faulty decompression results, which can appear when threads start decompressing in the middle of a gzip file by using trial and error. Using 128 cores, our implementation reaches 8.7 GB/s decompression bandwidth for gzip-compressed base64-encoded data, a speedup of 55 over the single-threaded GNU gzip, and 5.6 GB/s for the Silesia corpus, a speedup of 33 over GNU gzip.Comment: HPDC'2

    GeoLab : um ambiente para desenvolvimento de algoritmos em geometria computacional

    Get PDF
    Orientador : Pedro Jussieu de RezendeDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da ComputaçãoResumo: Esta tese discute o projeto e a implementação de um ambiente de programação voltado para o desenvolvimento de algoritmos e estruturas de dados em Geometria Computacional chamado Geolab. Este ambiente provê o suporte necessário para a implementação de algoritmos geométricos através de uma biblioteca de objetos geométricos básicós e de um conjunto significativo de algoritmos fundamentais como algoritmos para construção de envoltórias convexas, diagramas de Voronoi, árvores espalhadas mínimas, etc. Tanto o conjunto de objetos básicos como o de algoritmos fundamentais podem ser ampliados através de mecanismos do ambiente que permitem que novas construções sejam incorporadas dinamicamente. O ambiente dispõe ainda de ferramentas que permitem a inclusão dinâmica de novos modos de operação junto à sua interface, complementando a gama de facilidades para o desenho de novos objetos (ou variações para os objetos já existentes) e a implementação de algoritmos geométricos dinâmicos ou que realizam preprocessamento. Objetos e algoritmos geométricos são mapeados em classes em C++ que especificam protocolos para sua manipulação pelo ambiente. Novas entidades interagem homogeneamente com o ambiente satisfazendo estes protocolos. Algoritmos geométricos podem ser animados. Animação per se é conseguida graças à introdução de código adicional no corpo dos algoritmos, através do qual o ambiente permite controla.ra velocidade e o nível de detalhes de uma animação. Existe também um outro tipo de animação, chamado dynamic move, conseguida através de um dos modos funcionais do Geolab e que consiste na execução repetitiva de um algoritmo enquanto sua entrada sofre modificaçõesAbstract: Not informedMestradoMestre em Ciência da Computaçã

    Design and Applications of Coordinate Measuring Machines

    Get PDF
    Coordinate measuring machines (CMMs) have been conventionally used in industry for 3-dimensional and form-error measurements of macro parts for many years. Ever since the first CMM, developed by Ferranti Co. in the late 1950s, they have been regarded as versatile measuring equipment, yet many CMMs on the market still have inherent systematic errors due to the violation of the Abbe Principle in its design. Current CMMs are only suitable for part tolerance above 10 μm. With the rapid advent of ultraprecision technology, multi-axis machining, and micro/nanotechnology over the past twenty years, new types of ultraprecision and micro/nao-CMMs are urgently needed in all aspects of society. This Special Issue accepted papers revealing novel designs and applications of CMMs, including structures, probes, miniaturization, measuring paths, accuracy enhancement, error compensation, etc. Detailed design principles in sciences, and technological applications in high-tech industries, were required for submission. Topics covered, but were not limited to, the following areas: 1. New types of CMMs, such as Abbe-free, multi-axis, cylindrical, parallel, etc. 2. New types of probes, such as touch-trigger, scanning, hybrid, non-contact, microscopic, etc. 3. New types of Micro/nano-CMMs. 4. New types of measuring path strategy, such as collision avoidance, free-form surface, aspheric surface, etc. 5. New types of error compensation strategy

    A digital-friendly mathematical notation for series

    Get PDF
    Mathematics in the South African Secondary School context is a subject under a lot of scrutiny and discussion. Enrollment figures for Mathematics in Secondary Schools are declining and qualified teachers that produce learners with good results are hard to find. In this climate, the use of on-line tools and portals could be a solution for teacher self-education and a useful and cheap supplementary source of material to learners of mathematics. We conducted a survey to establish the usage of on-line portals by Secondary School Mathematics teachers in the province of Gauteng in South Africa. The survey showed that the use of on-line portals is very low for a variety of reasons. One of the reasons, after the more obvious ones such as training, access and infrastructure, was the difficulty that non IT-literate people have in using the tools, and in particular entering mathematical expressions electronically. '' In a parallel activity to present a possible improvement to the problem stated, we proposed a new notation for the well-known sigma notation for series. The sigma notation is one of the first complex and multidimensional notations that learners encounter in the final secondary school mathematics curriculum. Research showed that the use of a well-designed and uniform notation is imperative to improve communication and understanding in the field of mathematics. Currently, a fairly consistent notation is used to notate the elements of sets, but the notations for sequences, series and other equations often vary from one author to another. Furthermore, the currently used sigma notation for series is ambiguous. The notation proposed by us involves a modification of the traditional set notation because the most widely used notation for sets has limitations and cannot easily be generalized to sequences and series. The proposed modification addresses these limitations and provides an elegant extension of the set notation to denote sequences and series more uniformly. The proposed notation has the additional benefit not using any special character or symbol. It is also a linear notation and therefore simpler to use electronically. We tested the comprehension of the proposed notation in a live school study for improved understanding. The outcome of the study did not show that the new notation brings any improvement in the learners’ ability to grasp the underlying concept, but it highlighted issues with the writing of the traditional notation that might benefit from a shift towards a more explicit notation using familiar symbols, such as the one proposed. The survey results and the school experiment indicated that notations that use familiar and easy-to-write symbols, and are simple to input electronically using a standard keyboard, could lower the barrier to entry towards wider use of on-line portals for mathematics education. For wide-scale and general benefit, all mathematical notations will need to be adapted to adhere to the principal of one-dimensional, standard keyboard symbols. This is an ambitious goal but we hope that this dissertation can instigate thinking and experimenting in this area to slowly migrate mathematical notations to digital on-line friendly formats.Dissertation (MSc)--University of Pretoria, 2019.Electrical, Electronic and Computer EngineeringMScUnrestricte

    Engineering Language-Parametric End-User Programming Environments for DSLs

    Get PDF
    Human-computer communication can be achieved through different interfaces such as Graphical User Interfaces (GUIs), Tangible User Interfaces (TUIs), command-line interfaces, and programming languages. In this thesis, we used some of these inter- faces; however, we focused on programming languages which are artificial languages consisting of instructions written by humans and executed by computers. In order to create these programs, humans use specialized tools called programming environments that offer a set of utilities that ease human-computer communication. When creating programs, users must learn the language’s syntax and get acquainted with the pro- gramming environment. Unfortunately, programming languages usually offer a single user interface or syntax, which is not ideal considering different types of users with varied backgrounds and expertise will use it. Given the increasing number of people performing any kind of programming activity, it is important to offer different inter- faces depending on the programming task and the background of the users. However, from the language engineering point of view, offering multiple user interfaces for the same language is expensive, and if we specifically consider Domain-Specific Languages (DSLs), it is even more expensive given their audience and development teams’ size. Therefore, we study how to engineer different user interfaces for DSLs in a practical way.This thesis presents different mechanisms to engineer different language-parametric programming environments for end-users. These mechanisms rely heavily on reusing existing language components for existing languages or helping language engineers define these interfaces for new languages. We mainly studied four technological spaces, namely, Grammarware, Computational Notebooks, Block-based environments, and Projec- tional editors. We present three different language-parametric interfaces for interacting with DSLs, namely computational notebooks, projectional editors, and block-based editors. These interfaces offer different user experiences and rely upon different technological spaces. Different notations are associated with different technological spaces; for in- stance, grammarware is associated with text files, while block-based environments are associated with Blockly and JavaScript files. Therefore, to provide different notations for their languages, we have to "space travel" so that language engineers can select the most appropriate technological space and interface for their target audience. To support this, we defined grammarware as a common starting point to allow traveling to different technological spaces (e.g., computational notebooks space, projectional editors space, or block-based space). Based on this idea, we developed three tools that allowed language engineers to generate different interfaces for their DSLs based on a grammar definition of the language. Our results show that it is possible to generate these different user interfaces and decrease the effort required to create these. However, additional research is required to improve the usability of the generated interfaces and make the generation of these interfaces more flexible so that users’ data can be used as part of the generated interfaces

    Modelling and design of an autonomous sailboat for ocean observation

    Get PDF
    Includes bibliographical references.This study presents various aspects of the development of an autonomous sailboat for ocean observation, with specific focus on modelling and simulation. The potential value of such platforms for ocean observation is well established, with there being a number of expected advantages over existing solutions. A comprehensive literature review is presented, revealing that the modelling of sailboats is an existing field but that the modelling of small autonomous platforms appears to have been limited. This study develops three and four degree of freedom models of a small autonomous J-Class style sailboat. The sailboat is a prototype platform which is developed from its existing state as part of the study. Both models are validated against data logged during field tests, showing broad agreement with some limitations being noted. Results of simulations of the models are used to draw a number of conclusions regarding the appropriate design of the platform's wing-sail, the wing-sail's control requirements in diffirent wind conditions, potential modifications of the platform's design, and the control of its heading while sailing. Results are also used to inform the proposal of a novel 'variable draft sailing spar' as an alternative autonomous sailboat design
    corecore