zoukankan      html  css  js  c++  java
  • 平面分割问题

    直线分割平面:

      n条直线最多将一个平面划分成几个区域这个问题比较简单,当添加第n条直线时,要使结果最大化,那么要让第n条直线与其他n-1条直线都相交。这样就会产生n-1个交点,这n-1个交点将第n条直线分成n段,而每一段都将原有区域划分成两个区域,这样就增加了n个区域。

      推导过程:

        F[n]=F[n-1]+n
            =F[n-2]+(n-1)+n
            =F[n-3]+(n-2)+(n-1)+n
            =1+1+2+3+...+n
            =1+n*(n+1)/2

    折线分割平面:

      由上面直线分割平面的问题推导可以看出,交点数决定了线段数,从而决定了新增的区域数。当添加第n条折线时,为使结果最大化,第n条折线的两边要与之前的n-1条折线的两边相交,交点数为4*(n-1),第n条折线被划分成(2*(n-1)+1)*2段,即4*(n-1)+2段。但是注意的是折线本身那个折角处的两条线段只能增加一个区域。

      推导过程:

        F[n]=F[n-1]+4*(n-1)+2-1
            =F[n-1]+4*(n-1)+1
            =F[n-2]+4*(n-2)+4*(n-1)+2
            =F[1]+4*1+4*2+4*3+...+4*(n-1)+(n-1)
            =2*n*n-n+1

    另外关于封闭曲线分割平面和平面分割平面的相关问题推导可见下面参考链接

    参考自https://www.jianshu.com/p/18ed6a125e82

  • 相关阅读:
    Linux Socket函数close() 与 shutdown()区别
    Android Performance Patterns S01E03
    Android Performance Patterns S01E02
    Android Performance Patterns S01E01
    Java类初始化顺序
    原子性,可见性,有序性
    UML类图
    Linux 五种IO模型
    Linux学习笔记(一)
    线程的生命周期-java
  • 原文地址:https://www.cnblogs.com/friend-A/p/9614041.html
Copyright © 2011-2022 走看看