【发布时间】:2021-04-15 18:50:40
【问题描述】:
我必须为一组给定的输入值开发一个 C 程序,我们通过指定一个起点和四个基本方向上的一系列运动来描述矩形图形的边界——就好像我们在绕着队形走一样沿着它的边界。
我们输入每个移动的方向(WESN)和长度——“W 3”表示从当前位置向西移动三步(左)。
图 1 中的图形可以从右上角开始描述为:
"W 6, S 2, W 3, S 2, E 1, S 2, E 2, N 1, E 2, N 1, E 2, N 1, W 2, N 1, E 3,S 3,E 1,N 5"。
我的问题是:
- 这种形状在几何学中叫什么?
- 如何计算这种形状的面积?我有 W6、S4 等所有边的长度。
谢谢。
【问题讨论】:
-
这看起来更像是Mathematics 问题。一旦你学会了如何在几何中做到这一点,如何将其转换为 C 应该就变得很明显了。
-
称为多边形。
-
更具体地说它是一个凹多边形
-
您可以垂直(或水平)逐个扫描。一旦您越过边界一次,您就会知道您在多边形“内部”。一旦你再次穿过它 - 你就在外面。等等。所以计算“内部”的方块。
-
使用A = ... 适用于任何多边形 - 有效地将其分解为三角形。