private void __integrateInit()
{
float kx = _x0 + _x1 - 2.0f * _cx;
float ky = _y0 + _y1 - 2.0f * _cy;
float kz = _z0 + _z1 - 2.0f * _cz;
float ax = - _x0 + _cx;
float ay = - _y0 + _cy;
float az = - _z0 + _cz;
if (kx == 0 && ky == 0 && kz == 0) {
XY = 0;
B = 0;
C = 0;
CS = CS2 = 1.0f;
_length = 0;
} else {
//積分計算の為の定数
XY = kx * kx + ky * ky + kz * kz;
B = (ax * kx + ay * ky + az * kz) / XY;
C = (ax * ax + ay * ay + az * az) / XY - B * B;
if (C > 1e-10) {
CS = Mathf.Sqrt(C);
CS2 = 0.0f;
} else {
C = 0.0f;
CS = CS2 = 1.0f;
}
INTG_0 = integrateF(0.0f);
//長さ
_length = integrate(1.0f);
}
}