Superficial Area Calculation

### Program Information

Name: Superficial Area Calculation
Domain: Numerical program
Functionality: A superficial area calculation program, which is common for most of the GIS systems.
Input: Coordinate (X,Y,Z),and the corresponding follow-up test case (X'.Y',Z').
Output: The area denote as S(X,Y,Z).

#### Reference

 Metamorphic Testing of a Superficial Area Calculation Program  https://doi.org/10.1109/QRS-C.2016.64

### MR Information

#### MR1------ Construction MRs with geometric properties

Description: If the target domain rotates around Z axis,the superficial area holds in line.
Property: $\rm \forall i((X'_i=X\cos\theta - Y\sin\theta) \wedge (Y'_i=X\sin\theta + Y\cos\theta) \wedge (Z'_i=Z)) \Rightarrow S(X,Y,Z)=S(X',Y',Z')$
Source input: $\rm (X,Y,Z)$
Source output: $\rm S(X,Y,Z)$
Follow-up input: $\rm (X',Y',Z')$
Follow-up output: $\rm S(X',Y',Z')$
Input relation: $\rm \forall i((X'_i=X\cos\theta - Y\sin\theta) \wedge (Y'_i=X\sin\theta + Y\cos\theta) \wedge (Z'_i=Z))$
Output relation: $\rm S(X,Y,Z)=S(X',Y',Z')$
Pattern:

#### MR2------ Construction MRs with geometric properties

Description: If a target domain translates in vector $(d_x,d_y)$,the superficial area of it remain unchanged.
Property: $\rm \forall i((X'_i=X_i+d_x) \wedge (Y'_i=Y_i+d_y) \wedge (Z'_i=Z_i)) \Rightarrow S(X,Y,Z)=S(X',Y',Z')$
Source input: $\rm (X,Y,Z)$
Source output: $\rm S(X,Y,Z)$
Follow-up input: $\rm (X',Y',Z')$
Follow-up output: $\rm S(X',Y',Z')$
Input relation: $\rm \forall i((X'_i=X_i+d_x) \wedge (Y'_i=Y_i+d_y) \wedge (Z'_i=Z_i))$
Output relation: $\rm S(X,Y,Z)=S(X',Y',Z')$
Pattern:

#### MR3------ Construction MRs with mathematical properties

Description: As the target area is composed of several different grids, the sequence of the grids would not affect the computation result  of  superficial  area  calculation.
Property: $\rm \forall i((X'_i=X_{n+1-i}) \wedge (Y'_i=Y_{n+1-i}) \wedge (Z'_i=Z_{n+1-i})) \Rightarrow S(X,Y,Z)=S(X',Y',Z')$
Source input: $\rm (X,Y,Z)$
Source output: $\rm S(X,Y,Z)$
Follow-up input: $\rm (X',Y',Z')$
Follow-up output: $\rm S(X',Y',Z')$
Input relation: $\rm \forall i((X'_i=X_{n+1-i}) \wedge (Y'_i=Y_{n+1-i}) \wedge (Z'_i=Z_{n+1-i}))$
Output relation: $\rm S(X,Y,Z)=S(X',Y',Z')$
Pattern:

#### MR4------ Construction MRs with mathematical properties

Description: As the target area is composed of several different grids, the sequence of the grids would not affect the computation result  of  superficial  area  calculation.
Property: $\rm \forall i((X'_i=k\cdot X_i) \wedge (Y'_i=k\cdot Y_i) \wedge (Z'_i=k\cdot Z_i)) \Rightarrow S(X'_i,Y'_i,Z'_i)=k^2 \cdot S(X_i,Y_i,Z_i)$
Source input: $\rm (X,Y,Z)$
Source output: $\rm S(X,Y,Z)$
Follow-up input: $\rm (X',Y',Z')$
Follow-up output: $\rm S(X',Y',Z')$
Input relation: $\rm \forall i((X'_i=k\cdot X_i) \wedge (Y'_i=k\cdot Y_i) \wedge (Z'_i=k\cdot Z_i))$
Output relation: $\rm S(X'_i,Y'_i,Z'_i)=k^2 \cdot S(X_i,Y_i,Z_i)$
Pattern:

#### MR5------ Construction MRs with focusing properties of DEM

Description: Let $\rm S(G_i)$ be the superficial area of the mesh grid $\rm G_i$. The precision of G3 is two times of G2, which precision is two times of G1.
Property: $\rm G_1 \subset G_2 \subset G_3 \Rightarrow S(G_1) \leq S(G_2) \leq S(G_3)$
Source input: $\rm G_1$
Source output: $\rm S(G_1)$
Follow-up input: $\rm G_2,G_3$
Follow-up output: $\rm S(G_2),S(G_3)$
Input relation: $\rm G_1 \subset G_2 \subset G_3$
Output relation: $\rm S(G_1) \leq S(G_2) \leq S(G_3)$
Pattern:

#### MR6------ Construction MRs with algorithm of TIN

Description: $(a,b,c)$ is the edges of a triangle.
Property: $(a'=\sqrt{2\times c^2 + 2\times b^2 - a^2},b'=b,c'=c) \Rightarrow S(a',b',c')=S(a,b,c)$
Source input: $(a,b,c)$
Source output: $S(a,b,c)$
Follow-up input: $(a',b',c')$
Follow-up output: $S(a',b',c')$
Input relation: $(a'=\sqrt{2\times c^2 + 2\times b^2 - a^2},b'=b,c'=c)$
Output relation: $S(a',b',c')=S(a,b,c)$
Pattern:

#### MR7------ Construction MR with the characters of superficial area

Description: For a target domain, if it could be divided into two parts, then the superficial area of the domain is the total of the sub parts.
Property: $\rm X'=\{X_0,X_1,\cdots ,X_m\} \wedge Y'=\{Y_0,Y_1,\cdots ,Y_m\} \wedge Z'=\{Z_0,Z_1,\cdots ,Z_m\} \wedge X''=\{X_m,X_{m+1},\cdots ,X_{n-1},X_0\} \\ \wedge Y''=\{Y_m,Y_{m+1},\cdots ,Y_{n-1},Y_0\} \wedge Z''=\{Z_m,Z_{m+1},\cdots ,Z_{n-1},Z_0\} \Rightarrow S(X,Y,Z)=S(X',Y',Z')+S(X'',Y'',Z'')(1<m<n)$
Source input: $\rm (X,Y,Z)$
Source output: $\rm S(X,Y,Z)$
Follow-up input: $\rm (X',Y',Z'),(X'',Y'',Z'')$
Follow-up output: $\rm S(X',Y',Z'),S(X'',Y'',Z'')$
Input relation: $(\rm X'=\{X_0,X_1,\cdots ,X_m\} \wedge Y'=\{Y_0,Y_1,\cdots ,Y_m\} \wedge Z'=\{Z_0,Z_1,\cdots ,Z_m\} \wedge X''=\{X_m,X_{m+1},\cdots ,X_{n-1},X_0\} \\ \wedge Y''=\{Y_m,Y_{m+1},\cdots ,Y_{n-1},Y_0\} \wedge Z''=\{Z_m,Z_{m+1},\cdots ,Z_{n-1},Z_0\}$
Output relation: $\rm S(X,Y,Z)=S(X',Y',Z')+S(X'',Y'',Z'')(1<m<n)$
Pattern:
Insert title here