1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| std::vector<char> MaClasse::generateSphere(float diametre, float orgX, float orgY, float orgZ)
{
std::vector<char> liste;
char inSphere;
int y, z;
/* y
* |_x
* /
* z
* */
for(int x = orgX; x < diametre; x = x + 2)
{
for(y = orgY; y < diametre; y = y + 2)
{
for(z = orgZ; z < diametre; z = z + 2)
{
inSphere = isInSphere(diametre, abs(orgX - x), abs(orgY - y), abs(orgZ - z));
liste.push_back(inSphere); // 0 ou 1
}
}
}
return liste;
}
char MaClasse::isInSphere(float diametre, float x, float y, float z)
{
return square(x) + square(y) + square(z) <= square(diametre);
} |
Partager