﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-王之昊在做计算几何-随笔分类-intricate</title><link>http://www.cppblog.com/Wangzhihao/category/14111.html</link><description>明白自己想做什么，做自己想做的事</description><language>zh-cn</language><lastBuildDate>Fri, 27 Aug 2010 17:56:20 GMT</lastBuildDate><pubDate>Fri, 27 Aug 2010 17:56:20 GMT</pubDate><ttl>60</ttl><item><title>Cover an Arc</title><link>http://www.cppblog.com/Wangzhihao/archive/2010/07/05/119376.html</link><dc:creator>王之昊</dc:creator><author>王之昊</author><pubDate>Mon, 05 Jul 2010 12:19:00 GMT</pubDate><guid>http://www.cppblog.com/Wangzhihao/archive/2010/07/05/119376.html</guid><wfw:comment>http://www.cppblog.com/Wangzhihao/comments/119376.html</wfw:comment><comments>http://www.cppblog.com/Wangzhihao/archive/2010/07/05/119376.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Wangzhihao/comments/commentRss/119376.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Wangzhihao/services/trackbacks/119376.html</trackback:ping><description><![CDATA[<div style="text-align: center;"><span style="font-size: 18pt;"></span><a href="http://acm.pku.edu.cn/JudgeOnline/problem?id=1266"><span style="font-size: 18pt;">Cover an Arc</span></a><br><span style="font-size: 18pt;"></span></div>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 写好计算几何很多时候要养成一个好习惯。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 比如求比浮点数 f 小的最小的整数，认为绝对值差在1e-9的精度内两个浮点数是相同的，首先是看 f 是否就是一个整数， 是则返回 f 。 否则返回 f 的截断。 这时如果直接用 floor( f )，很容易忽视这种情况 如0.9，999，999，999。它和 1 在1e-9精度下是相等的。所以答案应该是1， 而floor(f) = 0;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 又如<a href="http://acm.pku.edu.cn/JudgeOnline/problem?id=1263">Reflections</a> 这道题中的反射，大致是光线从一点射出，射到某个球上，再反射，再射下一个球上，重复，直到不再与球相交。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们假设前一次反射的球为base，再求下一个射到的球的位置时，就不该考虑base，他一定不是我们要求的那个下一个球，但如果不先排除base，我们很容易就算到base是下一个射到的球这样一个错误的答案，这样模棱两可的情况如果能在逻辑上排除，尽量排除。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在这些精度问题上要注意小心，更好的办法就是平时写的时候养成一个好习惯。<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 能逻辑上排除的就不进行浮点数比较，能避免就避免。如果不能避免，一定要加上符号判断函数 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int D(double x ){ return x &lt; -eps ? -1 : x &gt; eps; }<br>  <img src ="http://www.cppblog.com/Wangzhihao/aggbug/119376.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Wangzhihao/" target="_blank">王之昊</a> 2010-07-05 20:19 <a href="http://www.cppblog.com/Wangzhihao/archive/2010/07/05/119376.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>The Return of Carl 正八面体上的最短路</title><link>http://www.cppblog.com/Wangzhihao/archive/2010/06/23/118513.html</link><dc:creator>王之昊</dc:creator><author>王之昊</author><pubDate>Tue, 22 Jun 2010 16:08:00 GMT</pubDate><guid>http://www.cppblog.com/Wangzhihao/archive/2010/06/23/118513.html</guid><wfw:comment>http://www.cppblog.com/Wangzhihao/comments/118513.html</wfw:comment><comments>http://www.cppblog.com/Wangzhihao/archive/2010/06/23/118513.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Wangzhihao/comments/commentRss/118513.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Wangzhihao/services/trackbacks/118513.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 正八面体上的最短路径&nbsp;&nbsp;<a href='http://www.cppblog.com/Wangzhihao/archive/2010/06/23/118513.html'>阅读全文</a><img src ="http://www.cppblog.com/Wangzhihao/aggbug/118513.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Wangzhihao/" target="_blank">王之昊</a> 2010-06-23 00:08 <a href="http://www.cppblog.com/Wangzhihao/archive/2010/06/23/118513.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>