|
|
| About site: Programming/Graphics/Algorithms and Data Structures - Fast Line Drawing Algorithms by Po-Han Lin |
Return to Computers also Computers |
| About site: http://www.edepot.com/algorithm.html |
Title: Programming/Graphics/Algorithms and Data Structures - Fast Line Drawing Algorithms by Po-Han Lin Contains sources for graphical algorithms to draw lines. Included are the popular Bresenham algorithm, the Wu's Symmetric Double-Step, and the fastest non-cpu dependent algorithm, the Extremely Fast |
|
|
|
|
Institute_for_Robotics_and_Intelligent_Systems IRIS is a University of Southern California group with a focus on molecular robotics, MEMS, programmable automation, computer vision, and mobile robots.
| Security_Geeks Identity and information security news summaries with discussion and links to external sources.
| Sun_Expands_Unix_Deal_with_SCO Previously secret licensee of SCO Unix intellectual property has revealed its identity: Unix leader Sun Microsystems. Sun actually was first firm to sign with SCO, before Microsoft. [CNET News.com]
| Pacific_Design_Guild Real time examples of all the free hit counters
| elastiC_World Portable, extensible, embeddable, high level, interpreted, object-oriented, C-like syntax, fast GC, functional programming support, namespaces. Has documentation, FAQ, code samples, downloads, license
| Pixel_Images Web site design, hosting, and domain name registration. Located in Merseyside, England.
|
|
| Alexa statistic for http://www.edepot.com/algorithm.html |
Please visit: http://www.edepot.com/algorithm.html
|
| Related sites for http://www.edepot.com/algorithm.html |
| Instrument_Control_Sweden_AB Product development and inhouse special engineering in the field of Terrain visualization, 2D/3D displays, ActiveX, Telemetry and customer specific Data Acquisition Systems. | | RFC_2672 Non-Terminal DNS Name Redirection. M. Crawford. August 1999. | | DCL_Dialogue_Online All the articles written by Kevin G. Barkes for DEC Professional and Digital Age magazines available online. | | Go!Zilla Recover from download errors and resume failed downloads, manage and categorize files to download later and get those files from the most responsive site with Go!Zilla. | | Ecast,_Inc_ Provider of MP3-enabled jukeboxes and gaming devices. | | Virage The VideoLogger synchronizes the indexing and encoding of streamable media and content; the Visual Information Retrieval (VIR) Image Engine analyses and compares the visual content of still images; Th | | SVN2Log_-_Generates_changelog_from_Subversion_repository_ SVN2Log automatically generates changelogs from Subversion repository. | | Ian_Collier REXX/imc interpreter, introduction, news, links and related applications. | | SwiftDownloads_com Locate and download the latest shareware software. | | Safran_System Offers site design in English and French. Also photo, translation and hosting services. | | Quomation_Insurance_Services Offers comparative rating, agency management, and ACORD forms software. Also designs and hosts insurance agency websites. | | Security_Solutions_of_Canada Offering the toughest computer anti-theft systems including locks for floppy drives to secure the computer against viruses and unathourized file transfers. | | FabFilter_Software_Instruments Develops FabFilter One, a monophonic lead synthesizer in VST and AudioUnit format. Audio samples, downloadable demo. | | Digital_Web_Magazine Part 1 of a 2-part tutorial on preparing for W3C DOM standard-compliant browsers. | | Tryten Manufacturer of cable locks and cabinets to secure IT systems, laptops, projectors etc. against theft. | | The_PostScript_Area Overview and history of language, explanation on how PostScript renderers work, troubleshooting database, and other basic information about PostScript. | | Chill_Out_Network Friendly IRC Network. Welcomes new users and New Channels , secure IP masking for all users and Full Personnel IP masking of users choice upon request. | | CreaText_HTML_Text_Editor An open-source HTML text editor for Mac OS X. | | Develegas,_Theo Graphics design, web development and Internet consulting. | | D++CMS A module based web content management framework (PHP). |
|
This is websites2007.org cache of m/ as retrieved on 2008.10.11 websites2007.org's cache is the snapshot that we took of the page as we crawled the web. The page may have changed since that time.
|
Algorithms at edepot.com by Po-Han LinedepotWorldReligion MusicGamesMoneyStoresShoesForumsSearchSitemapAlgorithms RepositoryExtremely Fast Line AlgorithmCopyright (c) 2005, By Po-Han LinContact and FeedbackFast Computer Graphics Line-Drawing AlgorithmsFast Line Algorithms (Computer Graphics Line-Drawing)Freely useable in non-commercial applications as long as credits to Po-Han Lin and a link to http://www.edepot.com/algorithm.html is provided in source code (whether released to public or not) and the credit and link URL can be seen in running compiled executable. Commercial applications please inquire about licensing the algorithms.Thanks to Ruud, Gordy, and Eric Grange for tips and pointers. Also to Alexander for the benchmark.The Extremely Fast Line Algorithm (EFLA) is a homebrew line drawing algorithm thatis extremely simple and fast.EFLA beats the most popular (Bresenham) and advanced (Wu's Symmetric Double-Step) algorithms that are not CPU instruction dependent (i.e. multiplatform, 64, 32 or 16 bit architectures, and no assembly speedups)There are five released variations of the Extremely Fast Line Algorithm. They use division, multiplication, addition, and addition with fixed point, and variation with some precalculations. Each of these do not contain any branch instructions within the loop. Branching is a source of significant slowdownon current pipelined superscalar CPU's.Branch instructions cause significant CPU cycle delays as the pipeline gets flushed of all instructions during a mispredicted branch. This delay is very significant as modern superscalar CPU's have longer and longer pipelines. A pipeline containing 10 stages would reduce 10 cycles perloop if there are no branch instructions that causesa pipeline flush.Here is the source for Extremely Fast Line Algorithm (division, multiplication,and addition variations all included)...Extremely Fast Line Algorithm Variation A (Division)Extremely Fast Line Algorithm Variation B (Multiplication)Extremely Fast Line Algorithm Variation C (Addition)Extremely Fast Line Algorithm Variation D (Addition Fixed Point)Extremely Fast Line Algorithm Variation E (Addition Fixed Point With Precalculations)For small displays (like cell phones):Extremely Fast Line Algorithm Variation E (Addition Fixed Point With Precalculations: 256x256 Resolution)Note: For EFLA A to D, the algorithm is optimized for multi-line segments (similar to Window's LineTo where the ending pixel is not plotted). In EFLA-D and E the fixed point accuracy can be increased for longer lines. The special small mobile device display version (256x256) has 0x80 and 8 bits of fixed point accuracy. Standard displays can use the 0x8000 and 16 bits of fixed point accuracy. Accuracy of fixed point can be changed for specialized versions via the fixed point number (8 or 16) and the rounding (0x80 or 0x8000) accordingly. For example 8 bits of accuracy accounts for 256x256, 9 bits for 512x512, 10 bits for 1024x1024, 16 bits for 65536x65536 displays.Included in the EFLA algorithms are functions to generate rectangles and squares. The square algorithm uses second vertex to determine the squarein a clockwise fashion.EFLA Variation E beats the most popular algorithm (Bresenham) andthe most advanced one (Wu) with or without compiler optimizations turned on.Benchmark data: Pentium III 450Mhz, Visual C++ 6.0 Release Build, Default Maximum Speed Optimization...AlgorithmLines Drawn (x1000)SecondsLines Per SecondDDA1600504.4763171.608Bresenham160080.44619889.117Wu160072.89521949.378EFLA Variation E160063.80125077.976The source for the benchmark:Benchmark SourceThe source for Bresenham, Wu, and DDA:Bresenham Line AlgorithmWu Line AlgorithmDDA Line AlgorithmPrograms and Games using the EFLA line algorithm for Sony PSPThese homebrew games using EFLA line algorithm can run on the Sony PSP (Playstation Portable) off of the memory stick.Ceres 1.1 "asteroids" clone for firmware 1.0 and 1.5LuLines 1.1 line segments for firmware 1.0AgenaWorld 1.1 "homeworld" clone for firmware 1.0 and 1.5Simplest (and smallest code size) Maze GeneratorBy: Po-Han Lin Try this algorithm on PSP: world's smallest, simplest, maze generatorIt uses what I call fractal maze generation. Fractal in a sense that, like genetics, a few genes creates complex organisms. Andsimilarly, one line of decision making code makes a whole maze. The rest are just loops deciding on how big is the maze. It uses justtwo ascii characters (forward and back slash). By permutating between these two characters a fancy maze can be made. Total is about 5 lines of code for the maze generation. Source included in zip file.Think EFLA and the fractal maze algorithm are cool? Check out this Arbitrary Precision Calculator that supports arbitrary base.Shortest Path AlgorithmBy: Po-Han LinHere is a homebrew two-pass shortest path algorithm for a small sim game in development. If you use this algorithm please link to this webpage on a site and give credits in the program. The algorithm has two passes. There is a M x N matrix, each marked as empty. Destination is marked (for example X). First pass is to mark all empty adjacent nodes to X (or to nodes already connected with direction) to 1. Second pass is to connect nodes with 1 to its neighbor that is already connected (those with a direction.) If there are two or more nodes, loop through clockwise and choose the first node with a direction (or in a fixed predetermined sequence of selection). In the examples below the clockwise check starts with the E (east) direction. Nodes can be connected only if they are walkable (those marked as 1 in the first pass). Note that it can be 1 or any number. The number 1 is used in this case, but in the program 255 is used (fits within a byte value). The nodes are built up in successive row passes and the robot simply finds out which node they are on and look up which direction to take. If it is 1 or 0 (empty) then don'tyet because there is no shortest path or the path is not possible. In the example below, assume all surroundings are walkable. It looks like a big square field as a result. In reality, in the program you can have non-walkable terrain which the first pass will not mark if it is not walkable. Also assumed is that one walkable node adjacent to another walkable node is always walkable from one to the other, and doors do not exist. In the program there may exist in the future doors that block a connection. To support this feature, simply have the first pass check if doors are closed and not markit if it is. X=destinationInitial Matrix............X............ First pass:Second Pass.......1...1X1...1..............S...EXW...N.......First pass:Second Pass..1...1S1.1EXW1.1N1...1....S...ESS.EEXWW.ENW...N..This example above does not allow diagonal movement. If you want diagonal movements, substitute directions with NW NE SW SE and make sure during the first passdiagonal adjacent nodes are checked and filled in with the number 1 if walkable.Note that thistwo pass algorithm is made for use by a small number of robots and on a dynamic terrain that is being changed all the time.Another version allows for unlimited robots but that version does not perform well for dynamic terrains. A small game demo for windows was made (it was originally made to be a shoe store game). Pleaseread the readme.txt inside the zip file for instructions on installing and to play with the robot'sbehavior using this algorithm. To download visit the middle of the page of: Shoes Game_uacct = "UA-410236-1";urchinTracker(); |
|
| |
Contains | sources | for | graphical | algorithms | to | draw | lines. | | Included | are | the | | popular | Bresenham | algorithm, | the | Wu's | Symmetric | Double-Step, | and | the | fastest | non-cpu | dependent | algorithm, | the | Extremely | Fast |
|
http://www.edepot.com/algorithm.html
Fast Line Drawing Algorithms by Po-Han Lin 2008 October
dvd rental
dvd
Contains sources for graphical algorithms to draw lines. Included are the popular Bresenham algorithm, the Wu's Symmetric Double-Step, and the fastest non-cpu dependent algorithm, the Extremely Fast
Rules
|
© 2008 Internet Explorer 5+ or Netscape 6+
|
|
Recommended Sites: 1.
Arts -
Business -
Computers -
Games -
Health -
Home -
Kids and Teens -
News -
Recreation -
Reference -
Regional -
Science -
Shopping -
Society -
Sports -
World
Miss Gallery
- Top Anime Hentai
- DVD rental by mail
- Credit Cards - Finance - Credit Counseling - Israel - Germany Property
|