Compare commits

...

3 Commits

Author SHA1 Message Date
4e8488e254 more work on slides 2022-03-30 09:36:27 +02:00
52f26364fd show the mesh and id of the point farthest from the other mesh 2022-03-30 09:36:00 +02:00
f4597b0144 new poly mesh 2022-03-30 09:35:45 +02:00
5 changed files with 6000 additions and 4 deletions

5937
data/half_cow.obj Normal file

File diff suppressed because it is too large Load Diff

View File

@ -55,24 +55,69 @@
\begin{frame}{Applications}
\begin{figure}[htb]
\includegraphics[width=9cm]{img/symmetry-plane.png}
\caption{\label{fig:inria-gamma} Image issue du projet GAMMA d'Inria \url{https://team.inria.fr/gamma/}}
\caption{\label{fig:inria-gamma}
Image issue du projet GAMMA d'Inria \url{https://team.inria.fr/gamma/}
}
\end{figure}
\end{frame}
\section{Présentation de la thèse de Rouxel-Labbé}
\section{Thèse de Rouxel-Labbé}
\begin{frame}
\begin{itemize}
\item Excellente introduction et état de l'art
\item Plusieurs approches proposées
\item Des résultats en demi-teinte
\end{itemize}
\end{frame}
\section{Redéfinition du sujet}
\begin{frame}
Le sujet étant jugé trop complexe, notre encadrant nous guide vers
un sujet un peu simplifié.
\begin{block}{Nouveau sujet}
Adapter un maillage tétrahédrique simple existant au maillage
surfacique utilisé pour le générer, tout en préservant sa qualité.
\end{block}
\end{frame}
\section{Présentation de notre méthode}
\begin{frame}{Chaîne de traitement}
\centering
\includegraphics[height=7cm]{img/pipeline.png}
\end{frame}
\begin{frame}{Projection des points}
\end{frame}
\begin{frame}{« Modification proportionelle »}
\end{frame}
\begin{frame}{Relaxation}
\end{frame}
\section{Implémentation}
\begin{frame}{VTK}
\end{frame}
\begin{frame}{Paraview}
\end{frame}
\section{Résultats}
\begin{frame}{Histogrammes}
\end{frame}
\begin{frame}{Cas dégénérés}
\end{frame}
\end{document}

View File

@ -142,6 +142,8 @@ int main(int argc, char **argv) {
maxDistanceFilter->Update();
std::cerr << "Max distance: " << maxDistanceFilter->GetMaxDist() << "\n"
<< "Max dist point id: " << maxDistanceFilter->GetMaxId()
<< " in " << (maxDistanceFilter->GetMaxInput() == 0 ? "tetMesh\n" : "polyMesh\n")
<< "Average min angle: " << dihedralAnglesFilter->GetAverageMinDegrees() << "\n"
<< "Min min angle: " << dihedralAnglesFilter->GetMinMinDegrees() << "\n";

View File

@ -51,7 +51,11 @@ vtkTypeBool MaxDistanceFilter::RequestData(vtkInformation *request,
double vec[3];
double dist;
closestPolyMeshPoint(input2, point, tree2, links2, vec, &dist);
MaxDist = std::max(dist, MaxDist);
if (dist > MaxDist) {
MaxDist = dist;
MaxId = i;
MaxInput = 0;
}
}
for (vtkIdType i = 0; i < input2->GetNumberOfPoints(); i++) {
vtkIdType nCells = links2->GetNcells(i);
@ -61,7 +65,11 @@ vtkTypeBool MaxDistanceFilter::RequestData(vtkInformation *request,
double vec[3];
double dist;
closestPolyMeshPoint(input1, point, tree1, links1, vec, &dist);
MaxDist = std::max(dist, MaxDist);
if (dist > MaxDist) {
MaxDist = dist;
MaxId = i;
MaxInput = 1;
}
}
return true;
}

View File

@ -14,9 +14,13 @@ public:
vtkInformationVector **inputVector,
vtkInformationVector *outputVector) override;
vtkGetMacro(MaxDist, double);
vtkGetMacro(MaxId, vtkIdType);
vtkGetMacro(MaxInput, vtkIdType);
protected:
double MaxDist;
vtkIdType MaxId;
vtkIdType MaxInput;
};