C++ (Qt)void Transfer( Point * p0, Point * p1 ){ auto e01 = p0->Energy() * p0->GetIn() * p1->GetOut(); auto e10 = p1->Energy() * p1->GetIn() * p0->GetOut(); p0->AddEnergy(e10); p1->AddEnergy(e01);}
C++ (Qt)QVector3D RandomDiffuseRay( void ){// случайная длина в плоскости XZ float R = RandomFloat(); // случайное напр-е - угол в плоскости XZ float angle = RandomFloat() * M_PI * 2; return QVector3D(cos(angle) * R, sqrt(1 - R * R), sin(angle) * R);}