Una humilde introducción a la graficación por computadora

Page 184

9 Curvas ParamĂŠtricas ); // paso 4... tmp [ L ][0] = 1; tmp [ MIU ][0] = 0; tmp [ Z ][0] = 0;

89 90 91 92 93 94

// paso 5... for ( i =1; i < n ; i ++) { tmp [ L ][ i ] = 2 * ( tr -> x [ i +1] - tr - > x [i -1]) - tmp [ H ][ i -1]* tmp [ MIU ][ i -1]; tmp [ MIU ][ i ] = tmp [ H ][ i ] / tmp [ L ][ i ]; tmp [ Z ][ i ] = ( tmp [ ALFA ][ i] - tmp [ H ][ i -1]* tmp [ Z ][ i -1]) / tmp [L ][ i ]; } // paso 6... tr - > c [ n ] = 0;

95 96 97 98 99 100 101 102 103

// paso 7... for ( i =n -1; i >=0; i - -) { tr - > c [ i ] = tmp [ Z ][ i ] - tmp [ MIU ][ i ] * tr - > c[ i +1]; tr - > b [ i ] = ( tr - > a [ i +1] - tr - > a [ i ]) / tmp [ H ][ i ] - tmp [ H ][ i ] * (tr - > c [ i +1] + 2* tr -> c [ i ]) / 3; tr - > d [ i ] = ( tr - > c [ i +1] - tr - > c [ i ]) / (3* tmp [ H ][ i ]) ; }

104 105 106 107 108 109 110 111

// Liberar memoria temporal free ( tmp [0]) ;

112 113 114 115 116 117 118

}

return TIC_COD_EXITO ;

int TIC_calcular ( trazadores * tr , double x , double * y ) {

119

if ( tr == NULL || y == NULL ) { fprintf ( stderr , TIC_MSG_ERROR_PARAMETROS ) ; return TIC_COD_ERROR_PARAMETROS ; }

120 121 122 123 124

if ( x >= tr - > x [0]) { /* int j =0;

125 126 127 128

while ( j < tr - > num_trazadores && x > tr - > x [j +1]) j ++; if ( j < tr - > num_trazadores ) { double tmpX = x - tr - > x [ j ]; * y = tr - > a [ j ] + tmpX * ( tr - > b [ j ] + tmpX * ( tr - > c[ j ] + tmpX * tr - > d [ j ] ) ) ; return TIC_COD_EXITO ; } */

129 130 131 132 133 134 135 136

184


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.