Пример #1
0
void primeiraLinha(pixel *linha, int largura, float limiteMargens, int fluxoDesejado, int distanciaEntreIlhas, float probIlha) {
    /* Insere os valores da primeira linha do programa */
    
    int tamanhoDaMargemEsquerda;
    int tamanhoDaMargemDireita;
    
    int i = 0;
    float v;
    
    aleatorizaPrimeiraMargem (linha, largura, limiteMargens);
    
    tamanhoDaMargemEsquerda = margemEsquerda(linha);
    tamanhoDaMargemDireita = margemDireita(linha, largura);
    
    insereIlha(linha, distanciaEntreIlhas, probIlha, tamanhoDaMargemEsquerda, tamanhoDaMargemDireita, largura);
    
    for (i = tamanhoDaMargemEsquerda; i < largura - tamanhoDaMargemDireita; i++) {  /* Insere a velocidade água */
        if (linha[i-1].tipo == TERRA || tipo(&linha[i]) == TERRA || linha[i+1].tipo == TERRA)
            setaVelocidade(&linha[i],0);
        else{
            v = velocidadeDaAguaPrimeiraLinha (linha[i-1].velocidade);
            setaVelocidade(&linha[i], v);
        }
    }
    
    suavizaVelocidades(linha, largura);
    
    /* Consideramos a probabilidade de a primeira linha ter ilhas */
    normaliza(linha, largura, fluxoDesejado);
}
Пример #2
0
void calcPerpendicularNorm(double vec[3]){
	camDir[0] = camAt[0] - camPos[0];
	camDir[1] = camAt[1] - camPos[1];
	camDir[2] = camAt[2] - camPos[2];

	vec[0] = -camDir[2];
	vec[1] = camDir[1];
	vec[2] = camDir[0];

	normaliza(vec);
}
Пример #3
0
void calcDirectionNorm(double vec[3]){
	camDir[0] = camAt[0] - camPos[0];
	camDir[1] = camAt[1] - camPos[1];
	camDir[2] = camAt[2] - camPos[2];

	vec[0] = camDir[0];
	vec[1] = camDir[1];
	vec[2] = camDir[2];

	normaliza(vec);
}
Пример #4
0
void proximaLinha (pixel *linhaAnterior, pixel *linha, int largura, float limiteMargens, int fluxoDesejado, int distanciaEntreIlhas, float probIlha) {
    /* Calcula como deve ser a nova linha do frame */
    
    int tamanhoDaMargemEsquerda;
    int tamanhoDaMargemDireita;
    
    aleatorizaMargem(linhaAnterior, linha, limiteMargens, largura);  /* Insere as novas margens aleatorizadas */
    
    tamanhoDaMargemEsquerda = margemEsquerda(linha);
    tamanhoDaMargemDireita = margemDireita(linha, largura);
    
    insereIlha(linha, distanciaEntreIlhas, probIlha, tamanhoDaMargemEsquerda, tamanhoDaMargemDireita, largura);
    
    velocidadeProximaLinha(linha, linhaAnterior, fluxoDesejado, largura);
    
    suavizaVelocidades(linha, largura);
    
    normaliza(linha, largura, fluxoDesejado);
}
Пример #5
0
char*   CTexto::getNormalizado(){ 
	if(normalizado)
		return normalizado;
		
	if(parent && parent->getNormalizado() && getOffset() > -1){
		normalizado = this->parent->getNormalizado() + this->getOffset();

		return normalizado;
	}
	if(!normalizado && getTexto() && getTamanho() > -1){
		normalizado = new char[tamanho + 1];
		memcpy(normalizado, texto, tamanho + 1);
		normaliza(normalizado,tamanho);
 	}
	//fwrite(texto,1,tamanho,stdout);
		//			printf(" %d\n", tamanho);
	//fwrite(normalizado,1,tamanho,stdout);
		//			printf(" %d --------------------\n", tamanho);

	return normalizado;
}