6 research outputs found

    Fast Lines: a Span by Span Method

    Full text link

    Efficient Algorithms for Large-Scale Image Analysis

    Get PDF
    This work develops highly efficient algorithms for analyzing large images. Applications include object-based change detection and screening. The algorithms are 10-100 times as fast as existing software, sometimes even outperforming FGPA/GPU hardware, because they are designed to suit the computer architecture. This thesis describes the implementation details and the underlying algorithm engineering methodology, so that both may also be applied to other applications

    New Approaches and Techniques for Drawing Lines on Raster Devices.

    Get PDF
    Two basic approaches to drawing lines on raster devices are discussed and improved upon. The first is the recursive bisection algorithm, a method recently proposed by John Rankin, which uses a fractal approach to draw lines. The second is the double-step algorithm, a method proposed by Xiaolin Wu and Jon Rokne, which is based on the traditional Bresenham approach to drawing lines. Although a number of line drawing algorithms exist, the algorithms presented are of interest because the double-step algorithm is one of the fastest line drawing algorithms. Furthermore, since lines are self-similar and fractals have been found to be useful in drawing other self-similar objects such as coastlines, plants, and terrain, the investigation of such an approach appears to be a worthwhile endeavor. In addition, some of the ideas presented can be applied to other line drawing algorithms and related problems such as incremental linear interpolation. Regarding the recursive bisection algorithm, modifications making it faster than the traditional Bresenham method while reducing the logarithmic space requirements to a constant are discussed. A more detailed examination of the error analysis is presented as well. A parallel version of the algorithm is also developed in which only two operations reducible to multiplication/division are required, equaling the lower bound and half the amount needed by the parallel Bresenham algorithm. In addition, the amount of logic needed is small. In the second part, modifications to the double-step line drawing algorithm are presented that allow additional pixels to be determined during some of the loop iterations. It is then shown that the resulting algorithm reduces the number of iterations by up to 33% while keeping the same worst case performance, code complexity, and initialization costs as the double-step algorithm. Lastly, this approach is generalized and applied to one of the fastest incremental linear interpolation algorithms, giving similar results

    Aplicaciones de la aritmética en coma fija a la representación de primitivas gráficas de bajo nivel

    Full text link
    La aritmética en coma fija tiene la propiedad de realizar operaciones con números decimales con un coste computacional entero. A pesar de no estar soportada de forma nativa por los lenguajes de programación y por las CPUs generalistas, es la aritmética ideal para aplicaciones de control industrial, simulación, informática gráfica, multimedia y señal digital, etc. Su falta de normalización y soporte impide su uso extendido en muchos campos de la informática. Esta tesis justifica la utilización de esta aritmética en el campo de los gráficos por computador. A partir de un estudio de implementación y normalización de la aritmética, se estudian incrementos de potencia relativos y precisiones obtenidas y su aplicación a la simulación discreta y de vuelo. Se analizan los algoritmos de dibujo de primitivas básicas como las líneas, con y sin aliasing, su recortado y el dibujo de circunferencias y elipses. Se presentan algunas implementaciones de algoritmos basados en la coma fija y se analiza la mejora del coste computacional y de la precisión obtenida respecto de los algoritmos de fuerza bruta y de los tradicionales. Mientras los algoritmos tradicionales suelen entregar un error comprendido entre los 0.32 y 0.45 píxeles, dependiendo de la primitiva analizada, los algoritmos basados en la coma fija no superan los 0.25 de media, igualando el error teórico generado por los algoritmos de fuerza bruta. Por otro lado, los algoritmos basados en la aritmética en coma fija suelen mejorar la velocidad media de los algoritmos tradicionales, pudiéndose a veces conseguir aceleraciones elevadas si se utilizan técnicas de paralelización. Éste sería el caso de la versión paralela del algoritmo DDA con y sin antialiasing que podría dibujar una recta con coste temporal logarítmico respecto de su longitud en píxeles. Los algoritmos obtenidos son tan sencillos que pueden ser implementados algunos de ellos en hardware dentro de un procesador gráfico de forma muy eficiente.Mollá Vayá, RP. (2001). Aplicaciones de la aritmética en coma fija a la representación de primitivas gráficas de bajo nivel [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/15406Palanci

    Studi banding algoritma pembuatan garis

    No full text
    Perkembangan teknologi raster display membawa pengaruh yang sangat besar dalam bidang komputer grafik. Hal ini memdorong berbagai pihak untuk memanfaatkan teknik-teknik komputer grafik semaksimal mungkin. Pembuatan garis adalah aplikasi dasar pada komputer grafik yang dapat dikembangkan menjadi aplikasi grafik lain yang lebih kompleks. Tidak semua algoritma pembuatan garis mempunyai kecepatan dan kualitas yang sama baiknya. Sehingga perlu dipilih mana yang terbaik dari algoritma-algoritma tersebut. Ada tiga algoritma pembuatan garis yang akan dibuat yaitu Bresenham's Algorithm, Digital Differential Analyzer (DDA) Algorithm dan Fast Line Scan-Conversion Algorithm. Pengujian dilakukan dengan menampilkan gambar-gambar garis dari beberapa posisi dengan pembesaran 4X sehingga terlihat jelas hasilnya. Untuk pengujian waktu pembuatan garis dan kecepatan garis dilakukan dengan mengulang proses sebanyak 20X pada koordinat yang sama. Data yang diperoleh kemudian diambil rata-ratanya. Hasil yang telah dicapai dari ketiga algoritma pembuatan garis mempunyai kelebihan dan kelemahan masing-masing. Untuk kualitas gambar garis yang terbaik dapat dipakai algoritma DDA. Waktu tercepat untuk pembuatan garis dapat menggunakan algoritma Bresenham. Sedang untuk kecepatan pixel per detik yang paling cepat adalah algoritma Fast Line Scan-Conversion
    corecore