Ejemplo n.º 1
0
Archivo: tp5.cpp Proyecto: dtbinh/M1S2
void render_scene(){

	Point centreSphere(0,0,0);
	Point centreCylindre(0,0,0);
	Vector vecteur(0,30,0);
	double rayon = 20;
	double resolution = 0.5;
	
	std::vector<Voxel> voxelSphere = sphereVolumique(centreSphere,rayon,1);
	
	//affichage(voxelSphere);
	
	std::vector<Voxel> voxelCylindre = cylindreVolumique(centreCylindre,vecteur,rayon,1);

	
	//soustractionSphereCylindre(centreSphere,rayon,centreCylindre,vecteur, rayon , resolution);
	
	intersectionSphereCylindre(centreSphere,rayon,centreCylindre,vecteur, rayon , resolution);
	
	//affichage(voxelCylindre);
	
	//unionSphereCylindre(voxelSphere, voxelCylindre);
	


}
Ejemplo n.º 2
0
Archivo: tp7.cpp Proyecto: dtbinh/M1S2
Vector normaleSommet(std::vector<Triangle> triangles,Point p){

	std::vector<Triangle> listeTriangle; 
	
	for(Triangle t : triangles){
		if(t.getSommetA().compare(p) || t.getSommetC().compare(p) || t.getSommetC().compare(p) ){
			listeTriangle.push_back(t);
		}
	}
	
	Vector vecteur(0,0,0);
	
	for(Triangle t : listeTriangle){
	
		Vector vecteurTmp = normaleFace(t);
		
		vecteur.setX(vecteur.getX() + vecteurTmp.getX());
		vecteur.setY(vecteur.getY() + vecteurTmp.getY());
		vecteur.setZ(vecteur.getZ() + vecteurTmp.getZ());
			
	}
	
	vecteur.setX(vecteur.getX() / listeTriangle.size());
	vecteur.setY(vecteur.getY() / listeTriangle.size());
	vecteur.setZ(vecteur.getZ() / listeTriangle.size());

	vecteur.normalize();
	
	return vecteur;
}
Ejemplo n.º 3
0
void Motif::translater(Translations sens)
{
    QVector3D vecteur(0,0,0);

    switch (sens) //On prend le repère Cubicle
    {
        case Haut     : vecteur = QVector3D(0,0,1);  break;
        case Bas      : vecteur = QVector3D(0,0,-1); break;
        case Gauche   : vecteur = QVector3D(0,-1,0); break;
        case Droite   : vecteur = QVector3D(0,1,0);  break;
        case Devant   : vecteur = QVector3D(1,0,0);  break;
        case Derriere : vecteur = QVector3D(-1,0,0); break;
        default : ERROR_MSG("Sens inconnu :" << sens); break;
    }

    _translation += vecteur;
}