赛昆方法是将一个20×20的区域分割成0.1×0.1的grids,再验证每个grids是否满足所给出的4个限制条件。
赛昆方法可以稍作改进,只是找出那些边界点的坐标。不妨以一个内点作为中心点,沿着这个内点的某个方向求出到各个限制条件的距离,取这些距离的最小值就是到边界的距离。
这就不用计算许许多多的grids了,而且也无须给出一个足够大的限定区域(20×20),计算速度和精度都会大大提高。
这些边界点的坐标都求出后,周长和面积就都能计算出来了。
我的算法是基于我以前曾经给出的计算Star Convex Set的体积和边界面积的积分公式:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghGtVkBg7pESkoP8FovqlGTAgnRMi5mAvkRMcRj3Et_IYTK3c5bx_9Hrcm3OBQi0Vw0E66mm-Go1kgzw7a8P6rKwOxKy7RutHgXa8zyJJgKuNK-rotoTWhk9CWWv9E7qlMPIbAuWhFjHx87KrAMdF0hjjAJM_wNJ_uUA39fcDFItvRn4uCBedYx1M9hw/s1600/%E8%AE%A1%E7%AE%97%E4%BD%93%E7%A7%AF%E5%92%8C%E9%9D%A2%E7%A7%AF%E7%9A%84%E4%B8%80%E8%88%AC%E5%85%AC%E5%BC%8F.png)
赛昆方法可以稍作改进,只是找出那些边界点的坐标。不妨以一个内点作为中心点,沿着这个内点的某个方向求出到各个限制条件的距离,取这些距离的最小值就是到边界的距离。
这就不用计算许许多多的grids了,而且也无须给出一个足够大的限定区域(20×20),计算速度和精度都会大大提高。
这些边界点的坐标都求出后,周长和面积就都能计算出来了。
我的算法是基于我以前曾经给出的计算Star Convex Set的体积和边界面积的积分公式:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghGtVkBg7pESkoP8FovqlGTAgnRMi5mAvkRMcRj3Et_IYTK3c5bx_9Hrcm3OBQi0Vw0E66mm-Go1kgzw7a8P6rKwOxKy7RutHgXa8zyJJgKuNK-rotoTWhk9CWWv9E7qlMPIbAuWhFjHx87KrAMdF0hjjAJM_wNJ_uUA39fcDFItvRn4uCBedYx1M9hw/s1600/%E8%AE%A1%E7%AE%97%E4%BD%93%E7%A7%AF%E5%92%8C%E9%9D%A2%E7%A7%AF%E7%9A%84%E4%B8%80%E8%88%AC%E5%85%AC%E5%BC%8F.png)
锟斤拷锟洁辑时锟斤拷: 2023-05-19 04:17:22