IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

趣题:只用一把带有两条平行边的直尺作图

Matrix67: My Blog 2011-11-06 22:31:45 累计浏览 1,868 次
本机暂存

     在下面的问题中,你不能使用圆规,只能使用直尺作图。不过,你的直尺拥有两条平行边,你可以在作图时同时使用它们。你需要充分利用直尺的这个特点,完成下面几个作图任务。

    1. 作出已知角的角平分线;

           2. 作出已知线段的中点;

           3. 作出已知圆的圆心;

           4. 过已知点作已知直线的平行线。

     假设你的直尺是无限长的。直尺的宽度是固定不变的。直尺不能用来度量长度。

     1. 作出 ∠ABC 的角平分线。

    原图已失效

     如图,我们利用尺子的宽度,把角的两边各自都向内平移一个相同的距离,交点 P 与顶点 B 的连线就是角平分线。

     2. 找出已知线段 AB 的中点。

    原图已失效

     如果 AB 的距离大于尺子宽度的话,很好办,我们把尺子卡在两点之间,用两种不同的方法作出过这两点的平行线。两组平行线交于 C 、 D 两点。容易看出,四边形 ADBC 是一个菱形,那么 CD 和 AB 的交点 M 就是 AB 的中点。事实上,我们不但作出了 AB 的中点,还顺带作出了 AB 的垂直平分线(一会儿会用到)。

     但是,如果 AB 的距离小于尺子的宽度呢?

    原图已失效

     如图,借助尺子的宽,作出 AB 的一条平行线 l 。然后,找出距离 AB 足够近的一点 C ,使得 CA 与 l 的交点 A\' 以及 CB 与 l 的交点 B\' 这两个交点之间的距离超过尺子的宽度。然后,用刚才的方法找出 A\'B\' 的中点 M\' ,连接 CM\' 与 AB 交于点 M ,M 就是 AB 的中点了。

     3. 找出已知圆的中心。我们只需要随便选取两条弦,作出它们各自的垂直平分线,两条垂直平分线的交点就是圆的中心。关键在于,怎样做线段的垂直平分线呢?下面我们就来讨论作出已知线段 AB 的垂直平分线的方法。

    原图已失效

     当线段 AB 的长度大于尺子的宽度时,我们已经有办法作出它的垂直平分线了。如果线段 AB 的长度小于尺子的宽度,那么我们先作出 AB 的中点 M ,然后过 M 任意作一条直线。接着,借助尺子的宽度,把这条直线向左和向右平移相同的距离,与 AB 所在直线交于 A\' 和 B\' 。那么,A\'B\' 的距离就超过了尺子的宽度。作出 A\'B\' 的垂直平分线,它也就是 AB 的垂直平分线了。

     4. 已知直线 l 和直线外一点 P ,过点 P 作出 l 的平行线。

    原图已失效

     我们先在直线 l 上任取一点 Q ,连接 PQ ,并找出 PQ 的中点 M 。然后,借助尺子的宽度,把 PQ 向左和向右平移相同的距离。假设 PQ 左边的平行线与 l 交于点 A ,连接并延长 AM ,与 PQ 右边的平行线交于点 N 。那么 PN 就是 l 的一条平行线。

同分类推荐文章

  1. 对基本有序的序列排序算法 (2026-06-11 17:46:49)
  2. Four Levels Of Customer Understanding (2026-05-22 21:00:00)
  3. 除法的意义 (2026-04-12 20:52:17)

查看更多 算法 文章 →

建议继续学习

  1. 关于memcache分布式一致性hash (累计阅读 11,820)
  2. 淘宝搜索:定向抓取网页技术漫谈 (累计阅读 9,529)
  3. PHP与递归Recursion (累计阅读 9,249)
  4. 你是那10%可以实现二分查找算法的程序员吗? (累计阅读 7,850)
  5. Hacker News 排名算法工作原理 (累计阅读 7,525)
  6. 神秘常量复出!用0x077CB531计算末尾0的个数 (累计阅读 6,561)
  7. geohash:用字符串实现附近地点搜索 (累计阅读 5,141)
  8. 一些有意思的算法代码 (累计阅读 5,152)
  9. 漫话中文分词算法 (累计阅读 4,979)
  10. 用户成长体系漫谈 (累计阅读 4,780)