Did not work out as expected:
Did not work out as expected:
Did not work out as expected:
Did not work out as expected:
Did not work out as expected:
Did not work out as expected:
Did not work out as expected:
Did not work out as expected:
Did not work out as expected:
Did not work out as expected:
Did not work out as expected:
Didn't worked out as expected, seems like a 0 problem ...
Someone know where the problem is?
public static Vector3 cubify( Vector3 s)
{
float xx2 = s.x * s.x * 2.0f;
float yy2 = s.y * s.y * 2.0f;
Vector2 v = new Vector2(xx2 - yy2, yy2 - xx2);
float ii = v.y - 3.0f;
ii *= ii;
float isqrt = -Mathf.Sqrt(ii - 12.0f * xx2) + 3.0f;
v = new Vector2( Mathf.Sqrt( v.x + isqrt), Mathf.Sqrt( v.y + isqrt) );
v *= isqrt2;
return new Vector3(
Mathf.Sign(s.x) * v.x,
Mathf.Sign(s.y) * v.y,
Mathf.Sign(s.z) * 1.0f);
}
public static Vector3 sphere2cube( Vector3 sphere)
{
Vector3 f = new Vector3 (
Mathf.Abs(sphere.x),
Mathf.Abs(sphere.y),
Mathf.Abs(sphere.z));
bool a = f.y >= f.x && f.y >= f.z;
bool b = f.x >= f.z;
Vector3 result;
if (a)
{
result = cubify( new Vector3(sphere.x,sphere.z,sphere.y));
result = new Vector3(result.x,result.z,result.y);
}
else if (b)
{
result = cubify( new Vector3(sphere.y,sphere.z,sphere.x));
result = new Vector3(result.z,result.x,result.y);
}
else
{
result = cubify(sphere);
}
return result;
}