示例#1
0
文件: Vector2.cpp 项目: kermado/M3D
	void Vector2::normalize()
	{
		assert(sqrMagnitude() != 0.0f);
		const float invLength = 1.0f / magnitude();

		x *= invLength;
		y *= invLength;
	}
void FixedPointConstraint::ApplyForce(const std::vector<Particle*> & pVector)
{
    Vec2f relative = m_p->m_Position - m_center;
    m_C = sqrMagnitude(relative) / 2;
    m_CDot = Dot(m_p->m_Velocity, relative);

    Vec2f dC_dp = m_p->m_Position - m_center;
    m_dC_dp_x = dC_dp[0];
    m_dC_dp_y = dC_dp[1];
    m_dCDot_dp_x = m_p->m_Velocity[0];
    m_dCDot_dp_y = m_p->m_Velocity[1];

    assert(!std::isnan(m_C) && std::isfinite(m_C));
    assert(!std::isnan(m_CDot) && std::isfinite(m_CDot));
    assert(!std::isnan(m_dC_dp_x) && std::isfinite(m_dC_dp_x));
    assert(!std::isnan(m_dC_dp_y) && std::isfinite(m_dC_dp_y));
    assert(!std::isnan(m_dCDot_dp_x) && std::isfinite(m_dCDot_dp_x));
    assert(!std::isnan(m_dCDot_dp_y) && std::isfinite(m_dCDot_dp_y));
}
示例#3
0
float Vector4::magnitude() const
{
	return sqrt(sqrMagnitude());
}
示例#4
0
float dge::Vector2::magnitude()
{
    return sqrtf(sqrMagnitude());
}
示例#5
0
 // Functions
 Float Quaternion::magnitude() const
 {
     return sqrMagnitude().sqrt();
 }
示例#6
0
文件: Vector2.cpp 项目: kermado/M3D
	Vector2 Vector2::normalized() const
	{
		assert(sqrMagnitude() != 0.0f);
		const float invLength = 1.0f / magnitude();
		return *this * invLength;
	}
示例#7
0
float Vector3::magnitude() const
{
	return std::sqrtf(sqrMagnitude());
}
示例#8
0
 // Functions
 Float Vector4D::magnitude() const
 {
     return sqrMagnitude().sqrt();
 }