{"id":235,"date":"2023-04-09T19:12:30","date_gmt":"2023-04-09T19:12:30","guid":{"rendered":"http:\/\/www.johnpettingill.com\/?page_id=235"},"modified":"2024-06-15T01:40:07","modified_gmt":"2024-06-15T01:40:07","slug":"interactive-and-technical","status":"publish","type":"page","link":"https:\/\/www.johnpettingill.com\/?page_id=235","title":{"rendered":"Interactive and Technical"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><strong>Unity, Microsoft Kinect, and C#<br><\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Jet Fu\" src=\"https:\/\/player.vimeo.com\/video\/68066325?dnt=1&amp;app_id=122963\" width=\"605\" height=\"340\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This movie is a demo of my short arcade-style video game &#8220;Jet Fu&#8221;, which implements Microsoft&#8217;s Kinect inside the Unity game engine. Within the game, there is a lot that can be improved upon, such as the visuals, the game complexity, etc&#8230;however, I am happy with the direction it is going.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I had &#8220;Jet Fu&#8221; on display at Texas A&amp;M&#8217;s Vizagogo festival on May 3, 2013, and people kept coming back for more game time. With loads of positive feedback and many students asking me if I plan on uploading it to X-box live, I was on cloud-nine the whole night.<br>&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">&nbsp;<strong>Seam Carving using C++ and Open-GL<br><\/strong><\/h3>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>original image<br><\/strong><\/h6>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"542\" src=\"http:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/Broadway_tower_edit.jpg\" alt=\"\" class=\"wp-image-258\" title=\"Original Image\" srcset=\"https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/Broadway_tower_edit.jpg 800w, https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/Broadway_tower_edit-300x203.jpg 300w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><\/p>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>after <em><strong>Seam Carving<\/strong><\/em><\/strong><\/h6>\n\n\n\n<h6 class=\"wp-block-heading\">(The image has been scaled down, but the castle and man automatically retain volume)<\/h6>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"http:\/\/www.johnpettingill.com\/interactive-and-technical\/castle03\/\" rel=\"attachment wp-att-267\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"542\" src=\"http:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/castle03.jpg\" alt=\"castle03\" class=\"wp-image-267\" srcset=\"https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/castle03.jpg 500w, https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/castle03-276x300.jpg 276w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>What is going on:<\/strong> The second image is scaled on the width, but the castle and the person have retained their volume.&nbsp; I have implemented an algorithm known as Seam Carving, originally discovered by Shai Avidan. The algorithm allows users to scale images without cropping the most important portions of an image. In my code, I compare a pixel with its neighboring 3 pixels above and find the difference in contrast. Whichever pixel has the least contrast becomes the current path, creating a map of least resistance for each column of pixels. After comparing each column, I remove the path with the least total resistance, creating a seamless cropped image. I developed all implementations using C++ and Open-GL.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">visual example of the seams<\/h6>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"http:\/\/www.johnpettingill.com\/interactive-and-technical\/tonyseams\/\" rel=\"attachment wp-att-281\"><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"600\" src=\"http:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/tonySeams.jpg\" alt=\"tonySeams\" class=\"wp-image-281\" srcset=\"https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/tonySeams.jpg 400w, https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/tonySeams-200x300.jpg 200w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Image Manipulation with C++ and Open-GL<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Original image<\/strong><\/h4>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"http:\/\/www.johnpettingill.com\/interactive-and-technical\/eyeball\/\" rel=\"attachment wp-att-296\"><img loading=\"lazy\" decoding=\"async\" width=\"586\" height=\"386\" src=\"http:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/eyeball.jpg\" alt=\"eyeball\" class=\"wp-image-296\" srcset=\"https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/eyeball.jpg 586w, https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/eyeball-300x197.jpg 300w\" sizes=\"auto, (max-width: 586px) 100vw, 586px\" \/><\/a><\/figure>\n<\/div>\n\n\n<h4 class=\"wp-block-heading\"><strong>Composited image<\/strong><\/h4>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"http:\/\/www.johnpettingill.com\/interactive-and-technical\/eye_maximum\/\" rel=\"attachment wp-att-297\"><img loading=\"lazy\" decoding=\"async\" width=\"586\" height=\"386\" src=\"http:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/eye_maximum.jpg\" alt=\"eye_maximum\" class=\"wp-image-297\" srcset=\"https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/eye_maximum.jpg 586w, https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/eye_maximum-300x197.jpg 300w\" sizes=\"auto, (max-width: 586px) 100vw, 586px\" \/><\/a><\/figure>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Unity, Microsoft Kinect, and C# This movie is a demo of my short arcade-style video game &#8220;Jet Fu&#8221;, which implements Microsoft&#8217;s Kinect inside the Unity game engine. Within the game, there is a lot that can be improved upon, such &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"more-link\" href=\"https:\/\/www.johnpettingill.com\/?page_id=235\"> <span class=\"screen-reader-text\">Interactive and Technical<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"full-width-page.php","meta":{"footnotes":""},"class_list":["post-235","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Interactive and Technical - JOHN PETTINGILL<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.johnpettingill.com\/?page_id=235\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Interactive and Technical - JOHN PETTINGILL\" \/>\n<meta property=\"og:description\" content=\"Unity, Microsoft Kinect, and C# This movie is a demo of my short arcade-style video game &#8220;Jet Fu&#8221;, which implements Microsoft&#8217;s Kinect inside the Unity game engine. Within the game, there is a lot that can be improved upon, such &hellip; Interactive and Technical Read More &raquo;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.johnpettingill.com\/?page_id=235\" \/>\n<meta property=\"og:site_name\" content=\"JOHN PETTINGILL\" \/>\n<meta property=\"article:modified_time\" content=\"2024-06-15T01:40:07+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/Broadway_tower_edit.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.johnpettingill.com\/?page_id=235\",\"url\":\"https:\/\/www.johnpettingill.com\/?page_id=235\",\"name\":\"Interactive and Technical - JOHN PETTINGILL\",\"isPartOf\":{\"@id\":\"https:\/\/www.johnpettingill.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.johnpettingill.com\/?page_id=235#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.johnpettingill.com\/?page_id=235#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/Broadway_tower_edit.jpg\",\"datePublished\":\"2023-04-09T19:12:30+00:00\",\"dateModified\":\"2024-06-15T01:40:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.johnpettingill.com\/?page_id=235#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.johnpettingill.com\/?page_id=235\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.johnpettingill.com\/?page_id=235#primaryimage\",\"url\":\"http:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/Broadway_tower_edit.jpg\",\"contentUrl\":\"http:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/Broadway_tower_edit.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.johnpettingill.com\/?page_id=235#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.johnpettingill.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Interactive and Technical\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.johnpettingill.com\/#website\",\"url\":\"https:\/\/www.johnpettingill.com\/\",\"name\":\"JOHN PETTINGILL\",\"description\":\"Creative and Technical Portfolio\",\"publisher\":{\"@id\":\"https:\/\/www.johnpettingill.com\/#\/schema\/person\/fe39f7f29b26c4fcf172c47fdf5271c7\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.johnpettingill.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.johnpettingill.com\/#\/schema\/person\/fe39f7f29b26c4fcf172c47fdf5271c7\",\"name\":\"johnp\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2014\/08\/sleddin_homePage_meta.jpg\",\"url\":\"https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2014\/08\/sleddin_homePage_meta.jpg\",\"contentUrl\":\"https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2014\/08\/sleddin_homePage_meta.jpg\",\"width\":180,\"height\":110,\"caption\":\"johnp\"},\"logo\":{\"@id\":\"https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2014\/08\/sleddin_homePage_meta.jpg\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Interactive and Technical - JOHN PETTINGILL","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.johnpettingill.com\/?page_id=235","og_locale":"en_US","og_type":"article","og_title":"Interactive and Technical - JOHN PETTINGILL","og_description":"Unity, Microsoft Kinect, and C# This movie is a demo of my short arcade-style video game &#8220;Jet Fu&#8221;, which implements Microsoft&#8217;s Kinect inside the Unity game engine. Within the game, there is a lot that can be improved upon, such &hellip; Interactive and Technical Read More &raquo;","og_url":"https:\/\/www.johnpettingill.com\/?page_id=235","og_site_name":"JOHN PETTINGILL","article_modified_time":"2024-06-15T01:40:07+00:00","og_image":[{"url":"http:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/Broadway_tower_edit.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.johnpettingill.com\/?page_id=235","url":"https:\/\/www.johnpettingill.com\/?page_id=235","name":"Interactive and Technical - JOHN PETTINGILL","isPartOf":{"@id":"https:\/\/www.johnpettingill.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.johnpettingill.com\/?page_id=235#primaryimage"},"image":{"@id":"https:\/\/www.johnpettingill.com\/?page_id=235#primaryimage"},"thumbnailUrl":"http:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/Broadway_tower_edit.jpg","datePublished":"2023-04-09T19:12:30+00:00","dateModified":"2024-06-15T01:40:07+00:00","breadcrumb":{"@id":"https:\/\/www.johnpettingill.com\/?page_id=235#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.johnpettingill.com\/?page_id=235"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.johnpettingill.com\/?page_id=235#primaryimage","url":"http:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/Broadway_tower_edit.jpg","contentUrl":"http:\/\/www.johnpettingill.com\/wp-content\/uploads\/2013\/04\/Broadway_tower_edit.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.johnpettingill.com\/?page_id=235#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.johnpettingill.com\/"},{"@type":"ListItem","position":2,"name":"Interactive and Technical"}]},{"@type":"WebSite","@id":"https:\/\/www.johnpettingill.com\/#website","url":"https:\/\/www.johnpettingill.com\/","name":"JOHN PETTINGILL","description":"Creative and Technical Portfolio","publisher":{"@id":"https:\/\/www.johnpettingill.com\/#\/schema\/person\/fe39f7f29b26c4fcf172c47fdf5271c7"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.johnpettingill.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.johnpettingill.com\/#\/schema\/person\/fe39f7f29b26c4fcf172c47fdf5271c7","name":"johnp","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2014\/08\/sleddin_homePage_meta.jpg","url":"https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2014\/08\/sleddin_homePage_meta.jpg","contentUrl":"https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2014\/08\/sleddin_homePage_meta.jpg","width":180,"height":110,"caption":"johnp"},"logo":{"@id":"https:\/\/www.johnpettingill.com\/wp-content\/uploads\/2014\/08\/sleddin_homePage_meta.jpg"}}]}},"_links":{"self":[{"href":"https:\/\/www.johnpettingill.com\/index.php?rest_route=\/wp\/v2\/pages\/235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.johnpettingill.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.johnpettingill.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.johnpettingill.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.johnpettingill.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=235"}],"version-history":[{"count":78,"href":"https:\/\/www.johnpettingill.com\/index.php?rest_route=\/wp\/v2\/pages\/235\/revisions"}],"predecessor-version":[{"id":446,"href":"https:\/\/www.johnpettingill.com\/index.php?rest_route=\/wp\/v2\/pages\/235\/revisions\/446"}],"wp:attachment":[{"href":"https:\/\/www.johnpettingill.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}