{"id":69,"date":"2016-10-11T23:58:33","date_gmt":"2016-10-12T06:58:33","guid":{"rendered":"http:\/\/saccade.com\/blog\/?page_id=69"},"modified":"2024-03-03T00:33:57","modified_gmt":"2024-03-03T08:33:57","slug":"computer-graphics-research-papers-and-patents","status":"publish","type":"page","link":"https:\/\/saccade.com\/blog\/computer-graphics-research-papers-and-patents\/","title":{"rendered":"Papers and Patents"},"content":{"rendered":"\n<p>Here, for the record, are some technical papers I wrote in college and shortly thereafter.<\/p>\n\n\n\n<div class=\"techpaperpage\">\n<div class=\"techpapericon\"><a href=\"https:\/\/saccade.com\/writing\/graphics\/KnotVectors.pdf\"><img decoding=\"async\" src=\"..\/..\/writing\/graphics\/KnotVectorsThumb.jpg\"><\/a><\/div>\n<div class=\"techpaperdesc\"><b>An Introduction To Knot Vectors<\/b> A tutorial on B-Spline curves, and in particular, on how to use the knot vector to control their shape. (<a href=\"..\/..\/writing\/graphics\/KnotVectors.pdf\">PDF<\/a>, 104K)<\/div>\n<div style=\"clear: both;\"><\/div>\n<br>\n<div class=\"techpapericon\"><a href=\"..\/..\/writing\/graphics\/RE-PARAM.PDF\"><img decoding=\"async\" src=\"..\/..\/writing\/graphics\/ReParamThumb.jpg\"><\/a><\/div>\n<div class=\"techpaperdesc\"><b>Arc Length Parametrization of Spline Curves<\/b>. A useful mathematical&nbsp;exercise: How to use Chebyshev polynomials to create spline curves with arc-length parametrization (<a href=\"..\/..\/writing\/graphics\/RE-PARAM.PDF\">PDF<\/a>, 226K)<\/div>\n<div style=\"clear: both;\"><\/div>\n<br>\n<div class=\"techpapericon\"><a href=\"..\/..\/writing\/graphics\/TOOLKIT.PDF\"><img decoding=\"async\" src=\"..\/..\/writing\/graphics\/ToolkitThumb.jpg\"><\/a><\/div>\n<div class=\"techpaperdesc\"><b>The Utah Raster Toolkit<\/b>&nbsp; Image processing in the days before Photoshop. Later made popular by Craig Kolb&#8217;s <i>Rayshade<\/i> (<a href=\"..\/..\/writing\/graphics\/TOOLKIT.PDF\">PDF<\/a>, 1.4MB)<\/div>\n<div style=\"clear: both;\"><\/div>\n<br>\n<div class=\"techpapericon\"><a href=\"..\/..\/writing\/graphics\/SRFBLUR.PDF\"><img decoding=\"async\" src=\"..\/..\/writing\/graphics\/srfblurThumb.jpg\"><\/a><\/div>\n<div class=\"techpaperdesc\"><b>Ray Tracing Spline Surfaces with Motion Blur<\/b> A distillation of my MS thesis, it describes how to efficiently ray trace spline surfaces. Some of the techniques, such as the &#8220;pixel thresher&#8221; are still interesting. (<a href=\"..\/..\/writing\/graphics\/SRFBLUR.PDF\">PDF<\/a>, 328K)<\/div>\n<div style=\"clear: both;\"><\/div>\n<br>\n<div class=\"techpapericon\"><a href=\"..\/..\/writing\/graphics\/DISTRIB.PDF\"><img decoding=\"async\" src=\"..\/..\/writing\/graphics\/workstations.png\"><\/a><\/div>\n<div class=\"techpaperdesc\"><b>Distributed Computation for Computer Animation<\/b>&nbsp; A survey of techniques for lashing together Unix workstations to compute animated movie frames. (<a href=\"..\/..\/writing\/graphics\/DISTRIB.PDF\">PDF<\/a>, 187K)<\/div>\n<div style=\"clear: both;\"><\/div>\n<br>\n<div class=\"techpapericon\"><a href=\"https:\/\/www.amazon.com\/gp\/product\/0123361559\/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0123361559&amp;linkCode=as2&amp;tag=saccadecom-20&amp;linkId=78a404d2a82b4ecd0ed29095dc7b4182\"><img decoding=\"async\" src=\"..\/..\/writing\/graphics\/GemThumb.jpg\"><\/a><\/div>\n<div class=\"techpaperdesc\"><b>Tessellation of NURB Surfaces<\/b> Originally published in <i>Graphics Gems IV<\/i>, 1994. <span style=\"text-decoration: line-through;\">As of this writing it&#8217;s still in print (and I get a whopping $0.07 for each copy sold!)<\/span>.\n     A great tutorial on how to turn surfaces into triangles for rendering or computation. (<a href=\"https:\/\/www.amazon.com\/gp\/product\/0123361559\/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0123361559&amp;linkCode=as2&amp;tag=saccadecom-20&amp;linkId=78a404d2a82b4ecd0ed29095dc7b4182\">Amazon<\/a>\n     <\/div>\n<div style=\"clear: both;\"><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Patents<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>More recent research efforts have been consumed by lawyers, further obfuscated, and fed to the US Patent office (a side effect of corporate patent filing bonuses). \u00a0Out of thirty-odd patents, here are a few of the more interesting ones:<\/p>\n\n\n\n<div class=\"techpaperpage\">\n<div class=\"techpapericon\"><a href=\"https:\/\/patents.google.com\/patent\/US5428718\/en\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"..\/..\/writing\/graphics\/US5428718.png\"><\/a><\/div>\n<div class=\"techpaperdesc\"><a href=\"https:\/\/patents.google.com\/patent\/US5428718\/en\" target=\"_blank\" rel=\"noopener\">5,428,718<\/a>: <b>Tessellation System<\/b> &#8211; Some interesting tricks for speeding up B-Spline surface tessellation (w\/Shaun Ho)<\/div>\n<div style=\"clear: both;\"><\/div>\n<br>\n<div class=\"techpapericon\"><a href=\"https:\/\/patents.google.com\/patent\/US6911980\/en\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"..\/..\/writing\/graphics\/US6911980.png\"><\/a><\/div>\n<div class=\"techpaperdesc\"><a href=\"https:\/\/patents.google.com\/patent\/US6911980\/en\" target=\"_blank\" rel=\"noopener\">6,911,980<\/a>: <b>Manipulation of Curves and Surfaces<\/b> &#8211; Direct manipulation UI techniques for 2D warping (w\/Martin Newell)<\/div>\n<div style=\"clear: both;\"><\/div>\n<br>\n<div class=\"techpapericon\"><a href=\"https:\/\/patents.google.com\/patent\/US7006707\/en\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"..\/..\/writing\/graphics\/US7006707.png\"><\/div>\n<div class=\"techpaperdesc\"><a href=\"https:\/\/patents.google.com\/patent\/US7006707\/en\" target=\"_blank\" rel=\"noopener\">7,006,707<\/a>: <b>Projecting Images Onto a Surface<\/b> &#8211; Re-constructing camera parameters from a perspective-warped frame<\/div>\n<div style=\"clear: both;\"><\/div>\n<br>\n<div class=\"techpapericon\"><a href=\"https:\/\/patents.google.com\/patent\/US7385612\/en\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"..\/..\/writing\/graphics\/US7385612.png\"><\/a><\/div>\n<div class=\"techpaperdesc\"><a href=\"https:\/\/patents.google.com\/patent\/US7385612\/en\" target=\"_blank\" rel=\"noopener\">7,385,612<\/a>: <b>Distortion of Raster and Vector Artwork<\/b> &#8211; Applying the same Bezier warp to both vector and raster artwork simultaneously<\/div>\n<div style=\"clear: both;\"><\/div>\n<br>\n<div class=\"techpapericon\"><a href=\"https:\/\/patents.google.com\/patent\/US8378781\/en\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"..\/..\/writing\/graphics\/US8378781.png\"><\/a><\/div>\n<div class=\"techpaperdesc\"><a href=\"https:\/\/patents.google.com\/patent\/US8378781\/en\" target=\"_blank\" rel=\"noopener\">8,378,781<\/a>: <b>Animated Light String System<\/b> &#8211; Synchronized animations on a string of lights over a single daisy-chained serial line<\/div>\n<div style=\"clear: both;\"><\/div>\n<br>\n<div class=\"techpapericon\"><a href=\"https:\/\/patents.google.com\/patent\/US11069028B2\/en\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"..\/..\/writing\/graphics\/US11069028.png\"><\/a><\/div>\n<div class=\"techpaperdesc\"><a href=\"https:\/\/patents.google.com\/patent\/US11069028B2\/\" target=\"_blank\" rel=\"noopener\">11,069,028<\/a>: <b>Automated Generation of Anamorphic Images for Catoptric Anamorphosis<\/b> &#8211; Automatically generate distorted images that look correct when viewed reflected in a cylinder<\/div>\n<div style=\"clear: both;\"><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Here, for the record, are some technical papers I wrote in college and shortly thereafter. An Introduction To Knot Vectors A tutorial on B-Spline curves, and in particular, on how to use the knot vector to control their shape. (PDF, 104K) Arc Length Parametrization of Spline Curves. A useful mathematical&nbsp;exercise: How to use Chebyshev polynomials <a href=\"https:\/\/saccade.com\/blog\/computer-graphics-research-papers-and-patents\/\"> read more <span class=\"meta-nav\">&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-69","page","type-page","status-publish","hentry","author-jp"],"_links":{"self":[{"href":"https:\/\/saccade.com\/blog\/wp-json\/wp\/v2\/pages\/69"}],"collection":[{"href":"https:\/\/saccade.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/saccade.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/saccade.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/saccade.com\/blog\/wp-json\/wp\/v2\/comments?post=69"}],"version-history":[{"count":36,"href":"https:\/\/saccade.com\/blog\/wp-json\/wp\/v2\/pages\/69\/revisions"}],"predecessor-version":[{"id":896,"href":"https:\/\/saccade.com\/blog\/wp-json\/wp\/v2\/pages\/69\/revisions\/896"}],"wp:attachment":[{"href":"https:\/\/saccade.com\/blog\/wp-json\/wp\/v2\/media?parent=69"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}