void PLANE::SetFromPoints(const VECTOR3D & p0, const VECTOR3D & p1, const VECTOR3D & p2) { normal=(p1-p0).CrossProduct(p2-p0); normal.Normalize(); CalculateIntercept(p0); }
void cPlane::SetFromPoints(const cVec3 & p0, const cVec3 & p1, const cVec3 & p2) { normal = (p1 - p0).CrossProduct(p2 - p0); normal.Normalise(); CalculateIntercept(p0); }
void Trendline::UpdateTrendline(Point2DInt_t* pointsArray) { m_points[m_count].x = (*pointsArray).y; m_points[m_count].y = (*pointsArray).x; m_count++; yAxisValuesSum += m_points[m_count-1].y; xAxisValuesSum += m_points[m_count-1].x; xySum += m_points[m_count-1].x*m_points[m_count-1].y; xxSum += m_points[m_count-1].x*m_points[m_count-1].x; CalculateSlope(); CalculateIntercept(); }
void Trendline::Initialize() { yAxisValuesSum = 0; xAxisValuesSum = 0; xxSum = 0; xySum = 0; for (int i = 0; i < m_count; i++) { yAxisValuesSum += m_points[i].y; xAxisValuesSum += m_points[i].x; xySum += m_points[i].x*m_points[i].y; xxSum += m_points[i].x*m_points[i].x; } CalculateSlope(); CalculateIntercept(); }
void Trendline::EraseLastPointsPrecentage(float pointsPrecentage) { //cout << "m_count = " << m_count << " m_slope = " << m_slope << " m_intercept = " << m_intercept; int placeArrayToRemove = (float)m_count*(1-pointsPrecentage); for(int i = placeArrayToRemove; i < m_count ; i++) { yAxisValuesSum -= m_points[i].y; xAxisValuesSum -= m_points[i].x; xySum -= m_points[i].x*m_points[i].y; xxSum -= m_points[i].x*m_points[i].x; } m_count = placeArrayToRemove; CalculateSlope(); CalculateIntercept(); // cout << "New m_count = " << m_count << " m_slope = " << m_slope << " m_intercept = " << m_intercept << "\n"; }