Mathematica Help with Mathematica: 3D Point Definition

  • Thread starter Thread starter dg88
  • Start date Start date
  • Tags Tags
    Mathematica
AI Thread Summary
To simulate a laser scattering experiment in Mathematica, the user seeks guidance on defining a set of 3D points similar to their existing C++ code. The C++ code initializes a series of points in a 3D space, specifically modifying the Y coordinate by adding the square root of 2 in certain iterations. The user inquires about the equivalent method in Mathematica for creating multidimensional arrays and populating them with points for further calculations. Suggestions include defining an empty matrix and using functions like AppendTo or Reap and Sow to add elements within a loop, facilitating the construction of the desired point set.
dg88
Messages
10
Reaction score
0
Hello,

1) I am trying trying to simulate a laser scattering experiment in Mathematica. So the first trouble I have is how to define a set of 3D points. I did this program in C++ like this:
for (int i=0; i<3; i++)
{
pyr[0].point[0]=0;
}
for (int a=1; a<3; a++)
{
for (int b=0; b<3; b++)
{
if (b == 1) // adding sqrt(2) to the Y cordinate
{
pyr[a].point[0]=pyr[a-1].point[0]+ sqrt(2.0);
}
else
{
pyr[a].point[0]=pyr[a-1].point[0];
}
}
}
for (int c=0; c<3;c++)
{
if (c==0)
{
pyr[3].point[0][c]=pyr[0].point[0][c]+ sqrt(2.0);
}
else
{
pyr[3].point[0][c]=pyr[0].point[0][c];
}

}
for(int d=4;d<6; d++)
{
for (int e=0;e<3;e++)
{
if (e == 1) // adding sqrt(2) to the Y cordinate
{
pyr[d].point[0][e]=pyr[d-1].point[0][e]+ sqrt(2.0);
}
else
{
pyr[d].point[0][e]=pyr[d-1].point[0][e];
}
}
}
for (int f=0; f<3;f++)
{
if (f==0)
{
pyr[6].point[0][f]=pyr[3].point[0][f]+ sqrt(2.0);
}
else
{
pyr[6].point[0][f]=pyr[3].point[0][f];
}
}
for(int g=7;g<9; g++)
{
for (int h=0;h<3;h++)
{
if (h == 1) // adding sqrt(2) to the Y cordinate
{
pyr[g].point[0][h]=pyr[g-1].point[0][h]+ sqrt(2.0);
}
else
{
pyr[g].point[0][h]=pyr[g-1].point[0][h];
}
}
}


The question is, how do I define these points in Mathematica? Is there a way I can have multidimensional arrays and define the points like above and then use then for further calculations?

Thanks in advance
dg
 
Physics news on Phys.org
Define an empty matrix then use AppendTo (or Reap and Sow) to add elements in a loop or whatever.
 

Similar threads

Replies
1
Views
2K
Replies
19
Views
2K
Replies
2
Views
2K
Replies
4
Views
3K
Replies
1
Views
2K
Replies
2
Views
1K
Replies
4
Views
2K
Replies
1
Views
2K
Replies
1
Views
2K
Back
Top