【问题标题】:Calculating the area of irregular room计算不规则房间的面积
【发布时间】:2012-08-28 00:48:43
【问题描述】:

有一个鹅卵石商人。他出售用于擦亮地板的鹅卵石。他的主要职责是测量房间两侧的长度。但他有时会犯错,错误会导致损失。所以,他来找你,让你做一辆智能小车,它可以沿着房间的墙壁跑,并计算它们的长度。

汽车必须从起点返回。这意味着起点与终点相同。当汽车给出房间墙壁的长度时,您可以计算地板的表面积。

知道表面积,你可以计算出用鹅卵石覆盖整个地板的价格。 1平方米的面积需要3公斤的鹅卵石。鹅卵石的价格为每公斤 5 美元。

例如,使用两个数组来说明汽车的测量值。

Array 1 = {L, R, L, R, R, L, R, R, L, R, R, L, R, L, L, R, Z}

L 表示汽车左转。 R 表示汽车右转。 Z 表示,终点在最后一圈之后。下图将消除任何误解(在此示例中Array 1 = {L, R, R, R, Z})。

Array 2 = {3, 4, 2, 3, 2, 4, 5, 4, 2, 3, 2, 1, 2, 2, 2, 1, 2}

Array2 的元素表示经过相应转弯后汽车经过的长度(以米为单位)。

{3L, 4R, 2L, 3R, 2R, 4L, 5R, 4R, 2L, 3R, 2R, 1L, 2R, 2L, 2L, 1R, 2Z}

在此表示中,可以清楚地看到从入口转折点的方向以及到下一个转折点的距离。 Array1 中的最后一个元素Z 表示Array2 中对应的长度是最后的距离,经过这个长度,汽车将到达终点。

给定图片的面积是 63 平方米,覆盖它的成本是 945 美元。!

【问题讨论】:

  • 没有人给我......我卡住了

标签: polygon area vertex


【解决方案1】:

只需保存每个顶点的每个坐标。 Then use this to compute area

您首先需要从 L,2 R,5 , .... 导出绳索。

Start from origin(assuming downwards is +y and rightwards is +x on screen):

L,2---->go left 2 units.           Result: P1=(-2,0)
R,1---->turn right and go 1 units. Result: P2=(-2,-1)
R,3--->turn right and go 3 units.  Result: P3=(1,-1)

...
...

Lets say we have 3 points: P1=(-2,0), P2=(-2,-1), P3=(1,-1)
Area=0.5*abs(x1*y2+x2*y3+x3*y1-x2*y1-x3*y2-x1*y3)
    =0.5*abs(2+2+0-0+1-2)
    =0.5*3.0
    =1.5 units

Wolframalpha.com gives the same result(1.5) when you write:

"triangle area (-2,0) (-2,-1) (1,-1)"

使用所有这些点作为 Shoelace_formula 的数据来获得封闭区域 关于这个的数学是:

那么你唯一需要将它与卵石/面积/金钱的成本相乘。

【讨论】:

    【解决方案2】:

    这个问题其实是没法回答的;你必须知道汽车每转多少弯。 假设每一个转弯都是直角的,huseyin tugrul buyukisik 的,答案很可惜。

    【讨论】:

      猜你喜欢
      • 2021-07-07
      • 1970-01-01
      • 2016-12-14
      • 2014-09-07
      • 2011-01-03
      • 1970-01-01
      • 2018-01-21
      • 1970-01-01
      相关资源
      最近更新 更多