Check out the Pastebin Gadgets Shop. We have thousands of fun, geeky & affordable gadgets on sale :-)Want more features on Pastebin? Sign Up, it's FREE!
tweet

# Untitled

By: a guest on Dec 28th, 2012  |  syntax: None  |  size: 2.30 KB  |  views: 3  |  expires: Never
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
1. public static void FixHeight(float[,] heights)
2.         {
3.             // fix X-axis
4.             for (int z = 0; z < 5; z++)
5.             {
6.                 // left side
7.
8.                 float before = heights[0, z];
9.
10.                 heights[0, z] = (float)Math.Round(heights[0, z]);
11.
12.                 if (heights[0, z] < 0)
13.                     heights[0, z] = 0;
14.                 if (heights[0, z] > 1)
15.                     heights[0, z] = 1;
16.
17.                 float diff = before - heights[0, z];
18.
19.                 for (int x = 1; x < 5; x++)
20.                 {
21.                     heights[x, z] = heights[x, z] - diff * (float)(4 - x) / 4f;
22.                 }
23.
24.                 // right side
25.                 before = heights[4, z];
26.
27.                 heights[4, z] = (float)Math.Round(heights[4, z]);
28.
29.                 if (heights[4, z] < 0)
30.                     heights[4, z] = 0;
31.                 if (heights[4, z] > 1)
32.                     heights[4, z] = 1;
33.
34.                 diff = before - heights[4, z];
35.
36.                 for (int x = 0; x < 4; x++)
37.                 {
38.                     heights[x, z] = heights[x, z] - diff * (float)x / 4f;
39.                 }
40.             }
41.
42.             // fix z-axis
43.             for (int x = 0; x < 5; x++)
44.             {
45.                 // left side
46.
47.                 float before = heights[x, 0];
48.
49.                 heights[x, 0] = (float)Math.Round(heights[x, 0]);
50.
51.                 if (heights[x, 0] < 0)
52.                     heights[x, 0] = 0;
53.                 if (heights[x, 0] > 1)
54.                     heights[x, 0] = 1;
55.
56.                 float diff = before - heights[x, 0];
57.
58.                 for (int z = 1; z < 5; z++)
59.                 {
60.                     heights[x, z] = heights[x, z] - diff * (float)(4 - z) / 4f;
61.                 }
62.
63.                 // right side
64.                 before = heights[x, 4];
65.
66.                 heights[x, 4] = (float)Math.Round(heights[x, 4]);
67.
68.                 if (heights[x, 4] < 0)
69.                     heights[x, 4] = 0;
70.                 if (heights[x, 4] > 1)
71.                     heights[x, 4] = 1;
72.
73.                 diff = before - heights[x, 4];
74.
75.                 for (int z = 0; z < 4; z++)
76.                 {
77.                     heights[x, z] = heights[x, z] - diff * (float)z / 4f;
78.                 }
79.             }
80.         }
clone this paste RAW Paste Data
Top