Exemplo n.º 1
0
//========
// 初期化
//========
void cVMDBezier::initialize( float fPointX1, float fPointY1, float fPointX2, float fPointY2 )
{
	if( fPointX1 == fPointY1 && fPointX2 == fPointY2 )
	{
		m_bLinear = true;
	}
	else
	{
		fPointX1 = (fPointX1 / 127.0f) * 3.0f;
		fPointY1 = (fPointY1 / 127.0f) * 3.0f;

		fPointX2 = (fPointX2 / 127.0f) * 3.0f;
		fPointY2 = (fPointY2 / 127.0f) * 3.0f;

		// 高速化のためテーブル化しておく
		m_fYValue[0] = 0.0f;
		m_fYValue[YVAL_DIV_NUM] = 1.0f;

		float	fAddX = 1.0f / (float)YVAL_DIV_NUM;

		for( int i = 1 ; i < YVAL_DIV_NUM ; i++ )
		{
			m_fYValue[i] = getYValue( fAddX * i, fPointX1, fPointY1, fPointX2, fPointY2 );
		}

		m_bLinear = false;
	}
}
 double IntegratorFast::integrateLegendre( double H, double theta, double lower_limit, double upper_limit)
{
	double total = 0;

	for(int i = n_nodesp5; i < n_nodes; i ++)
	{			
		total += weights[i]*getYValue(i,H,theta);
	}	
	return sqrt(H)*A*PI2*total;
}
Exemplo n.º 3
0
void CTimelineControl::updateChangeValue( int x, int y )
{
	if ( m_selectTimeID == -1 || m_selectValue == -1 )
		return;

	float *value = NULL;
	if ( m_selectValue == 0 )
		value = &m_value[m_selectTimeID].x;
	else if ( m_selectValue == 1 )
		value = &m_value[m_selectTimeID].y;
	else
		value = &m_value[m_selectTimeID].z;
	
	*value = getYValue(y);
	_onChangeValue( this );
}
Exemplo n.º 4
0
void
RegisteredPoint::on_value_changed()
{
    if (setProgrammatically()) {
        clearProgrammatically();
        return;
    }

    if (_wr->isUpdating())
        return;

    _wr->setUpdating (true);

    Inkscape::SVGOStringStream os;
    os << getXValue() << "," << getYValue();

    write_to_xml(os.str().c_str());

    _wr->setUpdating (false);
}
double GeneticAlgorithm2::calculateResidual(Parameters::fitParameters * parameters, int threadID){
	
	double total = 0;	
	double * paramPointer = &(parameters->A1);

	for(int i = 0; i < nParams; i++){
		_paramArray[threadID][i] = *paramPointer;
		paramPointer++;
	}

#pragma ivdep
	for(int i = 0; i < _dataSetLength; i++){

		_residualArray[threadID][i] = getYValue(_dataSet[i][0],_dataSet[i][2], _dataSet[i][3],_paramArray[threadID]) - _dataSet[i][1];
	}	

#pragma ivdep
	for(int i = 0; i < _dataSetLength; i++){
		total += _residualArray[threadID][i]*_residualArray[threadID][i];
	}

	return total;
}
Exemplo n.º 6
0
double
CGnuPlotCoordValue::
getYDistance(CGnuPlotRenderer *renderer) const
{
  return getYValue(renderer, value_) - getYValue(renderer, 0);
}