Some notes and papers, VHDL or FPU related
[ipdf/documents.git] / ProposalNotesDavid
1 Infinite-precision vector documents
2 -----------------------------------
3
4 - Background
5   - Existing document formats like postscript are based around 32-bit floats
6     - Not quite IEEE.
7   - Zooms on typical document viewers maxes out at at something between 3x and 16x.
8   - CAD, BIM, etc. utilities would benefit from higher zoom levels.
9   - Editing documents at such zoom levels would present further issues, as some objects
10     specified within would need more bits of precision than others. No single coordinate
11     system can handle everything efficiently with a finite number of bits.
12
13 - Aim
14   - Prototype a system which does not have restrictions on zoom levels.
15   - Performant at all zoom levels.
16   - Performance not dependent on view of the document:
17     - Big Integer/Float solutions will require more bits to store data further away from the
18       centre of the document, leading to slower calculations at high zoom levels away from the origin.
19
20 - Method
21   - Develop a simple "document" format
22     - Likely consulting of simple geometry.
23     - Easily rasterized with APIs like OpenGL.
24   - Extend it to support high zoom levels.
25     - A variety of techniques can be investigated.
26       - BigInt/BigFloat coordinates and transformation matrices.
27         - Likely slow, cannot be done on GPU, but conceptually very simple.
28       - Coordinate system "renormalization"
29         - Split document into regions each with their own coordinate system.
30         - (Nested)
31         - Use a quadtree to create these new regions.
32         - When zoomed in such that a region fills the screen, it becomes the
33           "parent" of the view.
34         - During zooming in, values can be converted from parent coords to
35           child coords by dropping the most significant bit of precision, gaining
36           an additional bit of precision in the LSB position.
37         - Reverse for zooming out.
38
39 - Timeline (proposed)
40   - March/April
41     - Set up a simple document format to experiment on.
42       (Including systems to create, edit and view these documents)
43     - Proposal + Talk (March 13, March 24-28)
44     - Literature review (April 17)
45   - May/June
46     - Revise, complete Lit Review
47     - Implement one or more "infinite precision" systems in our document format
48       - Measure performance, etc.
49   - July/August
50     - Continue experimenting with the document format, other techniques
51     - Begin work on dissertation.
52   - September
53     - Draft dissertation complete (18th)
54   - October
55     - Seminar (Abstract due 9th, Presentation 27th-31st)
56     - Poster (30th)
57     - Final dissertation (23rd)
58   - November
59     - Exams
60     - Corrected dissertation
61     - Sigh of relief
62
63 - Software, Hardware requirements
64   - IBM-compatible PC with OpenGL-accelerated graphics.
65   - Development will be done under the Linux operating system.
66   - The techniques presented should be portable to other similar systems.
67
68

UCC git Repository :: git.ucc.asn.au