{"id":1330,"date":"2023-04-15T02:08:37","date_gmt":"2023-04-15T02:08:37","guid":{"rendered":"https:\/\/floydsplace.us\/wpress\/?p=1330"},"modified":"2023-04-24T08:11:43","modified_gmt":"2023-04-24T08:11:43","slug":"motion-camouflage","status":"publish","type":"post","link":"https:\/\/floydsplace.us\/wpress\/2023\/04\/15\/motion-camouflage\/","title":{"rendered":"Motion Camouflage"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">I read an article by Mizutani <em>et al<\/em>. (2003) about how dragonflies can move while appearing to be stationary against their background. I&#8217;ve been thinking this over and wanted to see if I could simulate this to illustrate it and better understand it. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Usually, we think of animals minimizing motion to blend into their background. However, there are animals that sway slightly to mimic their background, such as leaves swaying in a breeze. Even more dramatically, some flying insects can paradoxically move quickly in order to appear stationary and at a different distance from where they are. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/image-3-1024x683.png\" alt=\"\" class=\"wp-image-1345\" srcset=\"https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/image-3-1024x683.png 1024w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/image-3-300x200.png 300w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/image-3-768x512.png 768w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/image-3-1536x1024.png 1536w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/image-3.png 1599w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Dragonflies are highly visually oriented, highly maneuverable aerial predators. They are able to judge a viewer and their background and move in order to appear stationary against the background relative to the moving viewer. I programmed an example of this in POV-Ray to visualize the effect. Here are some frames to illustrate. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The viewer is moving to the left and away while rotating its focus and view to be centered on the red sphere in the foreground. The orange &#8220;dragonfly&#8221; detaches from the wall in the background and approaches. It adjusts its lateral position relative to the viewer&#8217;s changing position and the background in order to visually remain at the same point on the background despite moving over a large distance. (However, its shadow initially gives away the movement.) It appears to be at approximately the same position over the yellow square behind it. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-1p5-1024x768.png\" alt=\"\" class=\"wp-image-1335\" srcset=\"https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-1p5-1024x768.png 1024w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-1p5-300x225.png 300w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-1p5-768x576.png 768w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-1p5-1536x1152.png 1536w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-1p5.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-2p5-1024x768.png\" alt=\"\" class=\"wp-image-1336\" srcset=\"https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-2p5-1024x768.png 1024w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-2p5-300x225.png 300w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-2p5-768x576.png 768w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-2p5-1536x1152.png 1536w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-2p5.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-3p5-1024x768.png\" alt=\"\" class=\"wp-image-1337\" srcset=\"https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-3p5-1024x768.png 1024w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-3p5-300x225.png 300w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-3p5-768x576.png 768w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-3p5-1536x1152.png 1536w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-3p5.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-4p5-1024x768.png\" alt=\"\" class=\"wp-image-1338\" srcset=\"https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-4p5-1024x768.png 1024w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-4p5-300x225.png 300w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-4p5-768x576.png 768w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-4p5-1536x1152.png 1536w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo-4p5.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Here is a simple, minimalistic video of the images stitched together. <\/p>\n\n\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/ZP-rTI2aka4\" title=\"YouTube video player\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen=\"\" width=\"560\" height=\"315\" frameborder=\"0\"><\/iframe><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is a plot of the z and x-axis positions to show how they line up with the same point in the background from the perspective of the target. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"586\" src=\"https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/image-2-1024x586.png\" alt=\"\" class=\"wp-image-1341\" srcset=\"https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/image-2-1024x586.png 1024w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/image-2-300x172.png 300w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/image-2-768x440.png 768w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/image-2-1536x880.png 1536w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/image-2.png 1549w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">I ended up using a <a href=\"https:\/\/floydsplace.us\/wpress\/2023\/02\/20\/libreoffice\/\">spreadsheet<\/a> to help automate the calculations. The slope and intercept of the trajectory change at each point. This is not simply approaching the target at each point as it moves but a more complex maneuver. If I developed this some more, I would automate the position calculations within the POV-Ray script and use the clock function to make many more intermediate images for a smoother video. Also, simultaneous changes in the y-axis could be incorporated. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">(I may <a href=\"https:\/\/floydsplace.us\/wpress\/2023\/04\/24\/updated-motion-camouflage-script\/\">update this post<\/a> with some comparison videos of what the scene looks like without motion camouflage &#8230; )<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This only works on one target at a time. The dragonfly shouldn&#8217;t be able to maneuver to be able to maintain motion camouflage relative to two viewers. An obvious direction this could potentially be taken in is for use with drones to track each other or moving objects while minimizing their movement against a background. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dragonflies can even shift their movement to backgrounds at different distances away as the target moves. For example, they can switch between maintaining a visually fixed point on a near background to a fixed point on a distant background, such as the sky, within one episode of flight. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is the original article I read that started me thinking about this: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mizutani, A., Chahl, J. S., &amp; Srinivasan, M. V. (2003). Motion camouflage in dragonflies. <em>Nature<\/em>, 423(6940), 604-604. <a href=\"https:\/\/www.nature.com\/articles\/423604a\">https:\/\/www.nature.com\/articles\/423604a<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">When putting together this post, I found some more relevant articles and even a Wikipedia page dedicated to motion camouflage. Hoverflies also show this motion camouflage behavior. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"600\" src=\"https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/image-4.png\" alt=\"\" class=\"wp-image-1346\" srcset=\"https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/image-4.png 800w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/image-4-300x225.png 300w, https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/image-4-768x576.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Anderson, A. J., &amp; McOwan, P. W. (2003). Humans deceived by predatory stealth strategy camouflaging motion. <em>Proceedings of the Royal Society of London. Series B: Biological Sciences<\/em>, 270(suppl_1), S18-S20. <a href=\"https:\/\/www.ncbi.nlm.nih.gov\/pmc\/articles\/PMC1698008\/pdf\/12952625.pdf\">https:\/\/www.ncbi.nlm.nih.gov\/pmc\/articles\/PMC1698008\/pdf\/12952625.pdf<\/a><\/li>\n\n\n\n<li>Anderson, A. J., &amp; McOwan, P. W. (2003). Model of a predatory stealth behaviour camouflaging motion. <em>Proceedings of the Royal Society of London. Series B: Biological Sciences<\/em>, 270(1514), 489-495. <a href=\"https:\/\/www.ncbi.nlm.nih.gov\/pmc\/articles\/PMC1691267\/pdf\/12641903.pdf\">https:\/\/www.ncbi.nlm.nih.gov\/pmc\/articles\/PMC1691267\/pdf\/12641903.pdf<\/a><\/li>\n\n\n\n<li>Glendinning, P. (2004). The mathematics of motion camouflage. <em>Proceedings of the Royal Society of London. Series B: Biological Sciences<\/em>, 271(1538), 477-481. <a href=\"https:\/\/www.ncbi.nlm.nih.gov\/pmc\/articles\/PMC1691618\/pdf\/15129957.pdf\">https:\/\/www.ncbi.nlm.nih.gov\/pmc\/articles\/PMC1691618\/pdf\/15129957.pdf<\/a><\/li>\n\n\n\n<li>Srinivasan, M. V., &amp; Davey, M. (1995). Strategies for active camouflage of motion. <em>Proceedings of the Royal Society of London. Series B: Biological Sciences<\/em>, 259(1354), 19-25.<\/li>\n\n\n\n<li>Wikipedia article on motion camouflage, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Motion_camouflage\">https:\/\/en.wikipedia.org\/wiki\/Motion_camouflage<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">POV-Ray code: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include \"colors.inc\" \n\nlight_source { &lt;10, 10, -10&gt; color White \n    area_light\n    x y 10 10\n    adaptive 1\n    jitter\n    circular orient}                                               \n\n\ncamera {    \n\/\/ viewer trajectory\n   \/\/location &lt;2, 2, -2&gt;      \/\/ point 1   \n   \/\/location &lt;1.5, 2, -2.25&gt;      \/\/ point 1.5\n   \/\/location &lt;1, 2, -2.5&gt;   \/\/ point 2   \n   \/\/location &lt;0.5, 2, -2.75&gt;   \/\/ point 2.5\n   \/\/location &lt;0, 2, -3&gt;   \/\/ point 3  \n   location &lt;-0.5, 2, -3.25&gt;   \/\/ point 3.5 \n   \/\/location &lt;-1, 2, -3.5&gt;   \/\/ point 4   \n   \/\/location &lt;-1.5, 2, -3.75&gt;   \/\/ point 4.5\n   \/\/location &lt;-2, 2, -4&gt;   \/\/ point 5 \n   \/\/location &lt;-2.5, 2, -4.25&gt;   \/\/ point 5.5  \n   \/\/location &lt;-3, 2, -4.5&gt;   \/\/ point 6   \n                    \n\/\/ motion camo look at fixed                    \n   look_at &lt;0,1,0&gt;  \n   focal_point &lt;0,1,0&gt;   \n      \n\/\/intercept look at      \n      \/\/look_at &lt;0,1,0&gt;  focal_point &lt;0,1,0&gt;   \n      \/\/look_at &lt;-0.731195335276968,1.2,1.6&gt;  focal_point &lt;-0.731195335276968,1.2,1.6&gt;    \n      \/\/look_at &lt;-1.46239067055394,1.4,3.2&gt;  focal_point &lt;-1.46239067055394,1.4,3.2&gt;\n      \/\/look_at &lt;-2.1935860058309,1.6,4.8&gt;  focal_point &lt;-2.1935860058309,1.6,4.8&gt;\n      \/\/look_at &lt;-2.92478134110787,1.8,6.4&gt;  focal_point &lt;-2.92478134110787,1.8,6.4&gt; \n      \/\/look_at &lt;-3.65597667638484,2,8&gt;  focal_point &lt;-3.65597667638484,2,8&gt; \n      \/\/look_at &lt;-3.53002915451895,2,5.6&gt;  focal_point &lt;-3.53002915451895,2,5.6&gt;\n      \/\/look_at &lt;-3.40408163265306,2,3.2&gt;  focal_point &lt;-3.40408163265306,2,3.2&gt; \n      \/\/look_at &lt;-3.27813411078717,2,0.8&gt;  focal_point &lt;-3.27813411078717,2,0.8&gt;\n      \/\/look_at &lt;-3.15218658892128,2,-1.6&gt;  focal_point &lt;-3.15218658892128,2,-1.6&gt; \n      \/\/look_at &lt;-3.02623906705539,2,-4&gt;  focal_point &lt;-3.02623906705539,2,-4&gt;\n      aperture 0.1\n      blur_samples 100\n\n}                           \n\n\/\/ intersect point &lt;-30\/7,2,20&gt;                              \n                                                            \n  \n    background { color Gray }       \n\n  plane { &lt;0, 1, 0&gt;, -1\n    pigment {\n      checker color Copper, color Blue\n    }\n  }  \n  \n  \n    plane { &lt;0, 0, 1&gt;, 20\n    pigment {\n      checker color Yellow, color ForestGreen   \n      scale 3\n    }\n  }        \n  \n  \n  \n  sphere {\n   &lt;0,1,0&gt;, 0.2 \n   pigment{color Red}\n   \n   \n  }  \n  \n  \n  \n    sphere {  \/\/ dragonfly   \n    \n    \/\/ motion camo sequence\n   \/\/&lt;-30\/7,2,20&gt;, 0.2 \/\/ point 1 \n   \/\/&lt;-3.6356,2,17.5&gt;, 0.2 \/\/ point 1.5  \n   \/\/&lt;-3.1111,2,15&gt;, 0.2 \/\/ point 2  \n   \/\/&lt;-2.708,2,12.5&gt;, 0.2 \/\/ point 2.5   \n   \/\/&lt;-2.42236,2,10&gt;, 0.2 \/\/ point 3\n   &lt;-2.25038,2,7.5&gt;, 0.2 \/\/ point 3.5 \n   \/\/&lt;-2.18845,2,5&gt;, 0.2 \/\/ point 4   \n   \/\/&lt;-2.23308,2,2.5&gt;, 0.2 \/\/ point 4.5    \n   \/\/&lt;-2.38095,2,0&gt;, 0.2 \/\/ point 5  \n   \/\/&lt;-2.66568,2,-2&gt;, 0.2 \/\/ point 5.5\n   \/\/&lt;-3.02624,2,-4&gt;, 0.2 \/\/ point 6    \n   \n   \/\/ intercept course \n   \/\/&lt;-4.28571428571429,2,20&gt;, 0.2 \/\/ point 1 \n   \/\/&lt;-4.1597667638484,2,17.6&gt;, 0.2 \/\/ point 1.5  \n   \/\/&lt;-4.03381924198251,2,15.2&gt;, 0.2 \/\/ point 2  \n   \/\/&lt;-3.90787172011662,2,12.8&gt;, 0.2 \/\/ point 2.5   \n   \/\/&lt;-3.78192419825073,2,10.4&gt;, 0.2 \/\/ point 3\n\/\/   &lt;-3.65597667638484,2,8&gt;, 0.2 \/\/ point 3.5 \n   \/\/&lt;-3.53002915451895,2,5.6&gt;, 0.2 \/\/ point 4   \n   \/\/&lt;-3.40408163265306,2,3.2&gt;, 0.2 \/\/ point 4.5    \n   \/\/&lt;-3.27813411078717,2,0.8&gt;, 0.2 \/\/ point 5  \n   \/\/&lt;-3.15218658892128,2,-1.6&gt;, 0.2 \/\/ point 5.5\n   \/\/&lt;-3.02623906705539,2,-4&gt;, 0.2 \/\/ point 6 \n   \n   \n   pigment{color Orange}\n   \n   \n  }<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Media<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dragonfly picture by Boris Smokrovic (2016), <a href=\"https:\/\/commons.wikimedia.org\/wiki\/File:Dragonfly_landing_(Unsplash).jpg\">https:\/\/commons.wikimedia.org\/wiki\/File:Dragonfly_landing_(Unsplash).jpg<\/a><\/li>\n\n\n\n<li>Hover fly picture by B. J. Schoenmakers (2016), <a href=\"https:\/\/commons.wikimedia.org\/wiki\/File:Xylota_segnis_(Syrphidae_sp.),Elst(Gld),_the_Netherlands.jpg\">https:\/\/commons.wikimedia.org\/wiki\/File:Xylota_segnis_(Syrphidae_sp.),<em>Elst<\/em>(Gld),_the_Netherlands.jpg<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>I read an article by Mizutani et al. (2003) about how dragonflies can move while appearing to be stationary against their background. I&#8217;ve been thinking this over and wanted to see if I could simulate this to illustrate it and better understand it. Usually, we think of animals minimizing motion to blend into their background. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1333,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"cybocfi_hide_featured_image":"yes","footnotes":""},"categories":[11,13],"tags":[62],"class_list":["post-1330","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-biology","category-computing","tag-camouflage"],"jetpack_featured_media_url":"https:\/\/floydsplace.us\/wpress\/wp-content\/uploads\/2023\/04\/dragonfly-camo.png","views":"","_links":{"self":[{"href":"https:\/\/floydsplace.us\/wpress\/wp-json\/wp\/v2\/posts\/1330","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/floydsplace.us\/wpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/floydsplace.us\/wpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/floydsplace.us\/wpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/floydsplace.us\/wpress\/wp-json\/wp\/v2\/comments?post=1330"}],"version-history":[{"count":14,"href":"https:\/\/floydsplace.us\/wpress\/wp-json\/wp\/v2\/posts\/1330\/revisions"}],"predecessor-version":[{"id":1448,"href":"https:\/\/floydsplace.us\/wpress\/wp-json\/wp\/v2\/posts\/1330\/revisions\/1448"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/floydsplace.us\/wpress\/wp-json\/wp\/v2\/media\/1333"}],"wp:attachment":[{"href":"https:\/\/floydsplace.us\/wpress\/wp-json\/wp\/v2\/media?parent=1330"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/floydsplace.us\/wpress\/wp-json\/wp\/v2\/categories?post=1330"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/floydsplace.us\/wpress\/wp-json\/wp\/v2\/tags?post=1330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}