Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // initialize cube array
- points = new Matrix[11, 11, 11];
- for (int i = 0; i < 11; i++)
- {
- for (int j = 0; j < 11; j++)
- {
- for (int k = 0; k < 11; k++)
- {
- points[i, j, k] = Matrix.CreateTranslation(new Vector3(100, 100, 100));
- }
- }
- }
- for (int i = 0; i < 11; i++)
- {
- for (int j = 0; j < 11; j++)
- {
- points[i, j, 0] = Matrix.CreateTranslation(new Vector3(i - 5, j - 5, 5));
- points[i, j, 10] = Matrix.CreateTranslation(new Vector3(i - 5, j - 5, -5));
- }
- }
- for (int j = 0; j < 11; j++)
- {
- for (int k = 0; k < 11; k++)
- {
- points[0, j, k] = Matrix.CreateTranslation(new Vector3(-5, j - 5, k - 5));
- points[10, j, k] = Matrix.CreateTranslation(new Vector3(5, j - 5, k - 5));
- }
- }
- for (int i = 0; i < 11; i++)
- {
- for (int k = 0; k < 11; k++)
- {
- points[i, 0, k] = Matrix.CreateTranslation(new Vector3(i - 5, -5, k - 5));
- points[i, 10, k] = Matrix.CreateTranslation(new Vector3(i - 5, 5, k - 5));
- }
- }
- // end cube array initialization
- // create sphere array
- double d;
- double theta;
- double phi;
- double r = 5.5;
- spherePoints = new Matrix[11,11,11];
- for (int i = 0; i < 11; i++)
- {
- for (int j = 0; j < 11; j++)
- {
- for (int k = 0; k < 11; k++)
- {
- if (points[i, j, k] != Matrix.CreateTranslation(new Vector3(100, 100, 100)))
- {
- d = Math.Sqrt(Math.Pow(i, 2) + Math.Pow(j, 2) + Math.Pow(k, 2));
- theta = Math.Acos(k / d);
- phi = Math.Atan2(j, i);
- spherePoints[i, j, k] = Matrix.CreateTranslation(new Vector3((float)(r * Math.Sin(theta) * Math.Cos(phi)),
- (float)(r * Math.Sin(theta) * Math.Sin(phi)),
- (float)(r * Math.Cos(theta))));
- }
- else
- spherePoints[i, j, k] = Matrix.CreateTranslation(new Vector3(100, 100, 100));
- }
- }
- }
- // end creation of sphere array
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement