﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-Die feuchter Einsamkeit</title><link>http://www.cnblogs.com/Jedimaster/</link><description>Herzlich Willkommen</description><language>zh-cn</language><lastBuildDate>Sat, 20 Mar 2010 21:21:25 GMT</lastBuildDate><pubDate>Sat, 20 Mar 2010 21:21:25 GMT</pubDate><ttl>60</ttl><item><title>Sampling Hair Density Field by Deterministic Importance Sampling</title><link>http://www.cnblogs.com/Jedimaster/archive/2010/02/24/1672940.html</link><dc:creator>Bo Schwarzstein</dc:creator><author>Bo Schwarzstein</author><pubDate>Wed, 24 Feb 2010 12:19:00 GMT</pubDate><guid>http://www.cnblogs.com/Jedimaster/archive/2010/02/24/1672940.html</guid><description><![CDATA[<p>阅读: 107 评论: 0 作者: <a href="http://www.cnblogs.com/Jedimaster/" target="_blank">Bo Schwarzstein</a> 发表于 2010-02-24 20:19 <a href="http://www.cnblogs.com/Jedimaster/archive/2010/02/24/1672940.html" target="_blank">原文链接</a></p><p>首先，不要跟我说Shave怎么好怎么好。第一，99%人用的都是盗版；第二，Shave，包括Houdini Fur都没有完美解决高度displacement后的精确毛发生长问题。Houdini fur的Paint Density完全就是个基于顶点着色后差值的废物，根本无法和3D Paint这一步骤完美的结合起来。我提出的这个方案可以完美的解决这个问题，特别适合植物和草皮等等这些东西的制作上。更甚可以和支持Procedural Primtive的渲染器结合起来使用，实现《金刚》一样的全身毛发差值。一切为了最精确，一切为了最傻瓜控制。</p>  <ul>   <li><strong><em>Step 1</em></strong> : Paint density texture in Mudbox or the others sculpt software. Sorry for my poor artist ability. </li>    <li>第一步：在Mudbox中绘制密度分布。使用我的GeometryImageViewport Filter插件，渲染Displaced之后的Object坐标系数值和法线到两张贴图中。现在的Mudbox还没有提供世界位置的烘培功能。</li> </ul>  <p><a href="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/GenerateHairFolliclesbyDeterministicImpo_14393/image001_2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image001" border="0" alt="image001" src="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/GenerateHairFolliclesbyDeterministicImpo_14393/image001_thumb.png" width="644" height="472" /></a></p>  <ul>   <li><strong><em>Step 2</em></strong> : Export the density field as following. This is an probability density function(PDF for short). </li>    <li>第二部：导出密度分布，作为毛发生长的概率分布函数。</li>    <li><strong><em>Step 3</em></strong> : Applied the classical inversion function and Quasi Monte Carlo sampling, we could genereate deterministic amount of the sampler positions. </li>    <li>第三部：使用我的外部程序预览分布分布。采样点UV的生成使用了伪随机蒙特卡洛采样，用户可以使用Uniform或者QMC Sequence进行调整。</li> </ul>  <p><a href="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/GenerateHairFolliclesbyDeterministicImpo_14393/Rand_2.gif"><img style="display: inline" title="Rand" alt="Rand" src="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/GenerateHairFolliclesbyDeterministicImpo_14393/Rand_thumb.gif" width="512" height="512" /></a></p>  <ul>   <li><strong><em>Step 4</em></strong> : I made a maya DG to generate curves in maya. The root follicles will be placed on subdivided diplaced surface.</li>    <li>为了实现毛发的生长，我还提供了一个DG节点用来读取第一步生成的密度图位置图法线图，进行采样与生长。</li> </ul>  <p><a href="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/GenerateHairFolliclesbyDeterministicImpo_14393/image002_2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image002" border="0" alt="image002" src="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/GenerateHairFolliclesbyDeterministicImpo_14393/image002_thumb.png" width="1028" height="692" /></a></p><img src="http://www.cnblogs.com/Jedimaster/aggbug/1672940.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/Jedimaster/archive/2010/02/24/1672940.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/Jedimaster/archive/2010/02/24/1672940.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59262/" target="_blank">甲骨文将关闭OpenSSO</a><span style="color:gray">(2010-03-20 23:54)</span><br/>· <a href="http://news.cnblogs.com/n/59261/" target="_blank">专访陈晓薇：九城已重建、我还没想好去哪</a><span style="color:gray">(2010-03-20 22:07)</span><br/>· <a href="http://news.cnblogs.com/n/59260/" target="_blank">[视频]社交媒体不仅仅是一时狂热</a><span style="color:gray">(2010-03-20 21:58)</span><br/>· <a href="http://news.cnblogs.com/n/59259/" target="_blank">Google开出首个1337美刀的Chrome bug奖励支票</a><span style="color:gray">(2010-03-20 21:47)</span><br/>· <a href="http://news.cnblogs.com/n/59258/" target="_blank">著名图像讨论网站4chan创始人披露4chan诞生历史</a><span style="color:gray">(2010-03-20 21:42)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>Geometry Imager Viewport Filter</title><link>http://www.cnblogs.com/Jedimaster/archive/2010/02/14/1668268.html</link><dc:creator>Bo Schwarzstein</dc:creator><author>Bo Schwarzstein</author><pubDate>Sun, 14 Feb 2010 09:52:00 GMT</pubDate><guid>http://www.cnblogs.com/Jedimaster/archive/2010/02/14/1668268.html</guid><description><![CDATA[<p>阅读: 905 评论: 2 作者: <a href="http://www.cnblogs.com/Jedimaster/" target="_blank">Bo Schwarzstein</a> 发表于 2010-02-14 17:52 <a href="http://www.cnblogs.com/Jedimaster/archive/2010/02/14/1668268.html" target="_blank">原文链接</a></p><p>An Mudbox plugin, for export geometry world position and normal as textures.</p>
<p>Tested in Mudbox 2010 &amp; 2011 (beta 3 in-house version).</p>
<p><a href="http://files.cnblogs.com/Jedimaster/GIVF.7z" target="_blank"><img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/jedimaster/icon/7zip-48x48.png" width="48" height="48" /></a></p>
<p><a href="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/GeometryImagerViewportFilter_FACA/image001_2.png" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image001" border="0" alt="image001" src="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/GeometryImagerViewportFilter_FACA/image001_thumb.png" width="636" height="500" /></a> </p>
<p><a href="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/GeometryImagerViewportFilter_FACA/image002_4.png" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image002" border="0" alt="image002" src="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/GeometryImagerViewportFilter_FACA/image002_thumb_1.png" width="619" height="500" /></a></p> <img src="http://www.cnblogs.com/Jedimaster/aggbug/1668268.html?type=1" width="1" height="1" alt=""/><p>评论: 2　<a href="http://www.cnblogs.com/Jedimaster/archive/2010/02/14/1668268.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/Jedimaster/archive/2010/02/14/1668268.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59262/" target="_blank">甲骨文将关闭OpenSSO</a><span style="color:gray">(2010-03-20 23:54)</span><br/>· <a href="http://news.cnblogs.com/n/59261/" target="_blank">专访陈晓薇：九城已重建、我还没想好去哪</a><span style="color:gray">(2010-03-20 22:07)</span><br/>· <a href="http://news.cnblogs.com/n/59260/" target="_blank">[视频]社交媒体不仅仅是一时狂热</a><span style="color:gray">(2010-03-20 21:58)</span><br/>· <a href="http://news.cnblogs.com/n/59259/" target="_blank">Google开出首个1337美刀的Chrome bug奖励支票</a><span style="color:gray">(2010-03-20 21:47)</span><br/>· <a href="http://news.cnblogs.com/n/59258/" target="_blank">著名图像讨论网站4chan创始人披露4chan诞生历史</a><span style="color:gray">(2010-03-20 21:42)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>Maya Library Mode, Missing Python Module</title><link>http://www.cnblogs.com/Jedimaster/archive/2010/02/09/1666361.html</link><dc:creator>Bo Schwarzstein</dc:creator><author>Bo Schwarzstein</author><pubDate>Tue, 09 Feb 2010 04:52:00 GMT</pubDate><guid>http://www.cnblogs.com/Jedimaster/archive/2010/02/09/1666361.html</guid><description><![CDATA[<p>阅读: 118 评论: 0 作者: <a href="http://www.cnblogs.com/Jedimaster/" target="_blank">Bo Schwarzstein</a> 发表于 2010-02-09 12:52 <a href="http://www.cnblogs.com/Jedimaster/archive/2010/02/09/1666361.html" target="_blank">原文链接</a></p><p>So, maybe you are trying to execute Autodesk Maya in Library Mode, you will get some python error, it can't find Maya's python modules. You should add enviroment variables in you Visual Studio's project, like this</p><p><strong>MAYA_LOCATION=C:\Program Files (x86)\Autodesk\Maya2008<br />PYTHONHOME=C:\Program Files (x86)\Autodesk\Maya2008\Python<br />PYTHONPATH=C:\Program Files (x86)\Autodesk\Maya2008\bin\Python25.zip;C:\Program Files (x86)\Autodesk\Maya2008\Python\lib\site-packages&nbsp;</strong></p><p>&nbsp;</p><p>I am working on hair procedural DSO which like Houdini and some PBR rendering shader in my free time. <br /></p><p>See you soon.</p><img src="http://www.cnblogs.com/Jedimaster/aggbug/1666361.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/Jedimaster/archive/2010/02/09/1666361.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/Jedimaster/archive/2010/02/09/1666361.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59262/" target="_blank">甲骨文将关闭OpenSSO</a><span style="color:gray">(2010-03-20 23:54)</span><br/>· <a href="http://news.cnblogs.com/n/59261/" target="_blank">专访陈晓薇：九城已重建、我还没想好去哪</a><span style="color:gray">(2010-03-20 22:07)</span><br/>· <a href="http://news.cnblogs.com/n/59260/" target="_blank">[视频]社交媒体不仅仅是一时狂热</a><span style="color:gray">(2010-03-20 21:58)</span><br/>· <a href="http://news.cnblogs.com/n/59259/" target="_blank">Google开出首个1337美刀的Chrome bug奖励支票</a><span style="color:gray">(2010-03-20 21:47)</span><br/>· <a href="http://news.cnblogs.com/n/59258/" target="_blank">著名图像讨论网站4chan创始人披露4chan诞生历史</a><span style="color:gray">(2010-03-20 21:42)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>SytemC on CentOS 5.3 64bit</title><link>http://www.cnblogs.com/Jedimaster/archive/2010/01/21/1653034.html</link><dc:creator>Bo Schwarzstein</dc:creator><author>Bo Schwarzstein</author><pubDate>Thu, 21 Jan 2010 02:10:00 GMT</pubDate><guid>http://www.cnblogs.com/Jedimaster/archive/2010/01/21/1653034.html</guid><description><![CDATA[<p>阅读: 164 评论: 0 作者: <a href="http://www.cnblogs.com/Jedimaster/" target="_blank">Bo Schwarzstein</a> 发表于 2010-01-21 10:10 <a href="http://www.cnblogs.com/Jedimaster/archive/2010/01/21/1653034.html" target="_blank">原文链接</a></p><h3>系统环境</h3><ul><li>CentOS 5.3 64bit</li><li>gcc 4.1</li><li>SystemC 2.2</li></ul><p>&nbsp;</p><h3>操作目的<br /></h3><ul><li>将SystemC模块编译为.so由外部程序调用</li></ul><p>&nbsp;</p><h3>出现故障<br /></h3><ul><li>编译的时候gcc显示需要将libsystemc.a使用-fPIC开关进行编译，同时显示模块找不到符号。</li></ul><p>&nbsp;</p><h3>故障原因</h3><ul><li>为了将SystemC模块打入.so需要将libsystemc.a编译为PIC代码。gcc4默认情况下不再启用-fPIC开关。<br /></li></ul><p>&nbsp;</p><h3>解决方法</h3><ul><li>打开configure.in文件，在针对Linux x86_64平台下的-Wall开关后面加上-fPIC。执行config目录下的distinstall和boostrap脚本生成新的配置。然后正常./configure、make、make install、make clean。</li></ul><p>&nbsp;</p><h3>实战演练</h3><ul><li>声明一个名字叫做Trust的.so，然后在外部程序中执行这个.so（其实就是手动执行.so中的函数）。两个文件代码如下。<br /></li></ul><div class="cnblogs_code" onclick="cnblogs_code_show('153ff6ef-c8a1-4367-9574-c3cbea220d79')"><img src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" class="code_img_closed" id="code_img_closed_153ff6ef-c8a1-4367-9574-c3cbea220d79"  alt="" /><img src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" class="code_img_opened" id="code_img_opened_153ff6ef-c8a1-4367-9574-c3cbea220d79" onclick="cnblogs_code_hide('153ff6ef-c8a1-4367-9574-c3cbea220d79',event)" style="display: none;"><span class="cnblogs_code_collapse">代码</span><div id="cnblogs_code_open_153ff6ef-c8a1-4367-9574-c3cbea220d79" class="cnblogs_code_hide"><div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">iostream</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">systemc.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br /><br /></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">namespace</span><span style="color: #000000;">&nbsp;std;<br /><br />SC_MODULE(first_counter)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;SC_CTOR(first_counter){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #800000;">"</span><span style="color: #800000;">Trust</span><span style="color: #800000;">"</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">endl;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />};<br /><br /></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;sc_main(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;argc,&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;argv[])<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #800000;">"</span><span style="color: #800000;">sc_main&nbsp;running!</span><span style="color: #800000;">"</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">endl;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i</span><span style="color: #000000;">=</span><span style="color: #800080;">0</span><span style="color: #000000;">;&nbsp;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">argc;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">i)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #800000;">'</span><span style="color: #800000;">\t</span><span style="color: #800000;">'</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">argv[i]</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">endl;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;first_counter&nbsp;c1(</span><span style="color: #800000;">"</span><span style="color: #800000;">c1</span><span style="color: #800000;">"</span><span style="color: #000000;">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;<br />}<br /><br /><br /></span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;EXPORT&nbsp;__attribute__((visibility("default")))</span><span style="color: #000000;"><br /><br /></span><span style="color: #0000ff;">extern</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">C</span><span style="color: #800000;">"</span><span style="color: #000000;"><br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;EXPORT<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Fork(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;n,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;m)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">**</span><span style="color: #000000;">&nbsp;argv&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">char</span><span style="color: #000000;">**</span><span style="color: #000000;">)malloc(</span><span style="color: #0000ff;">sizeof</span><span style="color: #000000;">(</span><span style="color: #0000ff;">void</span><span style="color: #000000;">*</span><span style="color: #000000;">)</span><span style="color: #000000;">*</span><span style="color: #800080;">2</span><span style="color: #000000;">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;buf[</span><span style="color: #800080;">256</span><span style="color: #000000;">];<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(buf,</span><span style="color: #800000;">"</span><span style="color: #800000;">%d</span><span style="color: #800000;">"</span><span style="color: #000000;">,n);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;argv[</span><span style="color: #800080;">0</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;strdup(buf);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(buf,</span><span style="color: #800000;">"</span><span style="color: #800000;">%d</span><span style="color: #800000;">"</span><span style="color: #000000;">,m);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;argv[</span><span style="color: #800080;">1</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;strdup(buf);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sc_main(</span><span style="color: #800080;">2</span><span style="color: #000000;">,argv);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free(argv[</span><span style="color: #800080;">0</span><span style="color: #000000;">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free(argv[</span><span style="color: #800080;">1</span><span style="color: #000000;">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free(argv);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><br /><br /></span></div></div></div><p><br /></p><p>&nbsp;</p><div class="cnblogs_code" onclick="cnblogs_code_show('29bfd2b0-5fee-4c57-82a7-876b9cf29da8')"><img src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" class="code_img_closed" id="code_img_closed_29bfd2b0-5fee-4c57-82a7-876b9cf29da8"  alt="" /><img src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" class="code_img_opened" id="code_img_opened_29bfd2b0-5fee-4c57-82a7-876b9cf29da8" onclick="cnblogs_code_hide('29bfd2b0-5fee-4c57-82a7-876b9cf29da8',event)" style="display: none;"><span class="cnblogs_code_collapse">代码</span><div id="cnblogs_code_open_29bfd2b0-5fee-4c57-82a7-876b9cf29da8" class="cnblogs_code_hide"><div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">dlfcn.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">iostream</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br /><br /></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">namespace</span><span style="color: #000000;">&nbsp;std;<br /><br />typedef&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">*</span><span style="color: #000000;">PFNVOIDINT)(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">,</span><span style="color: #0000ff;">int</span><span style="color: #000000;">);<br /><br /></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;argc,&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;argv[])<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;Handle&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;dlopen(</span><span style="color: #800000;">"</span><span style="color: #800000;">/home/Bo/Projects/Trust/libTrust.so</span><span style="color: #800000;">"</span><span style="color: #000000;">,RTLD_LAZY);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;PFNVOIDINT&nbsp;ForkFunc&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(PFNVOIDINT)dlsym(Handle,</span><span style="color: #800000;">"</span><span style="color: #800000;">Fork</span><span style="color: #800000;">"</span><span style="color: #000000;">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;ForkFunc&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForkFunc(</span><span style="color: #800080;">1234567890</span><span style="color: #000000;">,</span><span style="color: #800080;">1122334455</span><span style="color: #000000;">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;dlclose(Handle);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;<br />}<br /></span></div></div></div><p>执行结果完全正常，参数正确传入SystemC的模块.so内。<br /></p><img src="http://www.cnblogs.com/Jedimaster/aggbug/1653034.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/Jedimaster/archive/2010/01/21/1653034.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/Jedimaster/archive/2010/01/21/1653034.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59262/" target="_blank">甲骨文将关闭OpenSSO</a><span style="color:gray">(2010-03-20 23:54)</span><br/>· <a href="http://news.cnblogs.com/n/59261/" target="_blank">专访陈晓薇：九城已重建、我还没想好去哪</a><span style="color:gray">(2010-03-20 22:07)</span><br/>· <a href="http://news.cnblogs.com/n/59260/" target="_blank">[视频]社交媒体不仅仅是一时狂热</a><span style="color:gray">(2010-03-20 21:58)</span><br/>· <a href="http://news.cnblogs.com/n/59259/" target="_blank">Google开出首个1337美刀的Chrome bug奖励支票</a><span style="color:gray">(2010-03-20 21:47)</span><br/>· <a href="http://news.cnblogs.com/n/59258/" target="_blank">著名图像讨论网站4chan创始人披露4chan诞生历史</a><span style="color:gray">(2010-03-20 21:42)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>Models of biological pattern formation</title><link>http://www.cnblogs.com/Jedimaster/archive/2010/01/04/1638680.html</link><dc:creator>Bo Schwarzstein</dc:creator><author>Bo Schwarzstein</author><pubDate>Mon, 04 Jan 2010 01:46:00 GMT</pubDate><guid>http://www.cnblogs.com/Jedimaster/archive/2010/01/04/1638680.html</guid><description><![CDATA[<p>阅读: 213 评论: 0 作者: <a href="http://www.cnblogs.com/Jedimaster/" target="_blank">Bo Schwarzstein</a> 发表于 2010-01-04 09:46 <a href="http://www.cnblogs.com/Jedimaster/archive/2010/01/04/1638680.html" target="_blank">原文链接</a></p><p><img alt="" src="http://www.eb.tuebingen.mpg.de/departments/former-departments/h-meinhardt/82-book/cover.jpg" />&nbsp;</p><p>http://www.eb.tuebingen.mpg.de/departments/former-departments/h-meinhardt/82-book/Bur82.htm</p><p>http://www.rayfile.com/files/4c312c8a-f8d2-11de-bddf-0014221b798a/</p><p>关于植物的建模与Texture Sythesis，运用Reaction-Diffusion对树叶脉络叶肉进行建模的经典尝试。<br /></p><img src="http://www.cnblogs.com/Jedimaster/aggbug/1638680.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/Jedimaster/archive/2010/01/04/1638680.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/Jedimaster/archive/2010/01/04/1638680.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59262/" target="_blank">甲骨文将关闭OpenSSO</a><span style="color:gray">(2010-03-20 23:54)</span><br/>· <a href="http://news.cnblogs.com/n/59261/" target="_blank">专访陈晓薇：九城已重建、我还没想好去哪</a><span style="color:gray">(2010-03-20 22:07)</span><br/>· <a href="http://news.cnblogs.com/n/59260/" target="_blank">[视频]社交媒体不仅仅是一时狂热</a><span style="color:gray">(2010-03-20 21:58)</span><br/>· <a href="http://news.cnblogs.com/n/59259/" target="_blank">Google开出首个1337美刀的Chrome bug奖励支票</a><span style="color:gray">(2010-03-20 21:47)</span><br/>· <a href="http://news.cnblogs.com/n/59258/" target="_blank">著名图像讨论网站4chan创始人披露4chan诞生历史</a><span style="color:gray">(2010-03-20 21:42)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>胡言乱语</title><link>http://www.cnblogs.com/Jedimaster/archive/2009/12/13/1623051.html</link><dc:creator>Bo Schwarzstein</dc:creator><author>Bo Schwarzstein</author><pubDate>Sun, 13 Dec 2009 08:38:00 GMT</pubDate><guid>http://www.cnblogs.com/Jedimaster/archive/2009/12/13/1623051.html</guid><description><![CDATA[<p>阅读: 201 评论: 0 作者: <a href="http://www.cnblogs.com/Jedimaster/" target="_blank">Bo Schwarzstein</a> 发表于 2009-12-13 16:38 <a href="http://www.cnblogs.com/Jedimaster/archive/2009/12/13/1623051.html" target="_blank">原文链接</a></p><p>“针对人们的发问，孙博士宣称，他革命的目的除了“驱除鞑虏，恢复中华”外，还有就是要从根本上改变中国的政治基础，将中国改造成为一个自由、平等和博爱的国家。在达到这个目的之前，要先实行一段军政时期。他说，中国将会变成由中国人自己当家做主的中国；在中国，将建立共和政体，将通过全民投票选举出一位总统。除此之外，整个社会的基础就是要让人人都拥有平等的土地权，废除地主对土地的垄断。奴役、裹脚、吸食鸦片等恶习将会被制止，过三年之后或在更早些时候，如果情况需要，军政将被宪政所取代。”——《帝国的回忆》</p>  <p>不可否认，三民主义或者类似的良好大局终将会出现端倪，一个充满争议的威权体系必將是良势开端不可缺少的一环，倒行逆施之辈终将会钉在耻辱柱上。</p><img src="http://www.cnblogs.com/Jedimaster/aggbug/1623051.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/Jedimaster/archive/2009/12/13/1623051.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/Jedimaster/archive/2009/12/13/1623051.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59262/" target="_blank">甲骨文将关闭OpenSSO</a><span style="color:gray">(2010-03-20 23:54)</span><br/>· <a href="http://news.cnblogs.com/n/59261/" target="_blank">专访陈晓薇：九城已重建、我还没想好去哪</a><span style="color:gray">(2010-03-20 22:07)</span><br/>· <a href="http://news.cnblogs.com/n/59260/" target="_blank">[视频]社交媒体不仅仅是一时狂热</a><span style="color:gray">(2010-03-20 21:58)</span><br/>· <a href="http://news.cnblogs.com/n/59259/" target="_blank">Google开出首个1337美刀的Chrome bug奖励支票</a><span style="color:gray">(2010-03-20 21:47)</span><br/>· <a href="http://news.cnblogs.com/n/59258/" target="_blank">著名图像讨论网站4chan创始人披露4chan诞生历史</a><span style="color:gray">(2010-03-20 21:42)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>从《陈六事疏》说开去</title><link>http://www.cnblogs.com/Jedimaster/archive/2009/11/06/1597731.html</link><dc:creator>Bo Schwarzstein</dc:creator><author>Bo Schwarzstein</author><pubDate>Fri, 06 Nov 2009 15:22:00 GMT</pubDate><guid>http://www.cnblogs.com/Jedimaster/archive/2009/11/06/1597731.html</guid><description><![CDATA[<p>阅读: 239 评论: 0 作者: <a href="http://www.cnblogs.com/Jedimaster/" target="_blank">Bo Schwarzstein</a> 发表于 2009-11-06 23:22 <a href="http://www.cnblogs.com/Jedimaster/archive/2009/11/06/1597731.html" target="_blank">原文链接</a></p><style type="text/css">

	<!--
		@page { margin: 2cm }
		p { margin-bottom: 0.21cm }
		h1 { margin-bottom: 0.21cm }
		h1.western { font-family: "Arial", sans-serif; font-size: 16pt }
		h1.cjk { font-family: "宋体"; font-size: 16pt }
		h1.ctl { font-family: "Tahoma"; font-size: 16pt }
	-->
	</style><base href="http://jedimaster.cnblogs.com" />  <h1 class="cjk" align="center"><font size="4"></font></h1>  <p> 我们身上向来都存在一种非常恶劣的习气，严以律人宽以待己，而且圣人情节极为严重。二者结合起来，就形成了极为苛刻的理想历史人物模式，总结来说就是，既要才华横溢又要谦虚低调，既要克己奉公又要两袖清风，最好再活个二百岁验证中医道行修为。这其实大概是不可能的。我们许多时候要好好想想，为什么大部分时间都在想着如何依赖别人，为什么往往都从外部挑刺而不看自身的问题。泱泱大国，千年轮回，朝代更替，非莫衷一是，而人格国格于史中活现。最近翻阅史书文献，无意之中独到张居正的《陈六事疏》，百感交集，许多话着实不得不说。</p>  <p> 任何的管理，本质上，都是在一套合理的制度之下，约束每个成员性格人格的阴暗面与缺陷，在保障每个成员的利益基础上，安置合适的职位发挥每人之所长。如果把国家比作公司，我们往往可以发现许多类似的结构，存在不少管理与指导方针可以变通借用。社稷群臣为国家出谋划策宛如管理阶层为企业今后的良好发展寻求各种方案。古人云“<font size="3">祸兮福之所倚，福兮祸之所伏</font>”，又曰“生于忧患而死于安乐”，往往在大家嬉皮笑脸打做一片仿佛四海生平皆大欢喜之时，往往也即孕育未来的灾祸之日。国家灭亡则流民失所生灵涂炭，公司倒闭则员工失业关门滚蛋。二者只有规模之异而存本质之同，皆为组织溃散成员逃窜是也。</p>  <p style="margin-bottom: 0cm"><font face="Times New Roman, serif"><span lang="en-US"></span></font><font face="楷体, monospace"><b>臣闻天下之事，虑之贵详，行之贵力；谋之在众，断之在独。</b></font></p>  <p style="margin-bottom: 0cm"> 有关社稷大业的事情，一定要详虑、力行、众谋、独断。</p>  <p style="margin-bottom: 0cm"> 这其实也提出了一个严格要求的基本的事务处理流程。企业的任何决策，上至投资兼并等高级宏观战略行为，下至新产品设计生产员工调配等微观活动，都最好有周密的部署，详细的论证，执行的意志，以及良好的问责制度。我觉得“独”字在这里不仅仅有“独立”，还有“独一无二”的意思。假如任何执行条例有规有矩，清晰明了，大伙呼啦散开好办事，倘若扭扭捏捏，模棱两可，未置可否，估计除了请客吃饭玩弄风月之外什么事情都干不成。</p>  <p style="margin-bottom: 0cm"><font face="楷体, monospace"><span lang="en-US"><b></b></span></font><font face="楷体, monospace"><b>汉臣中公云：为治不在多言，顾力行何如耳。臣窃见顷年以来，朝廷之间，议论太多，或一事而甲可乙否，或一人而朝由暮拓，或前后不觉背驰，或毁誉自为矛盾。是非淆于唇吻，用舍决于爱憎，政多纷争，事无统纪。</b></font></p>  <p style="margin-bottom: 0cm"> 人人都有一张嘴巴，管理者也有。普通伙计说的都只能算是消遣娱乐，可谋事者可就不能随随便便的评论以及发号施令了。倘若大家一伙人，正事懒得干，却天天跟一堆苍蝇一样聚在一起说这说那，在鸡毛蒜皮的事情上纠缠不休，从黄昏到黎明，注定导致组织运行状态一团糟糕。最为可怕的是，在这个基础上，掌权者满足于视听之娱乐，却耽误了前程大事。</p>  <p style="margin-bottom: 0cm">一个人之所以与别人不同，不仅仅在于此人有多么的聪慧，能做出多少别人做不到的事情，还取决于能克制住多少心理与人格上的缺陷。可惜如今外行指导内行往往大行其道：一套方案大家正在如火如荼的做，某些人（往往是老板）就会时不时的跳出来，要求改动这些改动那些。等到大伙修改得差不多了，这些人又会说原来得方案如何如何要求改回去。肉食者对上不对下，只重效果不重过程，更忽视人心之变异，长此以往溃势可鉴。</p>  <p style="margin-bottom: 0cm"><font face="Times New Roman, serif"><span lang="en-US"><font face="楷体, monospace"><b></b></font></span></font><font face="楷体, monospace"><b>又每见督抚等官，初到地方，即例有条陈一疏，或漫言数事，或更置数官，文藻竞工，览者每为所眩，不曰此人有才，即曰此人任事，其实莅任之始，地方利病，迄今周知，属官贤否，岂能洞察，不过采听于众口耳，读其词藻，虽若烂然，究其指归，茫未有效，比其久也，或并其自言者而忘之矣。</b></font></p>  <p style="margin-bottom: 0cm"> “外来的和尚好念经”是历史性症结，“空投”班智达（源自印度的称号，学识渊博的大学者）往往也是上下级矛盾的关键导火索。事实上，这样的人其实和任人唯亲那样近亲交配的产物从本质上是差不太多的。不仅仅是刚刚空降的伞兵会是个菜鸟，许多在位许久的其实也根本看不清楚限制发展的症结在何处就匆匆忙忙的拉来外援。倘若大部分时间也都是听听别有用心的人胡吹海侃而已的领导者，心血来潮的请来真正的班智达也解决不了任何问题。还有千万不能忘记了，如今这个时代，万金油似的的人物，要么是骗子，本质上也还是骗子。倘若我们能够戒骄戒躁，从基本事务做起，牢记“兼听则明偏信则暗”的教训，本着认真负责的心态，何尝不会发现问题解决问题？</p>  <p style="margin-bottom: 0cm"><font face="Times New Roman, serif"><span lang="en-US"></span></font><font face="楷体, monospace"><b>即如昨年，皇上以虏贼内犯，特敕廷臣，集议防虏之策。当其时，众言迎庭，群策必举；今之将一年矣，其所言者，果尽举行否乎？其所行者，果有实效否乎？又如蓟镇之事，初建议者，回吾云云，当事者，亦曰吾云云，曾无几何，而将不相能，士哗于伍，异论繁与，讹言踵至，于是议罢练兵者，又纷纷矣。</b></font></p>  <p style="margin-bottom: 0cm"> 又回到了第一句话。外敌进犯剑拔弩张，一帮谋士胡乱提问题，其实本质上他们的心态是都不想负责，不如索性来个我搬到你家你搬到我家，大家互相照顾。最后不了了之，老大也根本没有个主义，大家继续醉生梦死夜夜高潮。</p>  <p style="margin-bottom: 0cm"><font face="Times New Roman, serif"><span lang="en-US"></span></font><font face="楷体, monospace"><b>臣窃以为事无全利，亦无全害，人有所长，亦有所短。要在权利害之多寡，酌长短之所宜，委任责成，庶克有济，今始则讨虑未详，既以人言而遂行，终则执守靡定，又以人言而遂止，加之爱恶交攻，意见横出，逸言微中，飞语流传，寻之莫究其端，听者不胜其眩，是以人怀疑贰，动见醻（从言声寿）张，虚旷几时，成功难睹，语曰：多指乱视，多言乱听，此最当今大患也。</b></font></p>  <p style="margin-bottom: 0cm"><font face="Times New Roman, serif"><span lang="en-US"></span></font><font face="楷体, monospace"><b>伏望皇上，自今以后，励精治理，主宰化机，扫无用之虚词，求躬行之实效。欲为一事，须审之于初，务求停当，及计虑已番，即端而行之。如唐宪宗之讨淮蔡，虽百方阻之，而终不为之摇；欲用一人，须慎之于始，务求相应，既得其人，则信而任之，如魏文侯之用乐羊，虽谤书盈箧，而终不为之动。再乞天语，丁咛部院等衙门，今后各宜仰体朝廷省事尚实之意，一切奏章，务从简切，是非可否，明白直陈，毋得彼此推诿，徒托空言，其大小臣工，亦各宜秉公持正，以诚心直道相与，以勉修职业为务，反薄归厚，尚质省文，庶治理可与，而风俗可变也，伏乞圣裁。</b></font> </p>  <p style="margin-bottom: 0cm"> 我觉得，任何规模的管理，都可以认为是让不完美的人尽量去做完美的事情。每个人都可以按照自己的想法创造出一个理想的神话式人物，可是却又无法调和这种冲突而自甘屈服于尚未健全的人格与浸淫至卑鄙的念头之中去。诸如将信将疑，心怀叵测，鸟尽弓藏等等这些历史遗留的恶习气，归根到底，日常生活中许多行为都是对个人道德操守的评判，而这些简单行为的背后往往就能看出端倪。一个只晓得投机取巧的人是不可能拥有根本的智慧，最多是个鹦鹉学舌沽名钓誉之徒。可惜志趣高雅之人往往又会存在相当的出离心以至于眼高手低百无一用，实在是令人扼腕。什么时候逆向淘汰这个基本规律被推翻甚至被缓解，则一切大业皆可成。</p>  <p style="margin-bottom: 0cm"> 末了再来一句，炫目之人往往不能成事，眩目之事往往充满凶险，眩目之道往往是歪理邪说，眩目之言往往是空话连篇——连我与我与我说的每一句话都不会跳出这个范围之外。胡乱调侃一番实属罪过，还请各位海涵。</p><img src="http://www.cnblogs.com/Jedimaster/aggbug/1597731.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/Jedimaster/archive/2009/11/06/1597731.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/Jedimaster/archive/2009/11/06/1597731.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59262/" target="_blank">甲骨文将关闭OpenSSO</a><span style="color:gray">(2010-03-20 23:54)</span><br/>· <a href="http://news.cnblogs.com/n/59261/" target="_blank">专访陈晓薇：九城已重建、我还没想好去哪</a><span style="color:gray">(2010-03-20 22:07)</span><br/>· <a href="http://news.cnblogs.com/n/59260/" target="_blank">[视频]社交媒体不仅仅是一时狂热</a><span style="color:gray">(2010-03-20 21:58)</span><br/>· <a href="http://news.cnblogs.com/n/59259/" target="_blank">Google开出首个1337美刀的Chrome bug奖励支票</a><span style="color:gray">(2010-03-20 21:47)</span><br/>· <a href="http://news.cnblogs.com/n/59258/" target="_blank">著名图像讨论网站4chan创始人披露4chan诞生历史</a><span style="color:gray">(2010-03-20 21:42)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>Fast Poisson Disk Sampling</title><link>http://www.cnblogs.com/Jedimaster/archive/2009/11/03/1595358.html</link><dc:creator>Bo Schwarzstein</dc:creator><author>Bo Schwarzstein</author><pubDate>Tue, 03 Nov 2009 08:49:00 GMT</pubDate><guid>http://www.cnblogs.com/Jedimaster/archive/2009/11/03/1595358.html</guid><description><![CDATA[<p>阅读: 395 评论: 0 作者: <a href="http://www.cnblogs.com/Jedimaster/" target="_blank">Bo Schwarzstein</a> 发表于 2009-11-03 16:49 <a href="http://www.cnblogs.com/Jedimaster/archive/2009/11/03/1595358.html" target="_blank">原文链接</a></p><p><img alt="" src="http://images.cnblogs.com/cnblogs_com/jedimaster/FPDS.png" height="548" width="528" /></p><p>Coarse C++ implementation for "Fast Poisson disk sampling in arbitrary dimensions, R. Bridson, ACM SIGGRAPH 2007 Sketches Program".<br /></p><p>在公司实在闲的蛋疼，于是做了个快速泊松碟采样的实现。<br /></p><div class="cnblogs_code"><img id="Code_Closed_Image_220619" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_220619').style.display='none'; document.getElementById('Code_Open_Image_220619').style.display='inline'; document.getElementById('Code_Open_Text_220619').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" height="16" width="11"><img id="Code_Open_Image_220619" style="display: none;" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_220619').style.display='none'; getElementById('Code_Closed_Image_220619').style.display='inline'; getElementById('Code_Closed_Text_220619').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" height="16" width="11"><span id="Code_Closed_Text_220619" class="cnblogs_code_Collapse">2D FPDS Code</span><span id="Code_Open_Text_220619" style="display: none;"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000;">/*</span><span style="color: #008000;">*<br />&nbsp;*&nbsp;Copyright&nbsp;(c)&nbsp;Bo&nbsp;Zhou&lt;bo.schwarzstein@gmail.com&gt;<br />&nbsp;*&nbsp;An&nbsp;2D&nbsp;implementation&nbsp;of&nbsp;"Fast&nbsp;Poisson&nbsp;Disk&nbsp;Sampling&nbsp;in&nbsp;Arbitrary&nbsp;Dimensions,&nbsp;R.&nbsp;Bridson,&nbsp;ACM&nbsp;SIGGRAPH&nbsp;2007&nbsp;Sketches&nbsp;Program".<br />&nbsp;*&nbsp;Anybody&nbsp;could&nbsp;use&nbsp;this&nbsp;code&nbsp;freely,&nbsp;if&nbsp;you&nbsp;feel&nbsp;it&nbsp;good&nbsp;or&nbsp;helpful,&nbsp;please&nbsp;tell&nbsp;me,&nbsp;thank&nbsp;you&nbsp;very&nbsp;much.<br />&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />&nbsp;<br />#ifndef&nbsp;FPDS_HPP<br /></span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;FPDS_HPP</span><span style="color: #000000;"><br /><br />#ifndef&nbsp;_USE_MATH_DEFINES<br /></span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;_USE_MATH_DEFINES</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">#endif</span><span style="color: #000000;"><br />&nbsp;<br />#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">math.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">time.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">iostream</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">fstream</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">vector</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">map</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">math.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">boost</span><span style="color: #000000;">/</span><span style="color: #000000;">multi_array.hpp</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br /><br /></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Define&nbsp;our&nbsp;basis&nbsp;data&nbsp;structure.</span><span style="color: #008000;"><br /></span><span style="color: #000000;">typedef&nbsp;std::pair</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">,</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;Index2D;<br />typedef&nbsp;std::pair</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">,</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;Point2D;<br /><br /></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Use&nbsp;C&nbsp;standard&nbsp;rand()&nbsp;to&nbsp;get&nbsp;uniform&nbsp;random&nbsp;number&nbsp;in&nbsp;(0,1)</span><span style="color: #008000;"><br /></span><span style="color: #000000;">inline&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;URand()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">float</span><span style="color: #000000;">)rand()&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">float</span><span style="color: #000000;">)RAND_MAX;<br />}<br /><br /></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Calculate&nbsp;distance&nbsp;between&nbsp;2&nbsp;points.</span><span style="color: #008000;"><br /></span><span style="color: #000000;">inline&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;LengthSqrt(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;Point2D</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;X,&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;Point2D</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;Y)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;a&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;X.first&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;Y.first;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;b&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;X.second&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;Y.second;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;sqrtf(&nbsp;a</span><span style="color: #000000;">*</span><span style="color: #000000;">a&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;b</span><span style="color: #000000;">*</span><span style="color: #000000;">b&nbsp;);<br />}<br /><br /></span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;FastPoissonDiskSampling2D(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;r,&nbsp;std::vector</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Point2D</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #000000;">&nbsp;PointList)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;PointList.clear();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;N&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">2</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;SqrtN&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;sqrtf((</span><span style="color: #0000ff;">float</span><span style="color: #000000;">)N);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;R&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;r</span><span style="color: #000000;">*</span><span style="color: #000000;">SqrtN;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;This&nbsp;R&nbsp;should&nbsp;be&nbsp;used&nbsp;to&nbsp;draw&nbsp;circle.</span><span style="color: #008000;"><br /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;RDivSqrtN&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;R&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">&nbsp;SqrtN;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;K&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">30</span><span style="color: #000000;">;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Paper&nbsp;suggested.</span><span style="color: #008000;"><br /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;CellSize&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">float</span><span style="color: #000000;">)N</span><span style="color: #000000;">*</span><span style="color: #000000;">RDivSqrtN;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;GridSize&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">)ceilf(</span><span style="color: #800080;">1.0f</span><span style="color: #000000;">/</span><span style="color: #000000;">CellSize);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;INVALID_IDX&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #800080;">1</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Allocate&nbsp;a&nbsp;grid&nbsp;to&nbsp;accelerate.<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Each&nbsp;cell&nbsp;could&nbsp;have&nbsp;one&nbsp;and&nbsp;only&nbsp;one&nbsp;sampler.</span><span style="color: #008000;"><br /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;boost::multi_array</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">,N</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;Grid(&nbsp;boost::extents[GridSize][GridSize]&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;memset(&nbsp;Grid.data(),&nbsp;INVALID_IDX,&nbsp;</span><span style="color: #0000ff;">sizeof</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">)</span><span style="color: #000000;">*</span><span style="color: #000000;">GridSize</span><span style="color: #000000;">*</span><span style="color: #000000;">GridSize&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;std::vector</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;ActiveList;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;Point2D&nbsp;P0;<br />&nbsp;&nbsp;&nbsp;&nbsp;Index2D&nbsp;I0;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;P0.first&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;URand();<br />&nbsp;&nbsp;&nbsp;&nbsp;P0.second&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;URand();<br />&nbsp;&nbsp;&nbsp;&nbsp;I0.first&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">)floorf(&nbsp;P0.first</span><span style="color: #000000;">*</span><span style="color: #000000;">GridSize&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;I0.second&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">)floorf(&nbsp;P0.second</span><span style="color: #000000;">*</span><span style="color: #000000;">GridSize&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;ActiveList.push_back(</span><span style="color: #800080;">0</span><span style="color: #000000;">);<br />&nbsp;&nbsp;&nbsp;&nbsp;PointList.push_back(P0);<br />&nbsp;&nbsp;&nbsp;&nbsp;Grid[I0.first][I0.second]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;Done&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">1</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(&nbsp;ActiveList.size()&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Initialize&nbsp;a&nbsp;sampler.</span><span style="color: #008000;"><br /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_t&nbsp;MagicIdx&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(size_t)floorf(&nbsp;URand()&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;ActiveList.size()&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_t&nbsp;StartIdx&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;ActiveList[MagicIdx];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Point2D&nbsp;StartPoint&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;PointList[&nbsp;StartIdx&nbsp;];<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;Found&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(&nbsp;size_t&nbsp;i</span><span style="color: #000000;">=</span><span style="color: #800080;">0</span><span style="color: #000000;">;&nbsp;i</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">K;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">i&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Generate&nbsp;point&nbsp;in&nbsp;radius&nbsp;(R,2R)</span><span style="color: #008000;"><br /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;t&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;URand()</span><span style="color: #000000;">*</span><span style="color: #000000;">M_PI</span><span style="color: #000000;">*</span><span style="color: #800080;">2.0</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;r&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;URand()</span><span style="color: #000000;">*</span><span style="color: #000000;">R</span><span style="color: #000000;">+</span><span style="color: #000000;">R;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;X&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;r</span><span style="color: #000000;">*</span><span style="color: #000000;">cosf(&nbsp;t&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;Y&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;r</span><span style="color: #000000;">*</span><span style="color: #000000;">sinf(&nbsp;t&nbsp;);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Move&nbsp;to&nbsp;current&nbsp;center</span><span style="color: #008000;"><br /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Point2D&nbsp;CurrentPoint;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CurrentPoint.first&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;X</span><span style="color: #000000;">+</span><span style="color: #000000;">StartPoint.first;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CurrentPoint.second&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Y</span><span style="color: #000000;">+</span><span style="color: #000000;">StartPoint.second;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Discard&nbsp;if&nbsp;out&nbsp;of&nbsp;domain</span><span style="color: #008000;"><br /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;CurrentPoint.first&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0.0f</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">||</span><span style="color: #000000;">&nbsp;CurrentPoint.first&nbsp;</span><span style="color: #000000;">&gt;=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">1.0f</span><span style="color: #000000;">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">continue</span><span style="color: #000000;">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;CurrentPoint.second&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0.0f</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">||</span><span style="color: #000000;">&nbsp;CurrentPoint.second&nbsp;</span><span style="color: #000000;">&gt;=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">1.0f</span><span style="color: #000000;">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">continue</span><span style="color: #000000;">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Which&nbsp;cell&nbsp;the&nbsp;test&nbsp;point&nbsp;located&nbsp;in</span><span style="color: #008000;"><br /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Index2D&nbsp;TargetCell;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TargetCell.first&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">)floorf(&nbsp;CurrentPoint.first&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">&nbsp;CellSize&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TargetCell.second&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">)floorf(&nbsp;CurrentPoint.second&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">&nbsp;CellSize&nbsp;);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;TargetCell.first&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">||</span><span style="color: #000000;">&nbsp;TargetCell.first&nbsp;</span><span style="color: #000000;">&gt;=</span><span style="color: #000000;">&nbsp;GridSize&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">continue</span><span style="color: #000000;">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;TargetCell.second&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">||</span><span style="color: #000000;">&nbsp;TargetCell.second&nbsp;</span><span style="color: #000000;">&gt;=</span><span style="color: #000000;">&nbsp;GridSize&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">continue</span><span style="color: #000000;">;<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;Grid[TargetCell.first][TargetCell.second]&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;INVALID_IDX&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">continue</span><span style="color: #000000;">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Index2D&nbsp;TCLeft(&nbsp;TargetCell&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Index2D&nbsp;TCRight(&nbsp;TargetCell&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Index2D&nbsp;TCDown(&nbsp;TargetCell&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Index2D&nbsp;TCUp(&nbsp;TargetCell&nbsp;);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Index2D&nbsp;TCLU(&nbsp;TargetCell&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Index2D&nbsp;TCRU(&nbsp;TargetCell&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Index2D&nbsp;TCLD(&nbsp;TargetCell&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Index2D&nbsp;TCRD(&nbsp;TargetCell&nbsp;);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;A&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">,&nbsp;B&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">,&nbsp;C&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">,&nbsp;D&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;E&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">,&nbsp;F&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">,&nbsp;G&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">,&nbsp;H&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TCLeft.first</span><span style="color: #000000;">--</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;TCLeft.first&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #800080;">1</span><span style="color: #000000;">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;Idx2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Grid[TCLeft.first][TCLeft.second];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;Idx2&nbsp;</span><span style="color: #000000;">&gt;=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;LengthSqrt(&nbsp;PointList[Idx2],CurrentPoint&nbsp;)&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;R&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TCRight.first</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;TCRight.first&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;GridSize&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;Idx2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Grid[TCRight.first][TCRight.second];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;Idx2&nbsp;</span><span style="color: #000000;">&gt;=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;LengthSqrt(&nbsp;PointList[Idx2],CurrentPoint&nbsp;)&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;R&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TCDown.second</span><span style="color: #000000;">--</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;TCDown.second&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #800080;">1</span><span style="color: #000000;">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;Idx2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Grid[TCDown.first][TCDown.second];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;Idx2&nbsp;</span><span style="color: #000000;">&gt;=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;LengthSqrt(&nbsp;PointList[Idx2],CurrentPoint&nbsp;)&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;R&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TCUp.second</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;TCUp.second&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;GridSize&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;Idx2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Grid[TCUp.first][TCUp.second];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;Idx2&nbsp;</span><span style="color: #000000;">&gt;=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;LengthSqrt(&nbsp;PointList[Idx2],CurrentPoint&nbsp;)&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;R&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;4&nbsp;Corner<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Left&nbsp;Up</span><span style="color: #008000;"><br /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TCLU.first</span><span style="color: #000000;">--</span><span style="color: #000000;">;TCLU.second</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;TCLU.first&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #800080;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;TCLU.second&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;GridSize&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;Idx2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Grid[TCLU.first][TCLU.second];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;Idx2&nbsp;</span><span style="color: #000000;">&gt;=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;LengthSqrt(&nbsp;PointList[Idx2],CurrentPoint&nbsp;)&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;R&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Right&nbsp;Up</span><span style="color: #008000;"><br /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TCRU.first</span><span style="color: #000000;">++</span><span style="color: #000000;">;TCRU.second</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;TCRU.first&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;GridSize&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;TCRU.second&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;GridSize&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;Idx2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Grid[TCRU.first][TCRU.second];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;Idx2&nbsp;</span><span style="color: #000000;">&gt;=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;LengthSqrt(&nbsp;PointList[Idx2],CurrentPoint&nbsp;)&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;R&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;F&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;F&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;F&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Left&nbsp;Bottom</span><span style="color: #008000;"><br /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TCLD.first</span><span style="color: #000000;">--</span><span style="color: #000000;">;TCLD.second</span><span style="color: #000000;">--</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;TCLD.first&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #800080;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;TCLD.second&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #800080;">1</span><span style="color: #000000;">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;Idx2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Grid[TCLD.first][TCLD.second];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;Idx2&nbsp;</span><span style="color: #000000;">&gt;=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;LengthSqrt(&nbsp;PointList[Idx2],CurrentPoint&nbsp;)&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;R&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;G&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;G&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;G&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Right&nbsp;Bottom</span><span style="color: #008000;"><br /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TCRD.first</span><span style="color: #000000;">++</span><span style="color: #000000;">;TCRD.second</span><span style="color: #000000;">--</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;TCRD.first&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;GridSize&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;TCRD.second&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #800080;">1</span><span style="color: #000000;">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;Idx2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Grid[TCRD.first][TCRD.second];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;Idx2&nbsp;</span><span style="color: #000000;">&gt;=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;LengthSqrt(&nbsp;PointList[Idx2],CurrentPoint&nbsp;)&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;R&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;H&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;H&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;H&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;A</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">B</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">C</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">D</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">E</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">F</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">G</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">H&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Grid[TargetCell.first][TargetCell.second]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Done;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PointList.push_back(CurrentPoint);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ActiveList.push_back(Done);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">Done;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Found&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;We&nbsp;have&nbsp;to&nbsp;remove&nbsp;this&nbsp;test&nbsp;sampler&nbsp;from&nbsp;active&nbsp;list.</span><span style="color: #008000;"><br /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(&nbsp;Found&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;ActiveList.size()&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ActiveList.erase(&nbsp;ActiveList.begin()</span><span style="color: #000000;">+</span><span style="color: #000000;">MagicIdx&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;R;<br />}<br /><br /></span><span style="color: #0000ff;">#endif</span><span style="color: #000000;"><br /></span></span></div><p>&nbsp;</p><img src="http://www.cnblogs.com/Jedimaster/aggbug/1595358.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/Jedimaster/archive/2009/11/03/1595358.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/Jedimaster/archive/2009/11/03/1595358.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59262/" target="_blank">甲骨文将关闭OpenSSO</a><span style="color:gray">(2010-03-20 23:54)</span><br/>· <a href="http://news.cnblogs.com/n/59261/" target="_blank">专访陈晓薇：九城已重建、我还没想好去哪</a><span style="color:gray">(2010-03-20 22:07)</span><br/>· <a href="http://news.cnblogs.com/n/59260/" target="_blank">[视频]社交媒体不仅仅是一时狂热</a><span style="color:gray">(2010-03-20 21:58)</span><br/>· <a href="http://news.cnblogs.com/n/59259/" target="_blank">Google开出首个1337美刀的Chrome bug奖励支票</a><span style="color:gray">(2010-03-20 21:47)</span><br/>· <a href="http://news.cnblogs.com/n/59258/" target="_blank">著名图像讨论网站4chan创始人披露4chan诞生历史</a><span style="color:gray">(2010-03-20 21:42)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>DPR Sphere in Cloud</title><link>http://www.cnblogs.com/Jedimaster/archive/2009/10/31/1593572.html</link><dc:creator>Bo Schwarzstein</dc:creator><author>Bo Schwarzstein</author><pubDate>Sat, 31 Oct 2009 08:55:00 GMT</pubDate><guid>http://www.cnblogs.com/Jedimaster/archive/2009/10/31/1593572.html</guid><description><![CDATA[<p>阅读: 238 评论: 0 作者: <a href="http://www.cnblogs.com/Jedimaster/" target="_blank">Bo Schwarzstein</a> 发表于 2009-10-31 16:55 <a href="http://www.cnblogs.com/Jedimaster/archive/2009/10/31/1593572.html" target="_blank">原文链接</a></p><p><a target="_blank" href="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/DPRSphere_EDDB/PRT.0200_2.jpg"><img style="border: 0px none ; display: inline;" title="PRT.0200" alt="PRT.0200" src="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/DPRSphere_EDDB/PRT.0200_thumb.jpg" border="0" height="484" width="644" /></a> </p>  <p>8291 in Maya,</p>  <p>1024 in each seed,</p>  <p>39s cost,</p><p>E5200@2.5GHz, 2 threads</p><p>No F*ck GPU,<br /></p>  <p>Not very bad,</p>  <p>I think.</p><img src="http://www.cnblogs.com/Jedimaster/aggbug/1593572.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/Jedimaster/archive/2009/10/31/1593572.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/Jedimaster/archive/2009/10/31/1593572.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59262/" target="_blank">甲骨文将关闭OpenSSO</a><span style="color:gray">(2010-03-20 23:54)</span><br/>· <a href="http://news.cnblogs.com/n/59261/" target="_blank">专访陈晓薇：九城已重建、我还没想好去哪</a><span style="color:gray">(2010-03-20 22:07)</span><br/>· <a href="http://news.cnblogs.com/n/59260/" target="_blank">[视频]社交媒体不仅仅是一时狂热</a><span style="color:gray">(2010-03-20 21:58)</span><br/>· <a href="http://news.cnblogs.com/n/59259/" target="_blank">Google开出首个1337美刀的Chrome bug奖励支票</a><span style="color:gray">(2010-03-20 21:47)</span><br/>· <a href="http://news.cnblogs.com/n/59258/" target="_blank">著名图像讨论网站4chan创始人披露4chan诞生历史</a><span style="color:gray">(2010-03-20 21:42)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>Diffusion Particle Resolver</title><link>http://www.cnblogs.com/Jedimaster/archive/2009/10/27/1590995.html</link><dc:creator>Bo Schwarzstein</dc:creator><author>Bo Schwarzstein</author><pubDate>Tue, 27 Oct 2009 14:54:00 GMT</pubDate><guid>http://www.cnblogs.com/Jedimaster/archive/2009/10/27/1590995.html</guid><description><![CDATA[<p>阅读: 271 评论: 1 作者: <a href="http://www.cnblogs.com/Jedimaster/" target="_blank">Bo Schwarzstein</a> 发表于 2009-10-27 22:54 <a href="http://www.cnblogs.com/Jedimaster/archive/2009/10/27/1590995.html" target="_blank">原文链接</a></p><p><a href="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/DiffusionParticleResolver_13ECE/DPR_1_O.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DPR_1_O" border="0" alt="DPR_1_O" src="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/DiffusionParticleResolver_13ECE/DPR_1_O_thumb.png" width="244" height="244" /></a> <a href="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/DiffusionParticleResolver_13ECE/DPR_1_D.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DPR_1_D" border="0" alt="DPR_1_D" src="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/DiffusionParticleResolver_13ECE/DPR_1_D_thumb.png" width="244" height="244" /></a> </p>  <p><a href="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/DiffusionParticleResolver_13ECE/DPR_0_O.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DPR_0_O" border="0" alt="DPR_0_O" src="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/DiffusionParticleResolver_13ECE/DPR_0_O_thumb.png" width="244" height="184" /></a> <a href="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/DiffusionParticleResolver_13ECE/DPR_0_D_1.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DPR_0_D" border="0" alt="DPR_0_D" src="http://images.cnblogs.com/cnblogs_com/Jedimaster/WindowsLiveWriter/DiffusionParticleResolver_13ECE/DPR_0_D_thumb_1.png" width="244" height="184" /></a> </p>  <p>Still trying different interpolation methods, such as Inverse Distance, RBF, Spline etc.</p>  <p>Believe me, in DD’s STORM or Sony imageworks’s SplatQ or 5x5 would not use ANY ET’s technology, just depended on rich experience and smart tricks heavily.</p>  <p>OpenMP enabled, the more CPU core the more faster. CUDA-based solution will be involved soon.</p>  <p>依旧在尝试不同的差值方法，包括反向距离权重、RBF、样条等等。</p>  <p>相信我，无论是DD的STORM还是SONY的SplatQ或者是5x5，它们都不可能是外星科技的产物，它们肯定是丰富制作经验与技巧结合的结果。</p>  <p>目前的是基于OpenMP的多线程（主要是我懒得专门写MT），自动检测多少个核心自动加速。CUDA将在性能测试后引入。</p><img src="http://www.cnblogs.com/Jedimaster/aggbug/1590995.html?type=1" width="1" height="1" alt=""/><p>评论: 1　<a href="http://www.cnblogs.com/Jedimaster/archive/2009/10/27/1590995.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/Jedimaster/archive/2009/10/27/1590995.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59262/" target="_blank">甲骨文将关闭OpenSSO</a><span style="color:gray">(2010-03-20 23:54)</span><br/>· <a href="http://news.cnblogs.com/n/59261/" target="_blank">专访陈晓薇：九城已重建、我还没想好去哪</a><span style="color:gray">(2010-03-20 22:07)</span><br/>· <a href="http://news.cnblogs.com/n/59260/" target="_blank">[视频]社交媒体不仅仅是一时狂热</a><span style="color:gray">(2010-03-20 21:58)</span><br/>· <a href="http://news.cnblogs.com/n/59259/" target="_blank">Google开出首个1337美刀的Chrome bug奖励支票</a><span style="color:gray">(2010-03-20 21:47)</span><br/>· <a href="http://news.cnblogs.com/n/59258/" target="_blank">著名图像讨论网站4chan创始人披露4chan诞生历史</a><span style="color:gray">(2010-03-20 21:42)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item></channel></rss>