<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Software Designer</title><subtitle type="text">人的动机分两种：内部动机和外部动机。如果按照内部动机去行动，我们就是自己的主人。如果驱使我们的是外部动机，我们就会被外部因素所左右，成为它的奴隶。</subtitle><id>http://feed.cnblogs.com/blog/u/64866/rss</id><updated>2012-01-08T03:10:27Z</updated><author><name>Junfeng Liu</name><uri>http://www.cnblogs.com/rufi/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/rufi/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/64866/rss"/><entry><id>http://www.cnblogs.com/rufi/archive/2012/01/08/2316307.html</id><title type="text">看《杜十娘》有感：妓女与码农的对比</title><summary type="text">杜十娘这个名字和歌曲听的很耳熟，但一直不知道那个故事的具体内容。昨天看了一边，故事结局的艺术震撼挺强烈的，于是有感而发，有了这篇妓女与码农的对比。妓女码农现实被迫接客。偶尔能碰到自己心仪的男子，绝大多数都是自己不喜欢的男人。被迫接活。偶尔能碰到自己喜欢的项目，绝大多数都是自己不喜欢的不情愿去做的事情。理想找到一个真心相爱的人，拥有爱情，赎身后一起过日子。找到一个赏识自己才能的企业，任由自己发挥，做自认为真正有价值的事情。不但不干预，还给予各方面的支持。出路赎身从良。虽然从良了，依然会被看作是出身低贱，不被尊重，不能被家里的长辈接纳。自由职业。虽然自由了，但身份变成失业游民，没有固定的经济收入，</summary><published>2012-01-08T03:10:00Z</published><updated>2012-01-08T03:10:00Z</updated><author><name>Junfeng Liu</name><uri>http://www.cnblogs.com/rufi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/rufi/archive/2012/01/08/2316307.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/rufi/archive/2012/01/08/2316307.html"/><content type="html">&lt;p&gt;杜十娘这个名字和歌曲听的很耳熟，但一直不知道那个故事的具体内容。昨天看了一边，故事结局的艺术震撼挺强烈的，于是有感而发，有了这篇妓女与码农的对比。&lt;/p&gt;&#xD;
&lt;table style="width: 100%;" border="1" cellspacing="0" cellpadding="3"&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;&#xD;
&lt;td align="center"&gt;妓女&lt;/td&gt;&#xD;
&lt;td align="center"&gt;码农&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td nowrap="nowrap"&gt;现实&lt;/td&gt;&#xD;
&lt;td&gt;被迫接客。偶尔能碰到自己心仪的男子，绝大多数都是自己不喜欢的男人。&lt;/td&gt;&#xD;
&lt;td&gt;被迫接活。偶尔能碰到自己喜欢的项目，绝大多数都是自己不喜欢的不情愿去做的事情。&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;理想&lt;/td&gt;&#xD;
&lt;td&gt;找到一个真心相爱的人，拥有爱情，赎身后一起过日子。&lt;/td&gt;&#xD;
&lt;td&gt;找到一个赏识自己才能的企业，任由自己发挥，做自认为真正有价值的事情。不但不干预，还给予各方面的支持。&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;出路&lt;/td&gt;&#xD;
&lt;td&gt;赎身从良。虽然从良了，依然会被看作是出身低贱，不被尊重，不能被家里的长辈接纳。&lt;/td&gt;&#xD;
&lt;td&gt;&#xD;
&lt;p&gt;自由职业。虽然自由了，但身份变成失业游民，没有固定的经济收入，担着自私的罪名而遭到家人的反对。&amp;nbsp;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;p&gt;杜十娘有个百宝箱，为了维护爱情的纯洁，隐瞒了实情，由此也造成了极其悲剧的结局。我也有个百宝箱，里面是各种创意和对未来产品的设想，但是很难公开出来。有些创意只是最初的想法，很不完整，需要一边做一边完善；有些看似简单平常，做起来很难，也少有人能意识其价值所在；有的创意对整个行业的发展是有利的，但是目前没有盈利模式，或者三到五年内不能盈利，也就没人投资；有些创意如果真的很好，说出来了别人就会拿去做，做出来就有可能获利，对我来说相当于失去了这个创意。另一方面，在初期保密更能激励自己去亲身实践。但是有人去做总比没人做和没人知道要好，以后我会抽时间发表一些出来。&lt;/p&gt;&#xD;
&lt;p&gt;码农是网上一些人自嘲的说法，并不是每个人都这么惨，只是在某种程度上有点；另外也不是每个人都有杜十娘那样的志向，希望每个人都能找到适合自己的生活。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/rufi/aggbug/2316307.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/rufi/archive/2012/01/08/2316307.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/rufi/archive/2012/01/02/2012expectedevents.html</id><title type="text">2012年值得期待的事件</title><summary type="text">先来回顾一下2011年：2011年1月20日Intel推出Sandy Bridge架构的Core-i3和i5。2011年6月29日AMD推出两款四核的台式机版Fusion芯片，A6-3650和A8-3850。2011年2月3日谷歌发布了专用于平板电脑的Android 3.0 Honeycomb系统。2011年10月19日，谷歌和三星联合发布了基于Android 4.0的Galaxy Nexus。2011年3月21日，微软在中国发布IE9的正式版本。苹果iPhone 4S于2011年10月4日发布及10月14日上市。小米手机意外杀出，8月发布10月上市，优点是性价比高，缺点是与三星、苹果、魅族的</summary><published>2012-01-02T14:15:00Z</published><updated>2012-01-02T14:15:00Z</updated><author><name>Junfeng Liu</name><uri>http://www.cnblogs.com/rufi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/rufi/archive/2012/01/02/2012expectedevents.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/rufi/archive/2012/01/02/2012expectedevents.html"/><content type="html">&lt;p&gt;先来回顾一下2011年：&lt;/p&gt;&#xD;
&lt;p&gt;2011年1月20日Intel推出Sandy Bridge架构的Core-i3和i5。&lt;br /&gt;2011年6月29日AMD推出两款四核的台式机版Fusion芯片，A6-3650和A8-3850。&lt;br /&gt;2011年2月3日谷歌发布了专用于平板电脑的Android 3.0 Honeycomb系统。&lt;br /&gt;2011年10月19日，谷歌和三星联合发布了基于Android 4.0的Galaxy Nexus。&lt;br /&gt;2011年3月21日，微软在中国发布IE9的正式版本。&lt;br /&gt;苹果iPhone 4S于2011年10月4日发布及10月14日上市。&lt;br /&gt;小米手机意外杀出，8月发布10月上市，优点是性价比高，缺点是与三星、苹果、魅族的旗舰手机相比有一定差距，期待小米下一部手机的表现。&lt;br /&gt;魅族MX于2011年12月8日发布，2012年1月1日上市。&lt;br /&gt;诺基亚于2011年10月26日发布Lumia800，颠覆性的外观设计和WindowsPone7系统形成与众不同的风格。&lt;br /&gt;由网易运营的暴雪游戏大作《星际争霸II：自由之翼》于3月29日正式开服，7月12日，魔兽世界最新资料片《大地的裂变》正式开启运营。&lt;br /&gt;2011年7月7日，仙剑奇侠传五正式发售，8月19日发布的真人配音包使可玩性大幅提高，但整体剧情过于平庸。&lt;br /&gt;Doom3在2011年11月22日开源。&lt;br /&gt;天宫一号和神舟八号发射并对接成功。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;接下来，2012年值得期待的事件：&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Windows8及IE10正式版发布。&lt;/li&gt;&#xD;
&lt;li&gt;Win8的平板加入到iPad与Android平板的竞争中。&lt;/li&gt;&#xD;
&lt;li&gt;支持USB3.0的设备大量出现。&lt;/li&gt;&#xD;
&lt;li&gt;使用彩色电子纸的触摸屏平板电脑出现。&lt;/li&gt;&#xD;
&lt;li&gt;基于四核ARM芯片的移动设备上市，尤其是Nvidia的Tegra3和三星的Exynos5250。&lt;/li&gt;&#xD;
&lt;li&gt;魅族MX四核版发布及上市。&lt;/li&gt;&#xD;
&lt;li&gt;iPad3发布及上市。&lt;/li&gt;&#xD;
&lt;li&gt;下一代iPhone发布，如果支持4G的LTE网络的话，我猜测名字可能叫iPhone 4G或者iPhone 4GS。&lt;/li&gt;&#xD;
&lt;li&gt;暗黑破坏神3和Doom4上市。&lt;/li&gt;&#xD;
&lt;li&gt;TD-LTE网络商用化。&lt;/li&gt;&#xD;
&lt;li&gt;十八大的召开。&lt;/li&gt;&#xD;
&lt;li&gt;神舟九号十号载人发射。&lt;/li&gt;&#xD;
&lt;li&gt;美国&amp;ldquo;好奇&amp;rdquo;号火星车8月份登陆火星。&lt;/li&gt;&#xD;
&lt;li&gt;北斗卫星导航系统正式运行，精度达到10米。&lt;/li&gt;&#xD;
&lt;li&gt;2012年12月21日&amp;mdash;&amp;mdash;划时代的分界线。&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/rufi/aggbug/2310450.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/rufi/archive/2012/01/02/2012expectedevents.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/rufi/archive/2011/11/18/2254345.html</id><title type="text">[转贴]SCCM 的昨天，今天与明天</title><summary type="text">潘正恺 (Kenneth Pan)是System Center Configuration Manager的掌舵人，负责整个产品团队的发展方向，领导整个产品团队进行产品研发，并协助产品的销售和售后支持工作。圣诞前夕，他来到上海，与上海的SCCM研发团队共同工作，抓住这个难得的机会，我们对他进行了一次专访，从访谈过程中，潘正恺为我们展现了SCCM产品十几年来风风雨雨的历史：问：请问您是何时加入微软的？能不能简要介绍一下您在微软的经历？潘正恺：1992夏天，我还在University of Washington的时候，就以实习生的身份加入微软，当时我的第一个任务就是为当时的SMS 1.0写代码。那</summary><published>2011-11-18T08:38:00Z</published><updated>2011-11-18T08:38:00Z</updated><author><name>Junfeng Liu</name><uri>http://www.cnblogs.com/rufi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/rufi/archive/2011/11/18/2254345.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/rufi/archive/2011/11/18/2254345.html"/><content type="html">&lt;p align="left"&gt;潘正恺 (Kenneth Pan)是System Center Configuration Manager的掌舵人，负责整个产品团队的发展方向，领导整个产品团队进行产品研发，并协助产品的销售和售后支持工作。圣诞前夕，他来到上海，与上海的SCCM研发团队共同工作，抓住这个难得的机会，我们对他进行了一次专访，从访谈过程中，潘正恺为我们展现了SCCM产品十几年来风风雨雨的历史：&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;问：&lt;/strong&gt;请问您是何时加入微软的？能不能简要介绍一下您在微软的经历？&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;潘正恺&lt;/strong&gt;&lt;strong&gt;：&lt;/strong&gt;1992夏天，我还在University of Washington的时候，就以实习生的身份加入微软，当时我的第一个任务就是为当时的SMS 1.0写代码。那时候的SMS还是一个全新的产品，内部代码叫Hermes(即古希腊神话中宙斯和凡世之间传递消息的传令官)。那时候我参与的部分是负责文件压缩解压的功能，以提高不同站点之间传输文件和信息的效率。之后，我逐渐开始接触后台服务端的各种组件。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;当我成为正式员工的时候，那时的SMS团队还只有为数不多的人员。直到现在将近200人的规模，这十几年来，我一直在这个团队中工作，从Developer, 到Lead Developer，Developer Manager，到现在的PUM(Product Unit Manager)，从这份工作中，我得到了无尽的乐趣和成就感。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;问：&lt;/strong&gt;我们知道从1992年开始，Microsoft开始研发SMS 1.0 版本，当时是什么原因促使Microsoft向这个新的领域进军？&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;潘正恺&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;：&lt;/strong&gt;其实在一开始这并不是一个全新的产品，在92年的时候，Windows NT 3.1还未正式发布。为了促进Windows 3.1的销量，当时Windows团队的一位项目经理提出一个新的功能，要让Windows NT能管理域中各台机器的硬件资产，例如硬盘，内存等等，这个功能当时是设计为Windows NT核心功能中的一部分。后来Microsoft的高层看到这个功能之后，敏锐地发现这可能是一个新的机会，完全有可能独立出来单独作为一个产品发售。所以就有当时的SMS 1.0。但是这个产品在初期的时候，也是命运多舛，从1.0版本到2.0版本之间，几乎每半年高层就要有一次讨论，来决定这个产品到底作为一个独立产品还是作为NT的核心功能。但当SMS 2.0发布，产品销售收入达到1亿美金之后，这样的讨论就再也没有举行过。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;问：&lt;/strong&gt;据我所知，我们在SMS 2003发布的时候，销量有了一个突破性的增长，包括现在的SCCM 2007，销量也非常惊人，那您认为这些成功的背后，其核心优势是什么？&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;潘正恺&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;：&lt;/strong&gt;其实销量增长最快的时候，是我们发布SMS 2.0的时候。当时的原因，是由于正遇上了Y2k的危机，很多公司购买了SMS 2.0来解决他们公司内部的Y2K问题，在帮助我们的客户解决千年虫问题方面，SMS 2.0发挥了至关重要的作用，为客户节约了大量的人力物力。而当我们的客户部署了SMS系统之后，他们逐渐发现其实这个软件还有很多非常实用，能解决公司实际问题的功能，这些功能逐渐被客户所接受，应用在企业IT管理中，客户也就此认同SMS这个产品确实能给他们带来价值。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;而说到SMS 2003， 当时最大的原因是其良好的补丁管理功能。2003年，正是各种蠕虫病毒横行的时候，企业的网管经常忙得焦头烂额，帮每一台机器打最新的补丁，而当时WSUS(即Window Software Update Services)尚未推出，唯独SMS 2003提供了在企业内部分发，安装 补丁的功能，所以当时的客户们趋之若鹜，纷纷在企业内部部署SMS。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;到了SCCM 2007，OSD成为最大的亮点，加上更完善的补丁、软件分发管理功能，使2007成为一款非常全面、完善的系统管理软件。&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;问：&lt;/strong&gt;从SMS 推出开始，一直到现在的SCCM 2007，过程中市场占有率的变化情况是怎样的？&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;潘正恺&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;：&lt;/strong&gt;在SMS 2.0的阶段，市场上还没有一个占统治地位的产品，大大小小的各类产品群雄纷争，各自有自己的一席之地，到了SMS 2003，基本上就是几家公司占据了主要的市场份额，像Landesk, Altiris 等都是我们的主要竞争对手。经过这两年的发展，目前的市场占用率情况显示，SCCM 2007 + SMS 2003 的市场份额，已经成为这个市场中的No. 1&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;问：&lt;/strong&gt;我们知道，目前研发团队正紧锣密鼓地开发下一代的SCCM，请问下一代的产品会带给我们哪些激动人心的特性呢？&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;潘正恺&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;：&lt;/strong&gt;下一代产品中，我们将支持全新的面向用户的软件部署分发模式。在以前的版本中，IT管理员都是针对计算机来进行管理，分发软件。而在现在的企业办公环境中，一个员工拥有多台电脑，或在家里办公，以及使用诸如手机这样行动设备来处理邮件的需求已经变得非常普遍，面向用户的软件部署分发模式就此应运而生，以解决企业遇到的这些问题。可以想象，在将来的企业IT管理中，用户为中心的管理方式将逐渐成为主流。&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;问：&lt;/strong&gt;SCCM这个产品从一开始的一个小产品，到现在成为微软企业管理软件中的支柱产品，您觉得一路走来，这个产品的成功秘诀是什么？&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;潘正恺&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;：&lt;/strong&gt;最重要的原因是：我们永远把客户的需求放在第一位，认真倾听客户的需求，设身处地地站在客户立场上，理解他们的需求，以及为什么他们需要这样的功能。客户至上的宗旨，给我们带来的结果是，在每一个版本推出的时候，都成功地掌握了客户最迫切的需求，从SMS 2.0的Y2K，SMS 2003的补丁管理，到SCCM 2007的OSD，无不如此。&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;问：&lt;/strong&gt;那以目前的经济形势形式来看，您觉得对SCCM的市场前景，是好消息还是坏消息？&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;潘正恺&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;：&lt;/strong&gt;有好的一面，也有坏的一面。好的一面是，SCCM最大的目标，就是节约客户IT管理成本，在现在这样的经济形式下，可能会促使更多的客户来部署我们的产品，以更好地削减成本。坏的一面是，客户可能会放慢升级新的操作系统的脚步，从而间接地影响升级换代SCCM新版本的需求。所以综合来看，可能影响不会太大，但这要等我们实际的数据出来以后，才能有一个比较确切的结论。&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;问：&lt;/strong&gt;我们看到在SCCM 2007的时候，产品名字修改了，从SMS到SCCM，当时是出于怎样的考虑来做这个决定的呢？&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;潘正恺&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;: &lt;/strong&gt;这要从System Center这个品牌说起，当时微软内部负责这块业务的副总裁预期，企业IT管理类的软件，年销售量可以到10亿美金，但当时公司内部没人相信这个预测。当时的IT管理类软件，主要就是SMS和MOM，为了促进销量和建立品牌，所以创立了System Center这个品牌，这个举措也是仿效Office的品牌效应。而一旦SMS归到System Center品牌下，再叫System Center System Management Server 就不是特别合适了，所以才会改成现在的名称。现在回过头来看，这块的年销售量已经到了8亿美金，很接近当时的预测了，也可以看出当时这个品牌的树立，对产品所带来的利益和影响。&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;问：&lt;/strong&gt;所以不是因为怕和短信的简称混淆罗？&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;潘正恺&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;:&lt;/strong&gt; 不是不是，我们的产品推出比短信的广泛使用还要早不少。主要还是为了品牌战略的关系。&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;问：&lt;/strong&gt;您在这个产品已经工作了十几年，这段时间内，最令您激动和最令您沮丧的分别是什么时候？&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;潘正恺&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;:&lt;/strong&gt; 基本上大部分的时间都是非常快乐和富有成就感的，最困难的时候是在SMS 2.0的时候，当时质量控制还没有达到今天的水准，整个团队通宵达旦地工作，经历了几个Service Pack，才把质量提高到令人满意的程度。最高峰的时候，上百个测试人员坐在那里手工测试我们的产品，修改Bug。在这之后，我们就逐渐完善了一系列的流程，认识到了自动化测试的必要性，把自动化测试提到非常重要的位置上。&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;问：&lt;/strong&gt;在这么多年的开发过程中，您有没有一些有趣的事情可以和大家分享一下？&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;潘正恺&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;:&lt;/strong&gt; 数据有时候很枯燥，有时候又很有趣，让我们看看以下这些数字：&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;在SMS 1.0发布的时候，我们所有的安装程序，是7张软盘，当时已经是一个非常庞大的软件了。而现在，恐怕一张DVD已经装不下:)&lt;/li&gt;&#xD;
&lt;li&gt;刚刚开始的时候，整个团队就5-6个人，而现在上海和美国两地的团队加起来已经接近200人。&amp;nbsp;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;问：&lt;/strong&gt;我们这个博客主要的来访者都是我们产品在中国市场的客户或者潜在的客户，在采访的最后，您想对他们说些什么？&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;潘正恺&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;:&lt;/strong&gt; 我很高兴能有这样的机会和中国的IT Pro们有这样直接的交流，中国市场对我们的产品来说真的非常重要，从私人角度，作为一个中国人，我也非常希望自己管理的产品能在中国市场蓬勃发展，帮助到中国的企业。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;这里有两点想跟各位交流：其一，SCCM这样的产品，安全性真的非常重要，像IE这样的产品，如果有了漏洞，影响还只是一台机器，而如果系统管理软件有了漏洞，入侵者可以对整个企业的机器为所欲为。因此我们投入了大量的时间，精力，资金在安全性方面。希望各位在将来选择产品的过程中，多重视，比较产品和解决方案的安全性问题。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;其二：SCCM不仅能节省企业成本，更重要的是，它能帮助企业建立一套良好的IT管理模式，业界的一些最佳实践，都在我们的产品中有良好的体现，这对于改善企业IT管理非常有帮助。&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;记者：&lt;/strong&gt;非常感谢Kenneth今天接受我们的采访，希望今后还有更多的机会和Kenneth交流。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;原文网址：&lt;a href="http://blogs.technet.com/b/msdchina/archive/2008/12/29/sccm-kenneth-pan.aspx"&gt;http://blogs.technet.com/b/msdchina/archive/2008/12/29/sccm-kenneth-pan.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/rufi/aggbug/2254345.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/rufi/archive/2011/11/18/2254345.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/rufi/archive/2011/09/02/compilerdesign.html</id><title type="text">编译器的结构框架</title><summary type="text">根据自己多年的学习和思考，画了一个编译器的结构框架图，转载请注明出处。目标代码是机器语言或汇编语言，汇编语言可以通过汇编器生成机器码。汇编语言的定义取决于CPU的体系架构，目前主要有三种：x86/x64, ARM, MIPS。中间代码是虚拟机的机器语言，虚拟机目前主要有四种：CLR, JVM, Parrot, LLVM。CLR用于.Net平台，JVM用于Java语言，这两个是基于栈的虚拟机。Parrot用于脚本语言，比如Perl,Python,Ruby等；LLVM用于C、C++等语言，这两个是基于寄存器的虚拟机。在性能上比较而言，基于寄存器的虚拟机优于基于栈的虚拟机。现在做编译器主要是做前端.</summary><published>2011-09-02T11:28:00Z</published><updated>2011-09-02T11:28:00Z</updated><author><name>Junfeng Liu</name><uri>http://www.cnblogs.com/rufi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/rufi/archive/2011/09/02/compilerdesign.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/rufi/archive/2011/09/02/compilerdesign.html"/><content type="html">&#xD;
&lt;p&gt;根据自己多年的学习和思考，画了一个编译器的结构框架图，转载请注明出处。&lt;/p&gt;&lt;p&gt;&lt;img style="width: 600px; height: 422px;" border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/rufi/Compiler.png" width="600" height="422" /&gt;&lt;/p&gt;&lt;p&gt;目标代码是机器语言或汇编语言，汇编语言可以通过汇编器生成机器码。汇编语言的定义取决于CPU的体系架构，目前主要有三种：x86/x64, ARM, MIPS。&lt;/p&gt;&lt;p&gt;中间代码是虚拟机的机器语言，虚拟机目前主要有四种：CLR, JVM, Parrot, LLVM。CLR用于.Net平台，JVM用于Java语言，这两个是基于栈的虚拟机。Parrot用于脚本语言，比如Perl,Python,Ruby等；LLVM用于C、C++等语言，这两个是基于寄存器的虚拟机。在性能上比较而言，基于寄存器的虚拟机优于基于栈的虚拟机。&lt;/p&gt;&lt;p&gt;现在做编译器主要是做前端，后端有这四种虚拟机和GCC可用，解析器也有很多成熟的算法和工具可用。首要的难点是如何定义编程语言的语法、语义和运行时的内存管理，如何在简单与复杂之间取一个平衡点。&lt;/p&gt;&lt;p&gt;目前在使用的编程语言有很多种，各种语言都有自己的优点和缺点，能不能在一种语言中把大部分优点集合起来，把缺点消除掉？&lt;/p&gt; &#xD;
 &#xD;
&lt;img src="http://www.cnblogs.com/rufi/aggbug/2164110.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/rufi/archive/2011/09/02/compilerdesign.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/rufi/archive/2011/08/26/2154552.html</id><title type="text">三进制数的对称表示法</title><summary type="text">想出三进制数的对称表示法是从一道数学题开始的： “最少需要多少个砝码可以在一台天平上称出从1千克到40千克之间的任何整数千克的重量？”</summary><published>2011-08-26T06:18:00Z</published><updated>2011-08-26T06:18:00Z</updated><author><name>Junfeng Liu</name><uri>http://www.cnblogs.com/rufi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/rufi/archive/2011/08/26/2154552.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/rufi/archive/2011/08/26/2154552.html"/><content type="html">&#xD;
&lt;style type="text/css"&gt;&#xD;
table&#xD;
{&#xD;
border-collapse: collapse;&#xD;
}&#xD;
td&#xD;
{&#xD;
border-style: solid;&#xD;
border-width: 1px;&#xD;
}&#xD;
.fraction&#xD;
{&#xD;
padding: 3px;&#xD;
display: inline-block;&#xD;
text-align: center;&#xD;
line-height: 80%;&#xD;
top: 0.7em;&#xD;
position: relative;&#xD;
}&#xD;
&lt;/style&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&#xD;
三进制数的对称表示法&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;想出三进制数的对称表示法是从一道数学题开始的：&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#8220;最少需要多少个砝码可以在一台天平上称出从1千克到40千克之间的任何整数千克的重量？&amp;#8221;&lt;br /&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/p&gt;&#xD;
&lt;p&gt;先推算出答案是只需要4个砝码，质量为1，3，9，27千克。然后就一直在想为什么这几个数字是3的n次方呢？后来终于想明白了：每个砝码有放左边、不放、放右边三种选项，相当于可以取1，0，-1三种数值，因此问题的本质就是这是一种三进制的计数法。如果只允许砝码在天平的一边放，就会对应为二进制的计数法。&#xD;
&lt;/p&gt;&#xD;
&lt;p&gt;以前学过的三进制数是用0，1，2表示的，用1，0，-1也可以吗？推算一番就会发现果然可以，而且更好用。为了书写方便，用F表示-1，以四位数的三进制数为例，与十进制数的对应关系如下：&lt;/p&gt;&#xD;
&lt;table style="border-width: thin; border-style: double; width: 500px; text-align: center;"&gt;&#xD;
    &lt;tbody&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            三进制数&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            十进制数&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            三进制数&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            十进制数&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td &gt;&#xD;
            0000&#xD;
            &lt;/td&gt;&#xD;
            &lt;td &gt;&#xD;
            0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td &gt;&#xD;
            &lt;/td&gt;&#xD;
            &lt;td &gt;&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            0001&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            000F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -1&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            001F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            2&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            00F1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -2&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            0010&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            3&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            00F0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -3&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            0011&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            4&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            00FF&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -4&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            01FF&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            5&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0F11&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -5&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            01F0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            6&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0F10&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -6&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            01F1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            7&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0F1F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -7&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            010F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            8&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0F01&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -8&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            0100&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            9&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0F00&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -9&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            0101&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            10&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0F0F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -10&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            011F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            11&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0FF1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -11&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            0110&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            12&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0FF0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -12&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            0111&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            13&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0FFF&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -13&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td &gt;&#xD;
            1FFF&#xD;
            &lt;/td&gt;&#xD;
            &lt;td &gt;&#xD;
            14&#xD;
            &lt;/td&gt;&#xD;
            &lt;td &gt;&#xD;
            F111&#xD;
            &lt;/td&gt;&#xD;
            &lt;td &gt;&#xD;
            -14&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1FF0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            15&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F110&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -15&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1FF1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            16&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F11F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -16&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1F0F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            17&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F101&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -17&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1F00&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            18&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F100&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -18&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1F01&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            19&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F10F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -19&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1F1F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            20&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F1F1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -20&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1F10&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            21&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F1F0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -21&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1F11&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            22&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F1FF&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -22&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            10FF&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            23&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F011&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -23&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            10F0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            24&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F010&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -24&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            10F1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            25&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F01F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -25&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            100F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            26&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F001&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -26&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1000&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            27&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F000&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -27&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1001&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            28&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F00F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -28&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            101F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            29&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F0F1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -29&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1010&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            30&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F0F0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -30&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td &gt;&#xD;
            1011&#xD;
            &lt;/td&gt;&#xD;
            &lt;td &gt;&#xD;
            31&#xD;
            &lt;/td&gt;&#xD;
            &lt;td &gt;&#xD;
            F0FF&#xD;
            &lt;/td&gt;&#xD;
            &lt;td &gt;&#xD;
            -31&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            11FF&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            32&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            FF11&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -32&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            11F0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            33&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            FF10&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -33&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            11F1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            34&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            FF1F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -34&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            110F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            35&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            FF01&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -35&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1100&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            36&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            FF00&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -36&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1101&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            37&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            FF0F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -37&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            111F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            38&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            FFF1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -38&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1110&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            39&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            FFF0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -39&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1111&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            40&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            FFFF&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            -40&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
    &lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;p&gt;四位数的三进制数总共可以表示3^4=81个数字。我们看到正数和负数是用统一的规则表示的，而在二进制数中负数需要一种新的规则。三进制代码的一个特点是对称，即相反数的一致性，不存在&amp;#8220;无符号数&amp;#8221;的概念。本以为这是我独创的一种想法，网上一搜发现这种表示法早已有之，叫做对称三进数表示法。&lt;/p&gt;&#xD;
&lt;p&gt;三进制数的小数位也是三进制的，以前面的天平为例，再加入&lt;span &gt;1&lt;br /&gt;&#xD;
&amp;#8212;&lt;br /&gt;&#xD;
3&lt;/span&gt;,&lt;span &gt;1&lt;br /&gt;&#xD;
&amp;#8212;&lt;br /&gt;&#xD;
9&lt;/span&gt;,&lt;span &gt;1&lt;br /&gt;&#xD;
&amp;#8212;&lt;br /&gt;&#xD;
27&lt;/span&gt;千克这三个砝码，就可以把测量精度提高到&lt;span &gt;1&lt;br /&gt;&#xD;
&amp;#8212;&lt;br /&gt;&#xD;
27&lt;/span&gt;千克。&lt;/p&gt;&#xD;
&lt;p&gt;下面看一下对称三进数的计算规则：&lt;/p&gt;&#xD;
&lt;span&gt;加法&lt;/span&gt;&#xD;
&lt;table style="width: 500px; text-align: center;"&gt;&#xD;
    &lt;tbody&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            0+0 = 0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0+1 = 1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0+F = F&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1+0 = 1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            1+1 = 1F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            1+F = 0&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            F+0 = F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F+1 = 0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F+F = F1&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
    &lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;span&gt;减法&lt;/span&gt;&#xD;
&lt;table style="width: 500px; text-align: center;"&gt;&#xD;
    &lt;tbody&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            0-0 = 0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0-1 = -1 = F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0-F = -F = 1&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1-0 = 1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            1-1 = 0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            1-F = 1F&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            F-0 = F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F-1 = F1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F-F = 0&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
    &lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;span&gt;乘法&lt;/span&gt;&#xD;
&lt;table style="width: 500px; text-align: center;"&gt;&#xD;
    &lt;tbody&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            0&amp;#215;0 = 0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0&amp;#215;1 = 0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0&amp;#215;F = 0&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1&amp;#215;0 = 0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            1&amp;#215;1 = 1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            1&amp;#215;F = F&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            F&amp;#215;0 = 0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F&amp;#215;1 = F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F&amp;#215;F = 1&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
    &lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;span&gt;除法&lt;/span&gt;&#xD;
&lt;table style="width: 500px; text-align: center;"&gt;&#xD;
    &lt;tbody&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            0&amp;#247;1 = 0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0&amp;#247;F = 0&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1&amp;#247;1 = 1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            1&amp;#247;F = F&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            F&amp;#247;1 = F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F&amp;#247;F = 1&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
    &lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;p&gt;运算规则就是0，1，-1之间的运算，非常简单。根据这个可以设计一个三进制的算盘，上面一排表示+1，下面一排表示-1，珠算口诀也比十进制的算盘简单很多。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/rufi/三进制算盘.gif" width="614" height="251" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;用正电压、零电压、负电压分别表示1、0、-1，有可能造出三进制的电子计算机。事实上，前苏联在1956年至1965年设计和制造了三进制计算机&amp;#8220;Сетунь&amp;#8221;，1970年又推出了&amp;#8220;Сетунь&#xD;
70&amp;#8221;，定义了三进制字节&amp;#8212;&amp;#8212;&amp;#8220;tryte&amp;#8221;，每个三进制字节由6个三进制位组成，指令集符合三进制逻辑，算术指令允许操作数长为1、2和3字节（三进制），结果长度也扩展到6字节。据说三进制计算机的架构简单、稳定、经济，三进制逻辑电路比二进制逻辑电路速度更快。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="Setun ternary computer." src="http://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA_%D0%A1%D0%B5%D1%82%D1%83%D0%BD%D1%8C.JPG/240px-%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA_%D0%A1%D0%B5%D1%82%D1%83%D0%BD%D1%8C.JPG" width="240" height="167" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在三进制逻辑学中，符号&amp;#8220;1&amp;#8221;代表&amp;#8220;真&amp;#8221;；符号&amp;#8220;-1&amp;#8221;代表&amp;#8220;假&amp;#8221;；符号&amp;#8220;0&amp;#8221;代表&amp;#8220;不知道&amp;#8221;。在一般情况下，我们对问题的看法不是只有&amp;#8220;真&amp;#8221;和&amp;#8220;假&amp;#8221;两种答案，还有一种&amp;#8220;不知道&amp;#8221;，因此三进制逻辑更接近人类大脑的思维方式。显然，这种逻辑表达方式更加适合应用于人工智能。根据哥德尔不完备定理，在相容的公理系统中存在既不能证明也不能否证的命题，也就是说这种类型的命题的逻辑值的确就是不知道。三值逻辑符合更普遍的情况。&lt;/p&gt;&#xD;
&lt;p&gt;对称三进制的逻辑运算规则如下：&lt;/p&gt;&#xD;
&lt;span&gt;或&lt;/span&gt;&#xD;
&lt;table style="width: 500px; text-align: center;"&gt;&#xD;
    &lt;tbody&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            0&amp;#8744;0 = 0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0&amp;#8744;1 = 1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0&amp;#8744;F = 0&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1&amp;#8744;0 = 1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            1&amp;#8744;1 = 1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            1&amp;#8744;F = 1&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            F&amp;#8744;0 = 0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F&amp;#8744;1 = 1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F&amp;#8744;F = F&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
    &lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;span&gt;与&lt;/span&gt;&#xD;
&lt;table style="width: 500px; text-align: center;"&gt;&#xD;
    &lt;tbody&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            0&amp;#8743;0 = 0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0&amp;#8743;1 = 0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            0&amp;#8743;F = F&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            1&amp;#8743;0 = 0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            1&amp;#8743;1 = 1&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            1&amp;#8743;F = F&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            F&amp;#8743;0 = F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F&amp;#8743;1 = F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            F&amp;#8743;F = F&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
    &lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;span&gt;非&lt;/span&gt;&#xD;
&lt;table style="width: 500px; text-align: center;"&gt;&#xD;
    &lt;tbody&gt;&#xD;
        &lt;tr&gt;&#xD;
            &lt;td&gt;&#xD;
            &amp;#172;0 = 0&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            &amp;#172;1 = F&#xD;
            &lt;/td&gt;&#xD;
            &lt;td&gt;&#xD;
            &amp;#172;F = 1&#xD;
            &lt;/td&gt;&#xD;
        &lt;/tr&gt;&#xD;
    &lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;p&gt;SQL使用 NULL 来表示在数据库中缺失数据，SQL语句中的逻辑表达式就是三值逻辑，通常TRUE值作为一种情况处理，FALSE和NULL作为另一种情况处理。&lt;/p&gt;&#xD;
&lt;img src="http://www.cnblogs.com/rufi/aggbug/2154552.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/rufi/archive/2011/08/26/2154552.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/rufi/archive/2011/07/27/Lua.html</id><title type="text">爱上Lua，简单、高效、强大</title><summary type="text">最近用C#做了一个Lua的解释器，发到了CodeProject上面，有源代码，并且在CodeProject这周的Newsletter中位列Most popular new articles。Lua的简单主要是因为动态类型，不需要声明和定义类型；Lua的强大主要是因为支持函数式的编程；高效则是因为语法简单，解释器的实现非常小巧。运行高效，各种解释型语言中Lua的性能最高；编程高效，用很短的代码就能表达相对较多的语义。所以Lua非常适合作为第一门编程语言来学习，建议所有的中学生学习Lua编程语言，最好是学校有这样的课程。Lua和C语言是协同工作的，基础的功能用C来实现，然后在Lua中调用，用Lua</summary><published>2011-07-27T07:33:00Z</published><updated>2011-07-27T07:33:00Z</updated><author><name>Junfeng Liu</name><uri>http://www.cnblogs.com/rufi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/rufi/archive/2011/07/27/Lua.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/rufi/archive/2011/07/27/Lua.html"/><content type="html">&lt;p&gt;最近用C#做了一个Lua的解释器，发到了&lt;a href="http://www.codeproject.com/KB/recipes/LuaInterpreter.aspx" target="_blank"&gt;CodeProject上面，有源代码&lt;/a&gt;，并且在CodeProject这周的Newsletter中位列Most popular new articles。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img height="380" alt="" src="http://images.cnblogs.com/cnblogs_com/rufi/article.PNG" width="793" border="0" longdesc="" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Lua的简单主要是因为动态类型，不需要声明和定义类型；Lua的强大主要是因为支持函数式的编程；高效则是因为语法简单，解释器的实现非常小巧。&lt;/p&gt;&#xD;
&lt;p&gt;运行高效，各种解释型语言中Lua的性能最高；编程高效，用很短的代码就能表达相对较多的语义。&lt;/p&gt;&#xD;
&lt;p&gt;所以Lua非常适合作为第一门编程语言来学习，建议所有的中学生学习Lua编程语言，最好是学校有这样的课程。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Lua和C语言是协同工作的，基础的功能用C来实现，然后在Lua中调用，用Lua来实现较高级的功能。&lt;/p&gt;&#xD;
&lt;p&gt;所以Lua不能取代C语言，我一直在寻找一个既简单又能取代C的语言，目前还没有结果。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/rufi/aggbug/2118443.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/rufi/archive/2011/07/27/Lua.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/rufi/archive/2011/07/17/GraphPlotTips.html</id><title type="text">GraphPlot的几个使用技巧</title><summary type="text">上次介绍了用Lua做的个绘制二元等式或不等式的图像的软件，今天增加了输出图片的功能，下载地址还是原来的。下面介绍几个使用技巧，这也正是这个软件的有趣之处。1. 求余和周期函数利用求余可以将一个图形变为一系列的图形，举几个例子：对直线的截距求余，y=x+d → (y-x)%d=0，例如：(y-x)%20 == 0对直线的倾角求余，y=tgθx → atan(y/x)%θ=0，例如：abs(atan(y/x)%0.2)&amp;lt;0.005对圆的半径求余，sqrt(x^2+y^2)=r → sqrt(x^2+y^2)%r=0, 例如：abs(sqrt(x^2+y^2)%10)&amp;lt;0.1求余是一个周</summary><published>2011-07-17T06:19:00Z</published><updated>2011-07-17T06:19:00Z</updated><author><name>Junfeng Liu</name><uri>http://www.cnblogs.com/rufi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/rufi/archive/2011/07/17/GraphPlotTips.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/rufi/archive/2011/07/17/GraphPlotTips.html"/><content type="html">&lt;p&gt;上次介绍了&lt;a href="http://www.cnblogs.com/rufi/archive/2011/06/28/GraphPlot.html" target="_blank"&gt;&lt;span style="color: #444444;"&gt;用Lua做的个绘制二元等式或不等式的图像的软件&lt;/span&gt;&lt;/a&gt;，今天增加了输出图片的功能，&lt;a href="http://www.uudisc.com/user/liujf/file/4133059" target="_blank"&gt;下载地址&lt;/a&gt;还是原来的。下面介绍几个使用技巧，这也正是这个软件的有趣之处。&lt;/p&gt;&#xD;
&lt;p&gt;1. 求余和周期函数&lt;/p&gt;&#xD;
&lt;p&gt;利用求余可以将一个图形变为一系列的图形，举几个例子：&lt;/p&gt;&#xD;
&lt;p&gt;对直线的截距求余，y=x+d &amp;rarr; (y-x)%d=0，例如：(y-x)%20 == 0&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/rufi/lines.png" alt="" longdesc="" width="403" height="398" border="0" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;对直线的倾角求余，y=tg&amp;theta;x &amp;rarr; atan(y/x)%&amp;theta;=0，例如：abs(atan(y/x)%0.2)&amp;lt;0.005&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/rufi/rays.png" alt="" longdesc="" width="403" height="398" border="0" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;对圆的半径求余，sqrt(x^2+y^2)=r &amp;rarr; sqrt(x^2+y^2)%r=0, 例如：abs(sqrt(x^2+y^2)%10)&amp;lt;0.1&lt;img src="http://images.cnblogs.com/cnblogs_com/rufi/circles.png" alt="" longdesc="" width="403" height="398" border="0" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;求余是一个周期函数，使用其他的周期函数也可以做，比如：abs(cos((x-y)/3)-1)&amp;lt;0.001&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/rufi/period.png" alt="" longdesc="" width="403" height="398" border="0" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;2. 平移和缩放&lt;/p&gt;&#xD;
&lt;p&gt;把f(x,y)=0水平方向平移a，竖直方向平移b后的方程是f(x-a,y-b)=0，缩放则是乘一个因子f(u*x, v*y)=0。&lt;/p&gt;&#xD;
&lt;p&gt;比如：(x/2-25)^2+(y-50)^2&amp;lt;200&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/rufi/ellipse.png" alt="" longdesc="" width="403" height="398" border="0" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;3. 求绝对值，变换正负号，交换x和y&lt;/p&gt;&#xD;
&lt;p&gt;通过求绝对值，变换正负号，可以改变图形的对称性；交换x和y使图形旋转90度。&lt;/p&gt;&#xD;
&lt;p&gt;比如：abs(y+x^2)&amp;lt;0.1 or abs(x+y^2)&amp;lt;0.1&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/rufi/parabola.png" alt="" longdesc="" width="403" height="398" border="0" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;4. 不等式&lt;/p&gt;&#xD;
&lt;p&gt;使用不等号可以画面积，等式对精度要求比较高，画不等式则容易一些。&lt;/p&gt;&#xD;
&lt;p&gt;比如圆和圆环：(x+50)^2+y^2&amp;lt;900 or abs((x-50)^2+y^2-900)&amp;lt;100&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/rufi/ring.png" alt="" longdesc="" width="403" height="398" border="0" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;通常用画很细的圆环作为画圆圈的近似。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;5. 交集、并集、补集&lt;/p&gt;&#xD;
&lt;p&gt;用and求交集，or求并集，not求补集。&lt;/p&gt;&#xD;
&lt;p&gt;例如：((x+40)^2+y^2&amp;lt;900 or x^2+y^2&amp;lt;900) and not((x+40)^2+y^2&amp;lt;900 and x^2+y^2&amp;lt;900)&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/rufi/intersect.png" alt="" longdesc="" width="403" height="398" border="0" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;6. 自定义函数&lt;/p&gt;&#xD;
&lt;p&gt;可以在&lt;span style="color: #800000;"&gt;Favorites.lua&lt;/span&gt;文件中自定义函数，并用在表达式里。&lt;/p&gt;&#xD;
&lt;p&gt;比如定义：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;balls(x,y)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;n&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;pi,&amp;nbsp;pi&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #800080;"&gt;4&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;do&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(x&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;60&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;cos(n))&lt;/span&gt;&lt;span style="color: #000000;"&gt;^&lt;/span&gt;&lt;span style="color: #800080;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;(y&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;60&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;sin(n))&lt;/span&gt;&lt;span style="color: #000000;"&gt;^&lt;/span&gt;&lt;span style="color: #800080;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800080;"&gt;100&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;then&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;end&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;end&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;end&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;绘制表达式：balls(x,y)&lt;br /&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/rufi/balls.png" alt="" longdesc="" width="403" height="398" border="0" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;模拟极坐标，画心形：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; heart(x, y)&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;for&lt;/span&gt; t = &lt;span style="color: #800080;"&gt;0&lt;/span&gt;, &lt;span style="color: #800080;"&gt;2&lt;/span&gt;*pi, pi/&lt;span style="color: #800080;"&gt;40&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;do&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; abs(x-&lt;span style="color: #800080;"&gt;16&lt;/span&gt;*sin(t)^&lt;span style="color: #800080;"&gt;3&lt;/span&gt;)&amp;lt;&lt;span style="color: #800080;"&gt;0.1&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;and&lt;/span&gt; abs(y-&lt;span style="color: #800080;"&gt;13&lt;/span&gt;*cos(t)+&lt;span style="color: #800080;"&gt;5&lt;/span&gt;*cos(&lt;span style="color: #800080;"&gt;2&lt;/span&gt;*t)+&lt;span style="color: #800080;"&gt;2&lt;/span&gt;*cos(&lt;span style="color: #800080;"&gt;3&lt;/span&gt;*t)+cos(&lt;span style="color: #800080;"&gt;4&lt;/span&gt;*t))&amp;lt;&lt;span style="color: #800080;"&gt;0.1&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;then&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;end&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;end&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;end&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;Favorite目录中加入{leafname = "heart", tip = "heart(x, y)", config = {Xmin=-20, Xmax=20, Ymin=-20,Ymax=20,Split=4}}&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2011/106500/2011111118371323.gif" alt="" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;通过灵活地组合应用这些技巧，就可以画各种想要的图形。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/rufi/aggbug/2108700.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/rufi/archive/2011/07/17/GraphPlotTips.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/rufi/archive/2011/07/02/2096184.html</id><title type="text">新买的电纸书</title><summary type="text">一直在等汉王的E920，彩色电子纸+触摸屏，可惜啊就是不上市，只好买黑白的了。看PDF和漫画一定要9.7寸的屏幕，6寸屏是不能代替纸质书的，9.7寸则可以，于是买了欣博阅G10.功能挺多，主要用到的也就是看书，大部分格式都支持，就是反应速度稍有点慢。</summary><published>2011-07-02T03:30:00Z</published><updated>2011-07-02T03:30:00Z</updated><author><name>Junfeng Liu</name><uri>http://www.cnblogs.com/rufi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/rufi/archive/2011/07/02/2096184.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/rufi/archive/2011/07/02/2096184.html"/><content type="html">&lt;p&gt;一直在等汉王的&lt;a href="http://product.pconline.com.cn/ebook/hanwang/441734.html" target="_blank"&gt;E920&lt;/a&gt;，彩色电子纸+触摸屏，可惜啊就是不上市，只好买黑白的了。&lt;/p&gt;&#xD;
&lt;p&gt;看PDF和漫画一定要9.7寸的屏幕，6寸屏是不能代替纸质书的，9.7寸则可以，于是买了欣博阅G10.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img style="width: 620px; height: 466px" border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/rufi/P1060389.JPG" width="620" height="466" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img style="width: 620px; height: 466px" border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/rufi/P1060390.JPG" width="620" height="466" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;功能挺多，主要用到的也就是看书，大部分格式都支持，就是反应速度稍有点慢。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/rufi/aggbug/2096184.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/rufi/archive/2011/07/02/2096184.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/rufi/archive/2011/06/28/GraphPlot.html</id><title type="text">用Lua做了个绘制二元等式或不等式的图像的软件</title><summary type="text">输入任意的包含x和y两个变量的Lua表达式就可以绘制出对应的图像。Lua支持的运算符如下：算术+ - * / % ^比较== ~= &amp;lt; &amp;gt; &amp;lt;= &amp;gt;=逻辑and or not其中%是求余，^是乘方；需要注意的是相等用==，写=则报语法错误。Lua预定义的数学函数参见Reference Manual的mathlib。软件界面如下：绘图的算法很简单，遍历每一个像素点，如果对应的坐标区域满足表达式给出的条件就给这个像素着色。需要特别说明的是Pixel Split的含义，每个像素点并不是对应一对坐标值，而是对应一个矩形区域，因此对于某些函数需要做细分才能画准确一点。比如输入8表</summary><published>2011-06-27T16:04:00Z</published><updated>2011-06-27T16:04:00Z</updated><author><name>Junfeng Liu</name><uri>http://www.cnblogs.com/rufi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/rufi/archive/2011/06/28/GraphPlot.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/rufi/archive/2011/06/28/GraphPlot.html"/><content type="html">&lt;p&gt;输入任意的包含x和y两个变量的Lua表达式就可以绘制出对应的图像。Lua支持的运算符如下：&lt;/p&gt;&#xD;
&lt;table border="1"&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;算术&lt;/td&gt;&#xD;
&lt;td&gt;+ - * / % ^&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;比较&lt;/td&gt;&#xD;
&lt;td&gt;== ~= &amp;lt; &amp;gt; &amp;lt;= &amp;gt;=&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;逻辑&lt;/td&gt;&#xD;
&lt;td&gt;and or not&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&#xD;
&lt;p&gt;其中%是求余，^是乘方；需要注意的是相等用==，写=则报语法错误。&amp;nbsp;Lua预定义的数学函数参见&lt;a title="Mathematical Functions" href="http://www.lua.org/manual/5.1/manual.html#5.6" target="_blank"&gt;Reference Manual的mathlib&lt;/a&gt;。软件界面如下：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/rufi/GraphPlot1.png" width="578" height="462" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;绘图的算法很简单，遍历每一个像素点，如果对应的坐标区域满足表达式给出的条件就给这个像素着色。&lt;/p&gt;&#xD;
&lt;p&gt;需要特别说明的是Pixel Split的含义，每个像素点并不是对应一对坐标值，而是对应一个矩形区域，因此对于某些函数需要做细分才能画准确一点。比如输入8表示细分为8x8=64个网格点，只要有一个格点满足表达式给出的条件就给像素着色。细分的数字越大所需的计算量也就越大，建议取1到50之间的数字。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在表达式中使用逻辑运算符可以将一些图形组合起来显示，比如：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/rufi/GraphPlot2.png" width="578" height="462" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;画布的大小和一些参数的默认值可以在配置文件中修改，配置文件中还包括了收藏夹的定义，预置一些比较有趣的表达式，文件名是Favorites.lua，可以用记事本编辑，然后重新打开程序生效。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;做这个软件的想法是看了《&lt;a href="http://news.cnblogs.com/n/106212/" target="_blank"&gt;几个令人惊叹的函数图像&lt;/a&gt;》一文，文中提到作图软件&lt;a href="http://www.peda.com/grafeq/" target="_blank"&gt;GrafEq&lt;/a&gt;比较古老，很多系统不兼容了。另外最近正在学Lua，正好实践一下。而且用Lua很适合，提供了以下几个便利：&lt;/p&gt;&#xD;
&lt;p&gt;1. 可以把用户输入的表达式文本转化为一个函数：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;expr&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iup.GetDialogChild(dlg,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;exprtext&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).value&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;func,&amp;nbsp;err&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;loadstring&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;return&amp;nbsp;function&amp;nbsp;(x,y)&amp;nbsp;return&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;..&amp;nbsp;expr..&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;nbsp;end&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;func&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #0000ff"&gt;nil&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;then&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iup.Message(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Error&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Expression&amp;nbsp;has&amp;nbsp;syntax&amp;nbsp;errors:\r\n&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;..err)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;equation&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;func()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;2. 一句话就能载入配置文件：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #ff00ff"&gt;dofile&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Favorites.lua&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;3. 配置文件本身是一个合法的Lua程序，因而用户可以在里面自定义一些函数。&lt;/p&gt;&#xD;
&lt;p&gt;比如这个图用到了自定义的belongto函数：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;between(x,&amp;nbsp;minValue,&amp;nbsp;maxValue)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;minValue&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;and&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;maxValue&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;belongto(x,&amp;nbsp;ranges)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_,range&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;in&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;ipairs&lt;/span&gt;&lt;span style="color: #000000"&gt;(ranges)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;do&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;between(x,&amp;nbsp;range[&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;],&amp;nbsp;range[&lt;/span&gt;&lt;span style="color: #800080"&gt;2&lt;/span&gt;&lt;span style="color: #000000"&gt;])&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;then&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;表达式为：belongto(sin(sqrt((x+5)^2+y^2))*cos(8*atan(y/(x+5)))*sin(sqrt((x-5)^2+(y-5)^2))*cos(8*atan((y-5)/(x-5)))*sin(sqrt(x^2+(y+5)^2))*cos(8*atan((y+5)/x)), {{-0.1,0},{0.2,math.huge}})&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/rufi/GraphPlot4.png" width="578" height="462" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;这个软件有两种玩法：一是输入表达式观察对应的图形，二是预想一个图案，然后设计表达式生成想要的图形。&lt;/p&gt;&#xD;
&lt;p&gt;就实用性而言，一是对学数学的中学生会很有用，二是生成的图案可以用于其他的平面或3D绘图软件。&lt;/p&gt;&#xD;
&lt;p&gt;可以设定画布的背景色和画笔的颜色，目前没做保存图片的功能，只能抓图。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/rufi/GraphPlot3.png" width="578" height="462" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;下面是程序的源代码，只有204行：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('0d692a81-0a01-43ee-8215-7aa546a67dff')"&gt;&lt;img style="display: none" id="code_img_opened_0d692a81-0a01-43ee-8215-7aa546a67dff"  onclick="cnblogs_code_hide('0d692a81-0a01-43ee-8215-7aa546a67dff',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt;&#xD;
&lt;div id="cnblogs_code_open_0d692a81-0a01-43ee-8215-7aa546a67dff" &gt;&#xD;
&lt;div&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;GraphPlot.wlua&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;Plot&amp;nbsp;any&amp;nbsp;Lua&amp;nbsp;expression&amp;nbsp;in&amp;nbsp;two&amp;nbsp;variables&amp;nbsp;x&amp;nbsp;and&amp;nbsp;y&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;Junfeng&amp;nbsp;Liu&amp;nbsp;@&amp;nbsp;2011-06-27&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;require&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;cdlua&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;require&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;iuplua&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;require&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;iupluacd&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;setmetatable&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #008080"&gt;_G&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;{&amp;nbsp;__index&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;math&amp;nbsp;})&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;e&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;exp(&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;Load&amp;nbsp;Config&amp;nbsp;and&amp;nbsp;Favorites&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;dofile&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Favorites.lua&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;pixels&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;{}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;,Config.Height&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;do&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;pixels[r]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;{}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;c&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;,Config.Width&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;do&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pixels[r][c]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;22&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;cnv&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iup.canvas{&amp;nbsp;rastersize&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;string.format&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;%dx%d&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;Config.Width,&amp;nbsp;Config.Height)&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;23&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;treeFavorite&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iup.tree{&amp;nbsp;size&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;100x100&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;24&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;25&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;canvasColor&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;cd.EncodeColor(&lt;/span&gt;&lt;span style="color: #800080"&gt;255&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #800080"&gt;255&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #800080"&gt;255&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;26&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;penColor&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;cd.EncodeColor(&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;27&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;28&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;selectColor(self)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;29&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;r,g,b&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iup.GetColor(iup.CENTER,iup.CENTER)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;30&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;self.bgcolor&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;string.format&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;%d&amp;nbsp;%d&amp;nbsp;%d&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,r,g,b)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;31&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;self.name&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;btnPen&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;then&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;penColor&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;cd.EncodeColor(r,g,b)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;32&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;canvasColor&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;cd.EncodeColor(r,g,b)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;33&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;34&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;35&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;dlg&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iup.dialog&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;36&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;37&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Plot&amp;nbsp;graphs&amp;nbsp;of&amp;nbsp;equations&amp;nbsp;and&amp;nbsp;inequalities&amp;nbsp;in&amp;nbsp;two&amp;nbsp;vairables&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;38&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resize&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;NO&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;39&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;minbox&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;NO&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;40&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.hbox&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;41&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;42&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.vbox&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;43&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;44&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.frame&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;45&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;46&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Color&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;47&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.hbox&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;48&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;49&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.label{title&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;nbsp;Canvas:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;50&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.button{&amp;nbsp;name&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;btnCanvas&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;size&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;22x10&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;bgcolor&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;255&amp;nbsp;255&amp;nbsp;255&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;flat&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;YES&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;action&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;selectColor},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;51&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.label{title&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;nbsp;Pen:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;52&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.button{&amp;nbsp;name&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;btnPen&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;size&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;22x10&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;bgcolor&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;0&amp;nbsp;0&amp;nbsp;0&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;flat&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;YES&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;action&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;selectColor},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;53&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alignment&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ACENTER&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;54&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;55&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;56&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.frame&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;57&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;58&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Range&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;59&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.vbox&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;60&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;61&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.hbox&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;62&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;63&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.label{title&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;X:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;64&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.text{&amp;nbsp;name&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;txtXMin&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;size&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;38x10&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;value&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Config.Xmin},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;65&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.label{title&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;nbsp;~&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;66&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.text{&amp;nbsp;name&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;txtXMax&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;size&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;38x10&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;value&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Config.Xmax}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;67&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;68&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.hbox&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;69&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;70&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.label{title&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Y:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;71&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.text{&amp;nbsp;name&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;txtYMin&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;size&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;38x10&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;value&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Config.Ymin},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;72&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.label{title&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;nbsp;~&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;73&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.text{&amp;nbsp;name&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;txtYMax&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;size&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;38x10&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;value&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Config.Ymax}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;74&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;75&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;76&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;77&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.hbox&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;78&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;79&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.label{&amp;nbsp;title&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Pixel&amp;nbsp;Split:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;80&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.text{&amp;nbsp;name&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;txtSplit&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;value&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Config.Split},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;81&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alignment&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ACENTER&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;82&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;83&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;treeFavorite,&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;84&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;margin&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;2x2&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;85&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;86&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.vbox&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;87&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;88&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.hbox&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;89&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;90&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.label{title&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Expression:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;91&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.text{&amp;nbsp;name&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;exprtext&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;rastersize&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(Config.Width&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #800080"&gt;120&lt;/span&gt;&lt;span style="color: #000000"&gt;)..&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;x22&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;value&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;abs(x&amp;nbsp;-&amp;nbsp;y)&amp;nbsp;%&amp;nbsp;20&amp;nbsp;&amp;lt;&amp;nbsp;0.0001&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;92&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.button{title&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Plot&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;size&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;34x12&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;action&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;()&amp;nbsp;plotExpression()&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;93&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alignment&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ACENTER&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;94&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;95&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cnv,&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;96&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;margin&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;2x2&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;97&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;98&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;99&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;100&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;101&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;getNumber(name)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;102&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;tonumber&lt;/span&gt;&lt;span style="color: #000000"&gt;(iup.GetDialogChild(dlg,&amp;nbsp;name).value)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;103&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;104&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;105&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;setTextValue(name,&amp;nbsp;value)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;106&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.GetDialogChild(dlg,&amp;nbsp;name).value&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;value&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;107&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;108&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;109&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;plotExpression()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;110&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;expr&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iup.GetDialogChild(dlg,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;exprtext&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).value&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;111&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;func,&amp;nbsp;err&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;loadstring&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;return&amp;nbsp;function&amp;nbsp;(x,y)&amp;nbsp;return&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;..&amp;nbsp;expr..&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;nbsp;end&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;112&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;func&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #0000ff"&gt;nil&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;then&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iup.Message(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Error&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Expression&amp;nbsp;has&amp;nbsp;syntax&amp;nbsp;errors:\r\n&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;..err)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;113&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;equation&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;func()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;114&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;drawing&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;115&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iup.Redraw(cnv,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;116&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;117&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;118&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;cnv:map_cb()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;119&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;canvas&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;cd.CreateCanvas(cd.IUP,&amp;nbsp;self)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;120&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;121&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;122&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;drawing&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;123&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;cnv:action()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;124&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;canvas:Activate()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;125&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;canvas:Background(canvasColor)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;126&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;canvas:Clear()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;127&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;width&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Config.Width&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;128&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;height&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Config.Height&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;129&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;drawing&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;then&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;130&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;height,&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;do&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;131&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;c&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;,width&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;do&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;132&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;pixels[r][c]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;then&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;133&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;canvas:Pixel(c,&amp;nbsp;r,&amp;nbsp;penColor)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;134&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;135&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;136&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;137&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;138&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;139&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;140&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;dlg.active&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;NO&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;141&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;xMin&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;getNumber(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;txtXMin&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;142&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;xMax&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;getNumber(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;txtXMax&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;143&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;yMin&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;getNumber(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;txtYMin&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;144&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;yMax&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;getNumber(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;txtYMax&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;145&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;split&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;getNumber(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;txtSplit&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;146&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DX&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(xMax&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;xMin)&lt;/span&gt;&lt;span style="color: #000000"&gt;/&lt;/span&gt;&lt;span style="color: #000000"&gt;width&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;147&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DY&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(yMax&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;yMin)&lt;/span&gt;&lt;span style="color: #000000"&gt;/&lt;/span&gt;&lt;span style="color: #000000"&gt;height&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;148&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;dx&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DX&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;/&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;split&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;149&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;dy&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DY&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;/&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;split&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;150&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;xMin&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;151&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;yMax&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;152&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;height,&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;do&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;153&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;c&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;,width&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;do&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;154&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;fill&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;isSolution(x,y,dx,dy,split)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;155&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pixels[r][c]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;fill&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;156&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;fill&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;then&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;157&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;canvas:Pixel(c,&amp;nbsp;r,&amp;nbsp;penColor)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;158&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;159&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DX&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;160&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;161&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;xMin&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;162&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DY&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;163&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;164&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;drawing&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;165&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;dlg.active&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;YES&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;166&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;167&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;168&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;isSolution(x0,y0,dx,dy,split)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;169&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x0&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;170&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;local&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;y0&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;171&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;,split&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;do&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;172&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;j&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;,split&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;do&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;173&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;equation(x,&amp;nbsp;y)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;then&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;174&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;dx&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;175&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;176&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x0&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;177&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;y&amp;nbsp;-&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;dy&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;178&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;179&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;180&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;181&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;182&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;treeFavorite:selection_cb(id,&amp;nbsp;status)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;183&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;status&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;then&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;184&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;node&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Favorites[id]&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;185&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setTextValue(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;exprtext&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;node.tip)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;186&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;node.config&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;~=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;nil&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;then&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;187&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setTextValue(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;txtXMin&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;node.config.Xmin)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;188&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setTextValue(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;txtXMax&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;node.config.Xmax)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;189&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setTextValue(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;txtYMin&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;node.config.Ymin)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;190&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setTextValue(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;txtYMax&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;node.config.Ymax)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;191&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setTextValue(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;txtSplit&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;node.config.Split)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;192&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;193&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;194&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;195&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;196&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;dlg:close_cb()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;197&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;canvas:Kill()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;198&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;self:destroy()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;199&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;iup.IGNORE&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;200&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;end&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;201&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;202&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;dlg:show()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;203&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;iup.TreeAddNodes(treeFavorite,&amp;nbsp;Favorites)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;204&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;iup.MainLoop()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;最后程序用wsrlua工具做了打包，不需要安装Lua环境就能运行，由于是GUI程序需要msvcr100.dll，没有的话另外下载。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.uudisc.com/user/liujf/file/4133059" target="_blank"&gt;下载地址1&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://u.115.com/file/bhaut2yo" target="_blank"&gt;下载地址2&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/rufi/aggbug/2091777.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/rufi/archive/2011/06/28/GraphPlot.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/rufi/archive/2011/06/07/StackAndHeap.html</id><title type="text">栈与堆的区别</title><summary type="text">关于内存的使用，栈(stack)和堆(heap)是非常重要的两个概念，网上讲解的资料也比较多，大家也应该知道栈和堆分别的用途是什么，接下来说一下我对栈与堆的本质区别的理解。每个程序在运行时系统都会分配一块叫做栈的连续的内存区域，大小一般为1M或2M，是编译程序时指定的常数。堆则是系统中所有空闲的内存区域，因此是不连续的，而且有可能是虚拟内存。函数的调用和返回是通过栈来实现的，不细说了。程序中用到的变量(对象)所占据的内存空间既可以从栈上分配，也可以从堆中分配，区别如下：1. 内存指针的性质不同栈上面只能分配长度较小、大小固定的数据，变量的内存地址相对于栈指针的偏移量在编译时就可以确定，因而可.</summary><published>2011-06-07T11:33:00Z</published><updated>2011-06-07T11:33:00Z</updated><author><name>Junfeng Liu</name><uri>http://www.cnblogs.com/rufi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/rufi/archive/2011/06/07/StackAndHeap.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/rufi/archive/2011/06/07/StackAndHeap.html"/><content type="html">&#xD;
&lt;p&gt;关于内存的使用，栈(stack)和堆(heap)是非常重要的两个概念，网上讲解的资料也比较多，大家也应该知道栈和堆分别的用途是什么，接下来说一下我对栈与堆的本质区别的理解。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;每个程序在运行时系统都会分配一块叫做栈的连续的内存区域，大小一般为1M或2M，是编译程序时指定的常数。堆则是系统中所有空闲的内存区域，因此是不连续的，而且有可能是虚拟内存。函数的调用和返回是通过栈来实现的，不细说了。程序中用到的变量(对象)所占据的内存空间既可以从栈上分配，也可以从堆中分配，区别如下：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;1. 内存指针的性质不同&lt;/p&gt;&lt;p&gt;栈上面只能分配长度较小、大小固定的数据，变量的内存地址相对于栈指针的偏移量在编译时就可以确定，因而可以生成直接的内存访问的指令。&lt;/p&gt;&lt;p&gt;堆上面分配的空间大小在运行时指定，并且返回的内存地址只能在运行时得知，因此栈上需要有一个相应的变量来保存堆上分配的内存地址，地址的长度为32位或64位。于是访问堆上的内存单元只能通过间接访问的指令来操作。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;2. 内存空间的回收方式不同&lt;/p&gt;&lt;p&gt;栈上面分配的内存在压栈和出栈的过程中自动分配自动回收，速度很快。&lt;/p&gt;&lt;p&gt;堆上面分配的内存则需要显式地释放掉或者做垃圾回收的处理，有可能会漏掉释放，造成所谓的内存泄漏。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;理解栈和堆的概念对于编写正确的高效的程序非常重要，但是程序语言的语法对栈和堆的体现很隐晦。C++创建一个类的实例时，既可以指定在栈上分配，也可以指定在堆上分配。C#中值类型的变量在栈上分配，引用类型的变量在堆上分配，值类型的变量也可以通过装箱的方式在堆上分配，在unsafe代码中可以在栈上分配大小固定的字节数组，总的来说没有C++灵活。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;最后做一个练习，思考一下下面的程序在运行中内存是怎样分配的：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;struct&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;A&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;field;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;list&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;List&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;B&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;field;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;A&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;list&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;List&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;A&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;P&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;main(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;[]&amp;nbsp;args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;A&amp;nbsp;a&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;A();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;B&amp;nbsp;b&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;B();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.Write(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;{0}&amp;nbsp;and&amp;nbsp;{1}&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;,&amp;nbsp;a,&amp;nbsp;b);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt; &#xD;
&lt;img src="http://www.cnblogs.com/rufi/aggbug/2074569.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/rufi/archive/2011/06/07/StackAndHeap.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
