2017-01-24 4 views
0

Ich habe VTK seit einem Monat verwendet und ich habe festgestellt, dass es das beste Visualisierungswerkzeug ist. Für meine Doktorarbeit versuche ich mithilfe von VTK Hunderte von Ellipsoiden und einige Punktwolken zu visualisieren. Bisher habe ich Ellipsoide und Punktwolken erfolgreich visualisiert, wie in der beigefügten Abbildung gezeigt. Es muss jedoch entwickelt werden. Ohne Schattierungen und Lichteffekte ist eine Unterscheidung einzelner Ellipsoide (grün dargestellt) nicht möglich. Zum Beispiel gibt es einige Ellipsoide oben links, aber sie können nicht unterschieden werden. Könnten Sie mir bitte bei diesem Problem helfen? Wie kann ich sie unterscheidbar machen? Ich freue mich von Ihnen zu hören. Elipsoids and point cloudVerbesserte Visualisierung von geometrischen Formen

+0

Haben Sie versucht, einen Rahmen hinzuzufügen? –

Antwort

0

Sie können Silhouetten zum Unterscheiden von Objekten verwenden. Im Anhang finden Sie einen Code, der das Extrahieren und Visualisieren von Silhouetten mit der Klasse vtkPolyDataSilhouette demonstriert.

vtkSmartPointer<vtkPolyDataSilhouette> silhouette = vtkSmartPointer<vtkPolyDataSilhouette>::New(); 
silhouette->SetInputData(surface->GetOutput()); 
silhouette->SetCamera(renderer->GetActiveCamera()); 
silhouette->SetEnableFeatureAngle(1); 
silhouette->SetFeatureAngle(90); 

vtkSmartPointer<vtkPolyDataMapper> silhouetteMapper = vtkSmartPointer<vtkPolyDataMapper>::New(); 
silhouetteMapper->SetInputConnection(silhouette->GetOutputPort()); 
silhouetteMapper->Update(); 

vtkSmartPointer<vtkActor> silhouetteActor = vtkSmartPointer<vtkActor>::New(); 
silhouetteActor->SetMapper(silhouetteMapper); 

renderer->AddActor(silhouetteActor); 

Eine andere Möglichkeit ist, das Extrahieren und Visualisierung von Konturen, die die vtkContourFilter Klasse. Hier finden Sie ein Beispiel zur Verwendung der Klasse: https://itk.org/Wiki/VTK/Examples/Cxx/PolyData/ExternalContour

+0

Ich verwendete diffuse Farbeigenschaften und es ist jetzt viel besser. By the way, ich versuchte vtkPolyDataSilhouette-Klasse, aber ich habe die Fehlermeldung, dass vtkParametricSuperEllipsoid Klasse GetOutput() Metfod nicht unterstützt. – user887912