2012-09-03 74 views
2

有一個卵石商人。他出售用於照亮地板的鵝卵石。他的主要職責是採取房間兩側的長度。但他有時會犯錯誤,錯誤會導致損失。所以,他來找你,並要求你製造一輛小型智能車,它可以沿着房間的牆壁跑並計算出它們的長度。汽車不得不從它開始的地方回來。這意味着起點與最後一個相同。當汽車給出房間牆壁的長度時,可以計算出地板的表面積。計算不規則空間的面積

知道表面積,你可以計算覆蓋整個地板與鵝卵石的價格。佔地1平方米需要3公斤的鵝卵石。鵝卵石的比率是每公斤5美元。

例如使用兩個陣列說明汽車的測量結果。

​​

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美元。

+0

這功課嗎? – podiluska

+0

NOPE有些人向我傾斜...和M STUCK – Kruelt

回答

2

只保存每個頂點的每個座標。 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到數據得到封閉區域 關於這個數學的計算是:

enter image description here

然後你需要把這個與鵝卵石/面積/金錢的成本相乘。

+0

MIND正在開發 – Kruelt

+0

更新了一點 –

+1

更新了更多 –

0

這個問題實際上是不可能回答的;你必須知道這輛車每轉動多少。 假設每一回合都是直角,huseyin tugrul buyukisik的答案是可惜的。