[[An Introduction to AJAX|http://www.darknet.org.uk/]] 3/18/6 edition\n[[Simple AJAX Toolkit|http://www.modernmethod.com/sajax/]]\n\n
<<option chkGenerateAnRssFeed>> GenerateAnRssFeed\n<<option chkOpenInNewWindow>> OpenLinksInNewWindow\n<<option chkSaveEmptyTemplate>> SaveEmptyTemplate\n<<option chkToggleLinks>> Clicking on links to tiddlers that are already open causes them to close\n^^(override with Control or other modifier key)^^\n<<option chkHttpReadOnly>> HideEditingFeatures when viewed over HTTP\n<<option chkForceMinorUpdate>> Treat edits as MinorChanges by preserving date and time\n^^(override with Shift key when clicking 'done' or by pressing Ctrl-Shift-Enter^^\n<<option chkConfirmDelete>> ConfirmBeforeDeleting\nMaximum number of lines in a tiddler edit box: <<option txtMaxEditRows>>\nFolder name for backup files: <<option txtBackupFolder>>\n
Discuss in depth a patent of an ECSE alumnus, such as:\n\nCurtis Priem\nChandra Naranaswami\nSalim ~Abi-Ezzi\nWilliam Yerazunis\nOlin Lathrop
On Wednesday, April 5, at 1:00, Glyn Heatley\n(glyn.heatley@algomau.ca) from Algoma University in Canada\nwill give a presentation on MSc Computer Games Technology in\nLally 02.\n\nHere is the abstract:\n\nIn the digital age the modern craftsmen and women no longer\ntoil at turning wood and forging iron, but rather at the\nmonitor. Their tools are not files, hammers and chisels, but\nstory boards, debugging windows and code windows. The games\nindustry is a multi-billion dollar industry in North America\nalone, employing thousands of programmers, artists and\nproducers. Demand is at it's highest for talented, well\neducated individuals to work in this industry. Talent is no\nlonger enough to make the grade. Education is required.\n\nAlgoma U is the exclusive host of the MSc Computer Games\nTechnology in North America. The most mature and well\ndeveloped games degree in the world is now available for\nCanadian and American students to take advantage of.\n\nGlyn Heatley from Algoma U presents at\nLally 02 at 1:00 on Wednesday April 5 on the MSc\nComputer Games Technology. This is currently the only Masters\nlevel degree program on offer in North America, specifically\nfocussed on game programmers.\n\nCome\nalong and see if postgraduate studies in computer games\ntechnology is for you.\n
Abstracting a system to hide its irrelevant complexities, and to provide a base on which to build, has been persistent and successful paradigm throughout Computer Science history. A closely tied concept is the 'filter' to provide properly formatted input to a process, and to convert a process's output into a more useful form. We need to extend abstraction and filtration to systems controlled by graphical user interfaces, jokingly described as WYSIAYG (What You See Is All You Get).\n\nConsider what the transition from textual interfaces to ~GUIs has cost. If you know the system's next question, you can type ahead, instead of being forced to slow down to the machine's speed. Scripts can be written to control text programs w/o online human input. The output can be analyzed with programs like 'expect', which can then provide appropriate, context sensitive, input. None of this is possible with a graphical interface.\n\nThe impact of this defect is more than a matter of speed. A major early Unix philosophy was that multiple text programs can be chained together, so that a complicated task, not envisioned by the original designers, could be solved by connecting several simple standard components. In contrast, just try to connect two interactive forms entry programs.\n\nOur inability to abstract, and build on, graphical interfaces blocks progress by preventing small graphical packages from being put together into one system, and wrapped in a custom interface. What would this allow? At least, one might imagine a GUI wrapper than translated to and from another language, or that made the system accessible to a handicapped person. Currently we are mostly at the mercy of the system designer to provide these capabilities, which means that only large markets get served. The following is an immediate commercial application. The government of the Province of Quebec requires that the SW on business computers generally be in French. Businesses are complaining about the need to buy new SW. Consider the advantage if the currently English graphical SW could be wrapped in a layer that translated to and from French.\n\nThis presents both a challenge and an opportunity to IS/IA. The challenge is that easier system connections will facilitate both benevolent and malevolent information flow. It will become easy to wardial GUI systems, searching for vulnerabilities. The opportunity is that GUI systems may be wrapped in interfaces to validate their input, and check that user authorization. Data mining at the union of different systems will be possible. None of this will require any cooperation from the various systems.\n\nThis is a longterm open-ended problem.\n
The [[Computational Geometry Algorithms and Library|http://www.cgal.org]] is a large library of C++ classes and routines. It is free for university use.
~ECSE-6800 Advanced 3-D Computer Graphics and Visualization\n\nThis course will cover 3-D graphical application programmer interfaces (~APIs) and advanced rendering techniques, visulation pipelines, creating simulations, and visualization packages. Also covered will be algorithms for extracting visual information from data sets, such as determining iso-surfaces, contours, and cut planes. A programming emphasis will be on object-oriented design and systems. Term project required. Prerequisites: ~ECSE-4750, ~CSCI-2300 or equivalent, some familiarity with Java/C++. Spring term. 3 credit hours
RPI talk 3/31/06\n[[Utah Scientific Computing and Visualization Institute (SCI) |http://www.sci.utah.edu/]]\n[[Segmentation and Registration Toolkit|http://www.itk.org]]\n[[PITAC report|http://www.nitrd.gov]]\n\n
(newest first)\n\n*The SoE asks me to ask you to please fill out your surveys.\n*Sample style for term project: One conference whose style you may follow is the 2005 Canadian Conference in Computational Geometry. However, ignore the page limit.\n[[http://cccg.cs.uwindsor.ca/]]\n* April5GamesTechTalk\n* Read TermProjects.\n*Midterm student progress report:\n**Every student who has given two presentations would have an 'A' if the course ended now.\n**Every student who has given only one presentation would have a 'B' w/o giving a second presentation, or an 'A' after giving a second presentation of the same quality.\n**Of course, you still have to do a term project.\n*There will be no class on April 11.\n*new web page about graphics at RPI: [[http://www.cs.rpi.edu/graphics/]]\n\nPossibleUndergradSummerSupport\nFinalExamSchedule\nDesiredClassTimeAlloc\nDARPAGrandChallengeTV\nRSSFeedSetUp\nSiggraphStudents\nSwitchedToTiddlyWiki\n\n
\n\n|!N|!Date|!Lecture|!Student Work|\n| 1.|Tues Jan 17|SIGGRAPH 2002 [[Course 33|Internal/SIGGRAPH2002/33.pdf]], Intro to Computer Graphics| none|\n| 2.|Fri Jan 20|Finish the intro. <html><hr></html> Start [[POVRAY|http://www.povray.org]]| ________________ ________________|\n| 3.|Tues Jan 24|[[POVRay tutorial|povray/povray_tutorial.pdf]] |Start HomeWork1POVRay ________________ ________________|\n| 4.|Fri Jan 27|[[Many POVRay sample images|povray/from_rpm/]]. <html><hr></html> Start PreparataShamos in ComputationalGeometry|Xie on MS. <html><hr></html>[[Martin on radiosity|http://www.cubicsky.com/steve/ecse6800/pres1.pdf]]|\n| 5.|Tues Jan 31|PreparataShamos ctd.|Hand in HomeWork1POVRay.<html><hr></html>Martin on Brown U.|\n| 6.|Fri Feb 3|PreparataShamos ctd.|Xie on Georgia Tech.<html><hr></html>[[Smith on CG Shader Language|Smith1.ppt]]|\n| 7.|Tues Feb 7|<<tiddler wrf7>>|Pennybacker on IBM Research.|\n| 8.|Fri Feb 10|<<tiddler wrf8>>|Clay on 3D printers|\n| 9.|Tues Feb 14|[[Geometric Operations on Millions of Objects|http://wrfranklin.org/Research/geo_ops_millions-jul2004/index.html]] - intro to my research|Pennybacker on Berkeley<html><hr></html>[[Hofler on Duke|http://www.cs.rpi.edu/~hoflet/duke.ppt]]|\n|10.|Fri Feb 17|LightEtc|Singhal on NSF<html><hr></html>Lal on UNC|\n|--|Tues Feb 21|No class.||\n|11.|Fri Feb 24|<<tiddler wrf11>>|Thambidurai on Texas/Austin?<html><hr></html>Clay on Pixar|\n|12.|Tues Feb 28|<<tiddler wrf12>>|Kracun on Caltech|\n|13.|Fri Mar 3|<<tiddler wrf13>>|Singhal on U Washington|\n|14.|Tues Mar 7|<<tiddler wrf14>>||\n|15.|Fri Mar 10| |[[Hofler on the Sony Playstation 2|http://www.cs.rpi.edu/~hoflet/ps2.pdf]]. [[Demo SW|http://www.cs.rpi.edu/~hoflet/ps2demo.zip]]<html><hr></html>Shrestha on MayaSW.|\n|--|March 13-17|No classes. | |\n|16.|Tues Mar 21|LevelsOfDetail|Bhuptani on Utah|\n|17.|Fri Mar 24|NonPhotoRealisticRendering|Smith on Stanford|\n|18.|Tues Mar 28|SurfaceFitting|Shrestha on stereographs **LATER**<html><hr></html>Lal on Geneva|\n|19.|Fri Mar 31|Class replaced by Biomedical Computing and Visualization seminar at 2pm in Ricketts 203 by ChrisJohnson|Email me your term project proposal and list of the 4 presentation dates, in order of preference.|\n|20.|Tues April 4|GeometricAlgebra|Kracun on CSG<html><hr></html>Thambidurai on GLSL|\n|21.|Fri April 7|Geometric Algebra ctd. ||\n|22.|Tues April 11|Class canceled.| ________________ ________________|\n|23.|Fri April 14|See [[wrf23]]|Email me a term project progress report. <html><hr></html>Bhuptani on Augmented Reality Gaming ________________|\n|24.|Tues April 18|special lecturer: Dr Tobi Saulnier of First Playable||\n|25.|Fri April 21|3 student term project presentations.|Buck Clay<html><hr></html>Jonathan Thambidurai<html><hr></html>Zhongyi Xie|\n|26.|Tues April 25|3 student term project presentations.|Eric Smith<html><hr></html>Aleksandar Kracun & Thomas Hofler|\n|27.|Fri April 28|3 student term project presentations.|Omkar Bhuptani, Niraj Shrestha & Ankur Singhal|\n|28.|Tues May 2|3 student term project presentations.|Steve Martin<html><hr></html>Laj Lal<html><hr></html>Matt Pennybacker<html><hr></html>Term projects due.|
*CatalogDescription\n*CourseObjectives\n*WhyTakeThisCourse\n*TheProf\n*CourseHomePage\n*ReadingMaterial\n*ComputersUsed\n*TheLectures\n*TheGrading\n*HonestyPolicy/% *FamousGrads %/\n*GregTurkOnGraphicsMath
[[JPEG]]\n[[MPEG]]\n[[NTSC]]\nResolutionsOfEarlyMonitors
LeePreparata ?\nPreparataShamos\n[[Mathworld on Computational Geometry|http://mathworld.wolfram.com/ComputationalGeometry.html]]\n\n
You may use any system that works for you, and that can do the work. My examples will generally be in Linux.
Assume that the universe is a 3D array of bits, or binary voxels. Each voxel is either full or empty. Each full voxel is adjacent to either its 6 or to its 26 neighbors. The problem is to find the //connected components//. There have been algorithms, such as union-find, and implementations for several decades. However, when the universe is, say, of size 700^^3^^=500M, the problem is nontrivial.\n\nI have a fast implementation of this, described [[here|../../Research/connect/index.html]].\n\nThe project is to research the best competing methods and examples, and compare. If my method is better, than write a paper, which we'll submit somewhere.
# [[Convex hull applet|http://www.cse.unsw.edu.au/~lambert/java/3d/hull.html]]\n# [[SUNY Stony Brook on convex hulls|http://www.cs.sunysb.edu/~algorith/files/convex-hull.shtml]]\n# Good ref: PreparataShamos\n# Methods: \n## Divide & conquer\n## Graham scan. See [[Princeton's animation|http://www.cs.princeton.edu/~ah/alg_anim/version1/GrahamScan.html]]\n## Jarvis march. See [[Princeton's animation|http://www.cs.princeton.edu/~ah/alg_anim/version1/JarvisMarch.html]]\n## qhull. See [[Princeton's animation|http://www.cs.princeton.edu/~ah/alg_anim/version1/QuickHull.html]]\n\n
[[http://wrfranklin.org/Teaching/advanced_graphics-S2006/|http://wrfranklin.org/Teaching/advanced_graphics-S2006/]]\n\nThat redirects to the ecse server, which you may also directly point to.
To learn current research topics in this field.
A one-hour documentary ("Warbots") on the DARPA 2005 Grand Challenge will air on Friday, Jan. 27 at 8 & 11pm and on Jan. 28 at 3am on the Military Channel. \n
HowToReadThisSite\nDesiredClassTimeAlloc
How would you like the class time to be allocated?\n\nWhen I planned for 3 talks per student plus a project presentation, there were fewer students preregistered than there are now. Now, with more students, there is less time for me to present material. So, what do you prefer?\n\n*3 15-minute students talks plus the term project presentation, or\n*2 15-minute students talks plus the term project presentation, or\n*3 10-minute students talks plus the term project presentation.\n
Finds the surface of a point cloud.\n\n[[paper|dey-tcocone.pdf]]\n[[paper|dey-cocone.pdf]]\n[[code|Internal/tightcocone]]
I have an algorithm for finding mass properties (volume and surface area) of the union of many polyhedra. It processes all the objects at once w/o combining them pair-by-pair in a tree. I also have an implementation for identical cubes that can process 10M cubes. See [[here|../../Research/Geom_Apps.html]].\n\nThis project is to extend the idea to allow cubes to be inserted or deleted and then recompute the mass properties w/o restarting from scratch. Insertion is easier than deletion. However, deletion will be much faster with my method than if a tree of operations were used.
I have ~NEARPT3, a very fast program to do nearest points queries in E^^3^^. Documentation and code are [[here|../..Research/nearpt3/]]. ~NEARPT3 processes a set of fixed points. Then it accepts query points, and returns the closest fixed point to each query. I can process over 100M fixed points on my laptop.\n\nThis project is to extend ~NEARPT3 so that the fixed point set may be modified w/o needing to completely re-preprocess it. That is, allow insertions and deletions. \n\nDeletions are easy: just flag the deleted point to be ignored. My data structure is a uniform grid, so the insertions are easy in principle. However, I pack it tightly so that the practice is a little harder.\n\nOne generic solution, as more points are inserted, is to build a forest of search data structures of different sizes. This asymptotically increases the search time by a factor of log(N). However, a faster technique specific to uniform grids should be possible.\n
I've compiled a list of some [[famous RPI grads|http://wrfranklin.org/Teaching/graphics-f2005/Famous_alumni.html]]\n who can be argued to be related to graphics.
The preliminary final exam schedule from the Registrar shows no conflicts with ECSE-6800.\n\nCoincidentally, it shows no exam scheduled for ECSE-6800.\n\n
Research the website of some funding agency, such as one of the following, and tell us what they seem to be interested in now, which is related to this course.\n\n[[NSF|http://www.nsf.gov]] (Ankur Singhal)\nDARPA\nARO\nONR\nAFOSR\n\nThis topic is particularly relevant to anyone interested in becoming a faculty member, since external funding is almost the only criterion on which faculty members are judged.
[[Cambridge site|http://www.mrao.cam.ac.uk/~clifford/]]\n[[Amsterdam site|http://www.science.uva.nl/ga/]]\n\n\n\n
[[Greg Turk|http://www.cc.gatech.edu/~turk/]] asks "What math should I learn in order to study computer graphics?", and then [[answers|http://www.gvu.gatech.edu/people/faculty/greg.turk/math_gr.html]]
[[Homework 1|povray/hw1.html]]
HomeWork1POVRay, due Tues Jan 31
#You may collaborate in teams of 2 on all the work.\n#You may get help from anyone; you may build on a previous project, either your own or someone else's. However you must describe and acknowledge any other work you use, and have the other person's permission, which may be implicit. E.g., my web site gives a blanket permission to other people to use it for nonprofit research or teaching. You must add something creative to the previous work.\n#Unacknowledged copying is plagiarism. Falsifying experimental results is about the most serious research crime. The penalty for these will depend on the magnitude of the crime, up to failing the course. Also, we report events to the Dean of Students Office.
*Click on a topic to the left.\n*If you mouse near an open tiddler title, a 'close' button is visible.\n*The timeline on the right shows the new and changed tiddlers. \n*You don't have to read all the new tiddlers, unless something on the left leads to them.\n*If the timeline is too long, click on another tab, like tags, which is shorter.\n*When you print a page, only the tiddlers you have displayed in the middle are printed.\n* Editing anything is pointless since you can't change the class website.
[[These files|Internal/]] are restricted to the class because of copyright restrictions. I gave out the password in class.\n
# 8x8 blocks\n# Rotate color space from RGB to perhaps YUV. Emphasize intensity, since people see intensity more accurately than hue.\n# Downsample color planes\n# Transform to a discrete cosine series (like a Fourier series but using step functions)\n# Drop hi-freq components\n# Encode the coefficients with as few bits as possible, using Huffman code or similar\n# =>lossy\nRef: [[comp.compression Frequently Asked Questions|http://www.faqs.org/faqs/compression-faq/part1/preamble.html]]
[[Levels of Detail for 3D Graphics|http://lodbook.com/course/2003/]] - slides and SW from a course given at GDC2003.\n\nI will cover\n*[[Luebke's intro|http://lodbook.com/course/2003/Luebke_Intro.ppt]]\n*[[Generating LOD|http://lodbook.com/course/2003/Varshney_GeneratingLOD.ppt]] - Varshney\n*[[Run-Time Management of LOD|http://lodbook.com/course/2003/Reddy_RunTime.ppt]] - Reddy\n*[[View-Dependent Simplification|http://lodbook.com/course/2003/Luebke_ViewDepSimp.ppt]] - Luebke\n*[[Terrain LOD|http://lodbook.com/course/2003/Reddy_Terrain.ppt]] - Reddy\n*[[Level of Detail for Games|http://lodbook.com/course/2003/Huebner_Games.ppt]] - Huebner\n\n*http://www.cs.umd.edu/gvil/projects/variable_precision.shtml\n*[[GLOD - Geometric Level of Detail for OpenGL|http://www.cs.jhu.edu/~graphics/GLOD/]]\n*etc\n\n\n
# [[Maureen Stone: Representing Colors as 3 Numbers|Internal/stone_colors.pdf]]\n# [[SIGGRAPH 2002 course 2: Advanced Global Illumination|Internal/SIGGRAPH2002/02.pdf]]\n# [[Snell's law, see R Nave's Hyperphysics - Refraction of Light|http://hyperphysics.phy-astr.gsu.edu/hbase/geoopt/refr.html]]\n# [[Reflection|http://hyperphysics.phy-astr.gsu.edu/hbase/phyopt/reflectcon.html]]\n# [[Fresnell's law|http://hyperphysics.phy-astr.gsu.edu/hbase/phyopt/freseq.html]]\n# NewScientistOnColors \n# [[SIGGRAPH 2002 course 21|Internal/SIGGRAPH2002/21.pdf]]: A Field Guide to Digital Color. Reading: the course notes. The slides start on page 59.\n# [[International Color Consortium|http://www.color.org/]]. In particular, their FAQ illustrates the complexities of color management.\n# [[Society for Imaging Science and Technology|http://www.imaging.org/]] - good tutorials on JPEG and printing.\n# [[Brown colorweb applets|http://www.cs.brown.edu/exploratories/freeSoftware/catalogs/color_theory.html]]\n# [[Color FAQ|http://www.poynton.com/notes/colour_and_gamma/ColorFAQ.html#RTFToC14]] - Frequently Asked Questions Color, by Charles Poynton [[Frequently asked questions about Colour Physics|http://www.colourware.co.uk/cpfaq.htm]]\n#Richard Herbert'83 is President of Pantone. See the article on him in the [[Fall 2005 issue of Rensselaer|http://www.rpi.edu/dept/metasite/news/magazine/fall2005/feature1-pg1.html]].\n
Many years ago I devised an algorithm for processing a set of objects in E^^3^^ to find then visible parts. //Object space// means that it produced a list of the visible parts of the edges and faces. That is more meaninful than just computing the color of each pixel. Its expected computation time was linear in the number of objects, independent of their depth complexity. I implemented it for the special case of spheres. 25 years ago it could handle 10K spheres.\n\nThis project is to update the code and see how many it can process on current HW.
# Predict the motion from frame to frame.\n# I (intra) frames: still images\n# P (predicted) frames: difference from previous I or P.\n# B (bidirectional) frames: interpolate from closest I or P on each side.\n# Typical sequence: IBBPBBPBBPBBIBBPBBPB...\n
HowToReadThisSite\nClassCalendar\nClassSyllabus\nClassAnnouncements\nStudentPresentations\nMyPresentations\nInternalFiles\nHomeWorks\nWRFResearchTopics\nMainMenu\n\n© [[W Randolph Franklin|http://wrfranklin.org]] 2006\n[[TiddlyWiki|http://www.tiddlywiki.com]] \n© 2006 [[osmosoft|http://www.osmosoft.com]]\n
Tell us about this popular package. Note that individuals can run it for free (the last time I checked).\n\n[[Alias site|http://www.alias.com/glb/eng/products-services/product_families.jsp]]
*[[Medial axis definition (Stony Brook)|http://www.cs.sunysb.edu/~algorith/files/thinning.shtml]]\n*[[Medial axis images (Dey)|http://www.cse.ohio-state.edu/~tamaldey/medialaxis.htm]]\n*[[Medial axis applet (Wolf)|http://www.lupinho.de/gishur/html/Skeleton.html]]\n
The order is random.\n\n!Done\nComputationalGeometry\n[[Geometric Operations on Millions of Objects|http://wrfranklin.org/Research/geo_ops_millions-jul2004/index.html]] - intro to my research\nConvexHulls\nVoronoiDiagrams\nLightEtc\nDeyCOCONE\n[[CGAL]]\nLevelsOfDetail\nNonPhotoRealisticRendering\n\n!Not done (yet)\nSurfaceFitting\n[[Compression]]\nInverseKinematics\nProjectLookingGlass\n[[AJAX]]\nImage infilling\nImage Based Rendering\nGeometricAlgebra\n\n!Interesting, but probably won't do\n[[Top 10 Unsolved Visualization Problems|Internal/top10vizprobs.pdf]]\n\n\n
This is worth learning as an excellent example of electrical engineering.\n# Specification requirement:\n## Add color to B&W NTSC. \n## Upward compatible. \n## Downward compatible. \n# Useful properties:\n## People see color info less precisely than B&W info. \n## People see blue-yellow color less precisely than red-green. \n## In typical images, a scan-line is much the same as the previous one. \n# Engineering implications:\n## We can lo-pass filter the color. \n## The fourier transform of the intensity looks like a comb.\n# Solutions:\n## Rotate (R,G,B) to (Y,I,Q). \n## Lo-pass filter I to 2/3 of normal bandwidth.\n## Lo-pass filter Q to 1/3. \n## Combine: I cos omega t + Q sin omega t, or something like that.\n## Shift the combined color signal up in frequency by 1/2 the frequency of one scan-line and add to the Y.\n# Limitations:\n## Sudden intensity changes cause false color aliases.\n## Vice-versa. \n## Color changes that are not filtered properly are especially bad. \n## Interference causes phase changes causes color shift. \n# Solution: HDTV. \nOne good TV ref is [[How Stuff Works|http://www.howstuffworks.com/tv.htm]]\n\n
Preprocess a set of points in E^^3^^.\nAccept a query point \n
This was from a page on [[New Scientist|http://www.newscientist.com]] that appears not to be online anymore.\n\nQ: I was taught at school that the three primary colours are red, blue and yellow and that by mixing these, all the other colours could be made. If you look closely at a television screen, you can see that the picture is made up of red, blue and green dots. Why and how do televisions use these colours and how, for instance, do they make yellow from them?\n\nJohn Hawkins, \nUniversity of Canterbury,\nChristchurch, New Zealand\n\nA: Televisions start with a black screen and add coloured light. Painters start with white paper and add paint which serves to remove colours from the reflected light. The television uses additive colours, so called because adding more makes the image brighter. Painting uses subtractive colours and works in the opposite way.\n\nAs you might expect, the two systems complement each other. Adding yellow and blue paints together gives green, which is an additive primary colour. Conversely, yellow light can be made out of red and green light.\n\nHere's where the fun starts. The subtractive primaries are\ntechnically yellow, cyan (an intense light blue similar to sky\nblue) and magenta (a kind of purple). True red paint can be made from yellow and magenta paint. The problem is that it is difficult to get a really good magenta, and so artists end up using red instead of magenta. Although this precludes being able to mix a good, clean magenta, it is rare to find one in the environment anyway, so it's not missed. However, without magenta, it is difficult to make a good, deep blue from cyan and so ultramarine is used instead. The effect of this is that green is now difficult to create, and so bright green is used. So really, although artists claim to use yellow, blue and red, they in fact use a couple of reds, yellow, green, blue, a large tube of white, black, and often an assortment of tertiaries. Painting is an engineered solution.\n\nGavin Peacock,\nBrighton, East Sussex
"NPR can be a powerful way to make pictures that are comprehensible, attractive, and economical." - http://www.cs.utah.edu/~dejohnso/workshop/talks/kowalski.html\n*[[NPR Quake|http://www.cs.wisc.edu/graphics/Gallery/NPRQuake/sketchyNPR.html]]\n*[[HijackGL--Non-Invasive Extensibility for Graphics Applications||http://www.cs.wisc.edu/graphics/Gallery/HijackGL/]]\n*[[Real-Time\nNon-photorealistic Rendering|http://graphics.cs.brown.edu/research/npr/home.html]]\n*[[Aaron Hertzmann. A Survey of Stroke-Based Rendering. IEEE Computer Graphics & Applications, Special Issue on Non-Photorealistic Rendering. July/August, 2003 (Vol. 23, No. 4). pp. 70-81.|http://www.dgp.toronto.edu/~hertzman/sbr02/]]\n*[[U Waterloo CS798 course on NPR etc|http://www.cgl.uwaterloo.ca/~csk/cs798/winter2004/lectures.html]]\n
Start with two different nonuniform triangulations, T~~1~~ and T~~2~~, of the same region in E^^3^^. Perhaps they were computed to analyze a shock wave traveling through a fluid. \n\nThe project is to report all the non-empty intersections of any tetrahedron of T~~1~~ with any tetrahedron of T~~2~~, and to compute the volume of that intersection.\n\nI have an algorithm and implementation for E^^2^^, and an algorithm for E^^3^^. Implement the E^^3^^ algorithm.
# Aperiodic plane tilings, especially those of Roger Penrose. You might start with [[Toilet Paper Plagiarism| http://www.parascope.com/articles/slips/fs_151.htm]]: "In a unique accusation of copyright infringement, distinguished mathematical physicist Sir Roger Penrose has filed a lawsuit over the decorative design on a brand of toilet paper."\n\nThen check Penrose tiling and aperiodic tiling in wikipedia.\n\n(presented by Buck Clay)\n
//The problem://\n*''Preprocess'' a planar graph //G// so that we can do queries against it.\n*''Query'' //G// with a test point //p//. Return the polygon of //G// that contains //p//.\n//Notes://\n*PreparataShamos lists several algorithms for E^^2^^.\n*[[CGAL]] has a routine.\n*I have a method using a UniformGrid that I modestly think may be much faster, especially for large datasets.\n*I've implemented it as part of a larger program that overlays two planar graphs.\n//Your project//, should you choose to accept, is \n#to extract my method into a standalone program,\n#compare it to CGAL,\n#if my method is better, write a paper to submit somewhere for publication.\n//A bigger project// is to extend the ideas to 3D. My method should be relatively much better than other methods.
NSF may be able to support an undergrad to work with me this summer. You would have to still be an undergrad next fall, to be eligible.\n\nIf interested, see me after class on Fri.
The book Computational Geometry by Preparata and Shamos remains one of the most understandable intros to Computational Geometry. The only concern is that is old enough that some recent topics are not covered. We will do [[some|Internal/preparata-shamos/]] of it.\n\n
PenroseTilings (available)\nStereoGraphs (Niraj Shrestha)\nAlumniPatents (many available)\nMayaSW (Niraj Shrestha)\nZ-Corp (Buck Clay)\nAugmented Reality Gaming (Ankur Singhal)
http://www.sun.com/software/looking_glass/\nhttp://lg3d-core.dev.java.net/\n
I'm generating an RSS feed, which sort of works. At least, it tells you when there is something new. However, that includes every tiddly that I edit. It also shows the internal markup, and gives the wrong link back to here.\n\nNote that the //Timeline// tab to the right shows what tiddlers were changed each day.
#The rest of Angel, the ~ECSE-4750 Computer Graphics book\n#various SIGGRAPH course notes\n#extracts from other books\n#intro to Computational Geometry and maybe CAD.\n#research papers, such as from IEEE Computer Graphics and Applications.\n#software such as POVRAY. \n\nMaterial restricted to students in this course (because of copyright) is in \n\n[[http://wrfranklin.org/Teaching/advanced_graphics-S2006/Internal/|http://wrfranklin.org/Teaching/advanced_graphics-S2006/Internal/]]\n\n I'll give out the password in class.
# [[Brown University - Computer Graphics Group|http://www.cs.brown.edu/research/graphics/]] (Niraj Shrestha)\n# [[U North Carolina - Graphics and Image Analysis Research|http://www.cs.unc.edu/Research/ProjectIndex/GraphicsImage.html]] (Lal)\n# [[Duke - Visualization Technology Group|http://vis.duke.edu/]] (Hofler?)\n# [[U Texas/Austin - Graphics Lab, Department of the Computer Sciences|http://www.cs.utexas.edu/users/graphics/]] (Thambidurai?)\n# [[ U Washington - Computer Graphics, Computer Vision and Animation|http://www.cs.washington.edu/research/graphics.intro.html]] (Ankur Singhal)\n# [[Microsoft - Research - Graphics|http://research.microsoft.com/graphics/]] (Xie)\n# [[IBM Research - Graphics & Visualization|http://www.research.ibm.com/compsci/graphics/index.html]] (Pennybacker)\n# [[Caltech - Computer Graphics|http://www.gg.caltech.edu/]] and [[Multi-Res Modeling|http://www.multires.caltech.edu/]]. (Al Barr is an RPI alum.) (available)\n# [[U Waterloo - Computer Graphics Lab|http://www.cgl.uwaterloo.ca/]] (available)\n# [[Georgia Tech - Graphics, Visualization & Usability Center, including Animation Lab|http://www.cc.gatech.edu/gvu/]] (Xie)\n# [[Ohio State - Computer Graphics Research, Computer Animation, Geometric Modeling, & Volume Visualization|http://www.cis.ohio-state.edu/research/about.html]] (available)\n# [[ ICASE - Visualization and Graphics|http://www.icase.edu/docs/hilites/index.cs.viz.html]]. This lab has closed, but it's still interesting. (available)\n# [[Stanford - Computer Graphics Lab|http://www-graphics.stanford.edu/]] (available)\n# [[ UC Berkeley - Multimedia, Human Computer Interaction and Computer Graphics|http://www.eecs.berkeley.edu/Research/Areas/CS/MIG/]] (Pennybacker)\n# [[UC Santa Cruz - Lab for Visualization and Graphics|http://www.soe.ucsc.edu/research/slvg/]] (available)\n# [[U Utah - Computer Graphics|http://www.cs.utah.edu/research/areas/graphics/]] (Bhuptani)\n# [[U Geneva - MIRAlab|http://miralabwww.unige.ch/]] (available)\n# [[MIT|http://graphics.lcs.mit.edu/research.html]] (available)\n# [[Pixar|http://www.pixar.com]] (Buck Clay)\n# [[Raindrop Geomagic|http://www.geomagic.com]] (available)\n# Princeton (Pennybacker)\n# Any other interesting place - you pick.h\n
This is an excellent example of engineering design. It's an edited post from johana!tsw@apple.com (Tom Watson) to alt.folklore.computers on 27 Apr 92 23:13:32 GMT.\n\nThe reason for the 16x64 character resolution for early personal computers was that you could use 512 bit shift registers (that were common in that day). Usually everyone used 80 columns (look at an ~ADM-3) and the reason for 24 rows was that usually the character generators were 5x7 dots and with a few dots for inter-line spacing (total of 9 dots/line) one got 216 scan lines for 24 rows. This fit just fine into NTSC monitors that used 265.5 (interlaced, remember) lines/field (the difference was used for blanking). The reason for 40 character displays was again a limiting function of TV's with 5 dots across (add a couple for nice spacing) we get 7 dots.\n\nIf one uses 80 characters we get 560 dots across the line. In normal TV scan lines the horizontal rate is 63.5 (about) microseconds and taking the fact that the max frequency is with alternating white and black dots (total of 280 transitions) and that gives a frequency of about 5 ~Mhz (can't use all of the 63.3 usec due to blanking). Since ~TVs have a video bandwidth of only 4 ~MHz (on a good day), that is too much, so everyone used 40 characters/line to get in proper bandwidth of a TV. If they added color, it really was necessary, since the color bandwidth was even less (1.25 ~MHz for NTSC TV).\n\nNow days color monitors with .31mm dot pitch high bandwidths (over 15 ~MHz) and high scan rates (31Khz horizontal, 70 Hz vertical) are very common, but then again they don't use NTSC composite video. The original displays were almost always TV's, or TV monitors since they were CHEAP!!\n\nOn the other hand, some early CRT display terminals used vector displays, and stroke character generators. BIG horizontal and BIG vertical yoke amplifiers. Video bandwidth wasn't a big problem then, but 300 watt 1 ~MHz yoke amplifiers were!!\n
!Summer Opportunity - SIGGRAPH Student Volunteer\n\n[[SIGGRAPH|href="http://www.siggraph.org/"]] is the\nbiggest Computer Graphics conference. Everyone who likes\ngraphics should see it once. Student interns can see it\ncheap. If you work halftime then admission and a place to\nstay are free, and they might also pay for transportation.\nThere is a hard deadline around Feb.
RPI, Spring 2006
~ECSE-6800 Advanced Computer Graphics & Visualization
E.g. [img[xstereograph/office1-cork.jpg]]\n\n[[Here's|xstereograph/]] a directory with a program and some examples
*Hand in HomeWork1POVRay. \n*Martin on Brown U.
\nIn addition to presenting the term project, each student will present three 15 minute talks in class, on some current topic related to the course, and summarizing another research lab. Pick 5 topics and dates; I'll give you the first 3 that are available.\n\nI'll mark the topics here as they are taken, and mark the dates in the calendar as they are taken.\n\nMore topics will be added later.\n\nSome dates may have to be changed even after you schedule them because of last minute changes such as an external guest speaker. In this case, I'll work with you as much as possible, and let you give your talk privately to me at a time convenient to you if nothing else can be arranged.\n\nResearchLabs\nPresentableIdeas\nFundingAgencies\n\n
... and other surface construction and volume visualization algorithms.\n\n[[SIGGRAPH notes on surface fitting algorithms|http://www.siggraph.org/education/materials/HyperVis/vistech/volume/surface.htm]]\n\n!Marching Cubes\nhttp://www.essi.fr/~lingrand/MarchingCubes/presGene.html\nhttp://www.exaflop.org/docs/marchcubes/\nhttp://astronomy.swin.edu.au/~pbourke/modelling/polygonise/\n\n!Level Sets\n[[A Quick Explanation of Fast Marching Methods and Level Set Methods|http://math.berkeley.edu/~sethian/]] - Sethian\n[[WIkipedia on Level Sets|http://en.wikipedia.org/wiki/Level_set]]\n[[Wikipedia on Level Set Method|http://en.wikipedia.org/wiki/Level_set_method]]\n[[Fedkiw animations|http://graphics.stanford.edu/~fedkiw/]]\n
As an experiment, I'm doing the course website with [[TiddlyWiki|http://www.tiddlywiki.com]]. Tell me what you think.\n\nThis is not a true wiki since only I can upload edits.\n\nIt does require that you enable ~JavaScript.\n\nI'm not yet using all the features.\n\nThe old file are stored [[here|../advanced_graphics-S2006o/index.html]].
# One of the ideas listed in StudentPresentations, done in more detail.\n# Any topic presented in class, e.g., listed in MyPresentations, in more detail.\n# WRFResearchTopics.
|!Date|!What|\n|March 31|Email: One page proposal, including team members. Also order of preference of presentation dates.|\n|April 14|Progress report|\n|April 21 - May 2|Talk|\n|May 2|Hand in project|\n\n\n\n# Write a 10 page paper in an academic style on any topic even vaguely related to the course. It could be either\n## research,\n## implementation, or\n## survey. \n# Format it reasonably, with abstract, refs, etc., according the style of some relevant conference, such as SIGGRAPH, altho you may use more pages.\n# Give a 20 minute talk in class, to be followed by 5 minutes of questions. Use visual aids, such as HTML, powerpoint, or wimpypoint.\n\nEmail me to reserve a slot to present your talk on one of the last 4 class days. Give a first and second choice of dates.\n# Teams are ok.\n# Combining with another course is ok, if you tell everyone concerned.\n# Building on existing work is ok, if you tell me.\n# I'll give a list of some possible topics later. \n \n
TermProjectSummary\nTermProjectIdeas
TerrainHydrologyBasics\nTerrainHydrologyDips\nTerrainHydrologySolution\nTerrainHydrologyPriorArt
The basic idea is simple:\n# Assume that each point has an equal amount of rain falling on it.\n# Assume that all the water entering a point flows out to its lowest neighbor.\nThis can be set up as a sparse system of linear equations and easily solved in Matlab.\nThere are some technical issues, such as, border points don't have 4 neighbors, but they are easily solved.
However, this basic idea has a big problem: interior minima.\n# Some points are lower than all their neighbors.\n# Therefore, water flows in, but doesn't flow out.\n# This may be a real-world phenomenon, such as Great Salt Lake or Imperial Valley.\n# However, it is usually an artifact caused by either:\n## Database error (which occurs often), or\n## An artifact of the sampling. That is, even tho the real surface does not have a local min, the sampled array of elevations may.\n# If the local min were only one point, it could be removed with a median filter.\n# However, it may be a larger region.\n# The existing method is to simulate gradually filling the depression with water until it flows out over the lowest point on the edge.\n# However, this is very slow.\n
Test available hydrological modeling (aka water flow, watershed) SW, such as\n*~ArcGIS ARC Hydro\n*GRASS,\n*UNC\n*other major packages? \nUse the largest possible datasets.\n\nWrite a summary report comparing them on execution time. Compare their output when applied to the same dataset. \n\nThis could be a term project all by itself.
''Test Nonphotorealistic Rendering on Terrain''\n\n~Non-PhotoRealistic Rendering (NPR) turns a photograph into a caricature that captures the essence of an image. Therefore, the image is more recognizable.\n\nThis project is to research this idea, and then to try it on terrain. Starting with the elevation array, identify and sketch in ridges and valleys.\n\nCartographers have been doing the basic idea for centuries. The new idea is to test recent NPR techniques from Computer Graphics.
This is a separate tiddler.
! Exams\nNone.\n! Homeworks\nSome.\n! Talks in Class\n\nEach student will present 4 talks in class. In addition to the term project presentation, they include three 15 minute talks to introduce the class to various topics. Details will be in the course homepage.\n\n! TermProjects
Tues & Fri, 2-3:20, Sage 4510.\n\nAttendance is encouraged.
W. Randolph Franklin. ~BSc (Toronto), AM, ~PhD (Harvard)\n\nI've been doing graphics related programming since the 1960s, and have been teaching versions of this course since 1982. I've been at RPI since 1978, apart from several absences, including a year at Berkeley, 3 months at Genoa, and shorter times at Laval University in Quebec City, the Commonwealth Scientific and Industrial Research Organization in Canberra, and the National University of Singapore. I also spent 2 years 7 months as Director of the Numeric, Symbolic, and Geometric Computation Program at the National Science Foundation, recommending how to spend your tax dollars (thanks!).\n\nOffice: Engineering Center (JEC) 6026\nPhone: (518) 276-6077\nEmail: 6800 ~ATwrfranklin.org, replacing AT with the obvious. Web: [[http://wrfranklin.org/|http://wrfranklin.org]]\nOffice hours: after each lecture. Usually I stay as long as anyone wants to talk.\nPreferred communication medium: email
<<sparkline 10 4 20 4 8 0 1 2 3 4 5 6 7 8 9 10 >>\n<<gradient vert #ff0000 #ffffff #00ff00 >> one two >>\n<html>\none <em>two</em> three <b>four</b> \n</html>\n<<tiddler TestPiece>>\n<<tag TestPiece>>\n==strike== __underline__ @@hilite@@\n''bold'' //italic// base^^up^^ base~~down~~\n@@color:green; include css@@\n{{{quote ==strike== etc <html> }}}\n<<<\nblock\nquote\n<<<\n\n>a\n>a\n>>b\n>>b\n>a\n----\n/% comment %/\n{{{[<img[title|filename][link]]}}}\n\n|a|b|c|\n|d|<<tiddler testTwo>>|<<tiddler testThree>>\n\n\n\n\n
# [[Demo applet|http://wwwpi6.fernuni-hagen.de/GeomLab/VoroGlide/index.html.en]] that lets you move points.\n# [[Higher order Vor applet|http://www.msi.umn.edu/~schaudt/voronoi/voronoi.html]]\n# [[SUNY Stony Brook|http://www.cs.sunysb.edu/~algorith/files/voronoi-diagrams.shtml]]'s Excellent summary.\n# Size: for N points in E^^d^^, the size can be proportional to N^^ceil(D/2)^^. I.e., E^^2^^=>N. E^^3^^=>N^^2^^.\n# Construction, 2D:\n## Divide and conquer: Build a Voronoi diagram on the left N/2 points and anoter on the right N/2 points. Sew them together. T=~NlogN.\n## Steve Fortune's [[sweepline method|http://www.cs.sunysb.edu/~algorith/implement/fortune/implement.shtml]] is the best code. \n# [[Qhull|http://www.qhull.org]] is perhaps the best higher dimensional code. Matlab and Mathematica use it.\n# PreparataShamos is one of the best books on this.\n# Voronoi diagrams are closely linked to convex hulls.\n## If you have a Voronoi diagram in E^^d^^, you can easily find the convex hull of those same points in E^^d^^.\n## If you know how to find a convex hull in E^^d+1^^, you can find a Voronoi diagram in E^^d^^. E.g., If your 2-D points are (x,y), then find the convex hull of the 3-D points (x,y,x^^2^^+y^^2^^). The adjacent points on the 3-D convex hull correspond exactly to the adjacent points in the 2-D Voronoi diagram.\n## Therefore, I'll cover convex hulls first. \n# [[Frequently Asked Questions in Polyhedral Computation|http://www.ifor.math.ethz.ch/staff/fukuda/polyfaq/polyfaq.html]]\n#[[Wikipedia on Voronoi diagrams|http://en.wikipedia.org/wiki/Voronoi_diagram]]
[[Home page|http://wrfranklin.org]]\n[[v3.0 vcard|../../W.Randolph_Franklin.vcf]]\n[[v2.1 vcard|../../W.Randolph_Franklin_2.vcf]]\n[[csv|../../W.Randolph_Franklin.csv]]\n[[ldap|../../W.Randolph_Franklin.ldif]]
One possible term project is to work on something related to my research. This might potentially lead to a co-authored paper, and maybe even a trip to a conference.\n\nTerrainHydrology\nPointLocation\nNearestPoint\nTerrainObserverSiting\nConnectedComponents\nAutomatingAndVirtualizingGUIInteractions\nTerrainNPR\nDynamicNearestPoint\nDynamicManyPolyhedronUnion\nLinearTimeObjectSpaceHiddenSurfaceAlgorithm\nOverlaying3DTriangulations
#Graphics is fun. It's got a history, since it is a takeoff from geometry, which is at least 2500 years old. There are pretty pictures involved. It's based on state-of-the-art hardware.\n#It has applications, and is tied into the real world, and is not just theoretical.\n#Nevertheless, it's not just practical stuff with no depth, but has some theory and math also.
Talk about these rapid fabricators, such as the one RPI has. Maybe show how to make something.\n\n(presented, with 3D printing in general, by Buck Clay)
|g|h|iiiiiiiiiiii|\n
e|f
from Stone's tutorial:\n*Grassman's additivity law\n*color matching functions\n*negative light\n*CIE standard observer\n*CIE chromaticity diagram\n*spectrum locus\n*black-body curve\n*purple line\n*beyond tristimulus values\n*adaption\nPrinting, mostly from www.imaging.org\n*halftoning\n*dithering\n*xeroxing\n*ink jet\n*dye transfer\n\n\n
Howstuffworks pages on\n*[[laser printers|http://computer.howstuffworks.com/laser-printer.htm]]\n*[[inkjet printers|http://computer.howstuffworks.com/inkjet-printer1.htm]]\n*[[How Jumbo TV Screens Work|http://electronics.howstuffworks.com/jumbo-tv.htm]]\n*[[How Projection Television Works|http://electronics.howstuffworks.com/projection-tv.htm]]\n\n[[Is Your Printer Spying On You?|http://www.eff.org/Privacy/printers/]]\n
!!!Future topics in course?\ncomputational geometry\nsoftware\ngraphics\n...\n\n!!! Today's topics\n*[[Laptop displays|http://electronics.howstuffworks.com/laptop4.htm]]\n*[[DIgital Micromirror Devices|http://electronics.howstuffworks.com/projection-tv5.htm]]\n*[[Grating Light Valves|http://electronics.howstuffworks.com/projection-tv6.htm]]\n*[[Liquid Crystal on Silicon|http://electronics.howstuffworks.com/projection-tv7.htm]]\n*[[DLP demo|http://dlp.com/includes/demo_flash.asp?bhcp=1]]\n*[[Plasma display|http://electronics.howstuffworks.com/plasma-display3.htm]]\n*[[Excellent printing tutorial|http://www.imaging.org/resources/web_tutorials/printing.cfm]]\n\n\n
*[[Digital Michaelangelo Project|http://graphics.stanford.edu/projects/mich/]]\n*DeyCOCONE\n\n
*[[A (Spotty) History and Who's Who of Computer Graphics|http://web.cs.wpi.edu/~matt/courses/cs563/talks/history.html]]\n* http://en.wikipedia.org/wiki/Jim_Blinn\n* http://www.siggraph.org/s98/conference/keynote/blinn.html\n* [[Jim Blinn|http://research.microsoft.com/users/blinn/]], [[What is a Pixel?|Internal/Blinn-whatispixel.pdf]], IEEE CG&A Sept/Oct 2005. \n\n*[[SIGGRAPH 1991 and 1992 preliminary programs, issued 4/1/91 and 4/1/92|siggraph9192_prelim.txt]]\n\n
*[[Wikipedia on Voronoi diagrams|http://en.wikipedia.org/wiki/Voronoi_diagram]]\n*[[Mathworld on Computational Geometry|http://mathworld.wolfram.com/ComputationalGeometry.html]] \n*Testing if a point is in a polygon\n*[[PNPOLY|http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html]]
*Point location (PreparataShamos chapter 2)\n*Range queries (")