PuntoVector3D* Malla::CalculoVectorNormalPorNewell(Cara* c){ PuntoVector3D* n = new PuntoVector3D(0, 0, 0, 1); for (int i = 0; i < c->getNumeroVertices(); i++){ PuntoVector3D* vertActual = vertice[c->getIndiceVerticeK(i)]; PuntoVector3D* vertSiguiente = vertice[c->getIndiceVerticeK((i + 1) % c->getNumeroVertices())]; int aux = c->getIndiceVerticeK((i + 1) % c->getNumeroVertices()); n->setX((vertActual->getY() - vertSiguiente->getY()) * (vertActual->getZ() + vertSiguiente->getZ())); n->setY((vertActual->getZ() - vertSiguiente->getZ()) * (vertActual->getX() + vertSiguiente->getX())); n->setZ((vertActual->getX() - vertSiguiente->getX()) * (vertActual->getY() + vertSiguiente->getY())); } n->normalizar(); return n; }