To help me while analysing the behaviour of the shape pool produced by the CAS/HFP decomposition algorithm, I developed a small tool. This tool, whose screenshot is depicted below, compares two shape pools and provides important information about them.
"AFj's PhD" blog was created in 2004 to report on-line the PhD work of Alfredo Ferreira (Jr). After finishing his PhD in July 2009, the posting was suspended.
However, after several requests, the blog was reactivated in October 2010."AFj's PhD and after" blog will provide information on Alfredo Ferreira's work as a researcher in INESC-ID and his activities as a Assistant Professor at IST/TULisbon.
Showing posts with label prototype. Show all posts
Showing posts with label prototype. Show all posts
Monday, January 05, 2009
Wednesday, December 10, 2008
Web page with PhD work
I don't know why I took so much time to create a web page about my PhD research. However, it's better late than never, so I have just created one. It's not complete, but it is a beginning.
Visit the web page of my PhD research, which focused on Thesaurus-based 3D Shape Retrieval, T-b3DR for short. There you can find some information about my work and a couple of useful prototypes.
Visit the web page of my PhD research, which focused on Thesaurus-based 3D Shape Retrieval, T-b3DR for short. There you can find some information about my work and a couple of useful prototypes.
Thursday, November 06, 2008
Prototypes working on Linux
Although developed aiming a cross-platform solution, the prototypes of my PhD research only have been compiled in Windows. Until now. Moved by the need of having my prototypes running on a Linux system, I dedicated a few hours to creating a makefile and making some slight changes in the code in order to compile the prototypes in Linux. It worked fine! Now I have my prototypes running in both Windows and Linux!
Tuesday, November 04, 2008
Spherical Harmonics Visual Representation
Although I had developed most of the code in the last year, just today I assembled all together in order to create a prototype that produces visual representations of spherical harmonics (SHA) signatures. The SHaVisRep prototype receives as input the binary signature created by the the executable for computing SHA representations provided by Kazhdan and produce a visual representation for this descriptor. This visual representation can be a 3D column chart or a 2D line chart in VRML or BMP format, respectively. The Win32 version of the prototype is avaliable for download [ZIP 110KB].
Shperical harmonics of ant 3D model, represented as a 2D line chart
Wednesday, October 29, 2008
Prototype packages
The prototype developed during my PhD research is divided into four distinct applications: CASDecomposer; Segment Clustering; ThesaurusBuilder; and ShapeRetriever. These are simple console applications that allow the user to control the algorithms behaviour. However, instead of independent applications, the whole prototype is composed by a set packages presented below.
Tuesday, September 23, 2008
Clustering Reader
As part of my PhD research I needed to cluster the the shape segments according to its spherical harmonics signature. After accomplishing this step I want to easily "see" the results and create a directory tree filled according to a given partition (I compute four different ones). To that end, I developed "Clustering Reader" a simple Windows applications that reads the XML file produced by the clustrering algorithm, shows the computed partitions and distributes the corresponding segments (VRML files) by the corresponding directories.
Wednesday, September 03, 2008
Disjoint component identification
Within my PhD work I developed a small prototype that identifies disjoint components on 3D meshes. The "Disjoint Component Detector" takes as input an OFF file and can produce three distinct outputs. It can create a VRML file with the model colorized according to the detected disjoint components. It can create a set of OFF files, containing each one of them a single component. Or it can write a text file describing the disjoint components detection results. If interested in try it, you can download the current stable version of the prototype [ZIP 143KB].
This simple prototype provides a straightfoward method to identify segments in some models from the PSB collection, since they are already coded with disjoint segments.
This simple prototype provides a straightfoward method to identify segments in some models from the PSB collection, since they are already coded with disjoint segments.
Wednesday, June 18, 2008
LSketchIt
Last week I've been in the fifth Eurographics workshop on sketch-based interfaces and modeling (SBIM'08). The workshop took place during the famous Annecy Animation Film Festival and was held together with the premier conference for techniques in expressive rendering and animation: the non photo realistic animation and rendering conference (NPAR'2008).
At the SBIM'08, I presented our more recent work on sketch based modeling (see paper "Using Sketches and Retrieval to Create LEGO Models"). The LSketchIt is a calligraphic tool for creating LEGO models that uses sketches and retrieval to ease and speed up the modeling process. Check out LSketchIt working in the demonstration video below.
LSketchIt demonstration video
At the SBIM'08, I presented our more recent work on sketch based modeling (see paper "Using Sketches and Retrieval to Create LEGO Models"). The LSketchIt is a calligraphic tool for creating LEGO models that uses sketches and retrieval to ease and speed up the modeling process. Check out LSketchIt working in the demonstration video below.
LSketchIt demonstration video
Thursday, May 29, 2008
Counting faces in STL files
To help me creating statistics on collections of 3D models I developed a small application that counts the faces of models stored in STL files. It can be used to analyze a single model or a collection of models. The first is done by specifying the corresponding STL file and the second by specifying the folder that contains the collection. If you think such application might be useful, you can download the windows binary [ZIP 71KB] or ask me the cross-platform source code.
Thursday, April 24, 2008
CAS/HFP versus HFP
During the last weeks I've been implementing the context-aware decomposition based on hierarchical fitting primitives (CAS/HFP) algorithm. Now that I finally have a working prototype, I was able to compare the result produced by CAS/HFP with the ones produced by applying only the hierarchical fiting primitives (HFP) segmentation. To that end I use a very small collection extracted from the PRECISE Engineering Shape Benchmark. Below I show the segmentation trees produced by the two algorithms for the same shape.
Thursday, March 06, 2008
Polygon Detector v0.1
More that four years after the publication of the algorithm in the paper "Polygon Detection from a Set of Lines", I finally found time to re-write the code. Since it was implemented within a larger project, it was sharing several pieces of code and dependent of classes containing lots of functionalities unnecessary for this purpose.
The "Polygon Detector" prototype takes as input an SVG file containing a set of lines and produces another SVG file with the corresponding polygon set. Note that the polygon detection algorithm runs in O(n^4), where "n" is the number of lines obtained after intersection removal. Thus, for a complex line set, it may take a while to detect the polygons. For instance, processing the line set depicted below took around twelve minutes in a Intel Pentium M 2GHz 1MB RAM computer running Windows XP.
Set of detected polygons, containing 995 elements.
If interested, you can download the current stable version of the prototype [ZIP 434KB] or the paper where the algorithm was initially paper, "Polygon Detection from a Set of Lines", Ferreira, A., Fonseca, M.J. and Jorge, J.A., Actas do 12º Encontro Português de Computação Gráfica (12th EPCG), pages 159-162, Porto, Portugal, Oct 2003 [PDF 86KB].
The "Polygon Detector" prototype takes as input an SVG file containing a set of lines and produces another SVG file with the corresponding polygon set. Note that the polygon detection algorithm runs in O(n^4), where "n" is the number of lines obtained after intersection removal. Thus, for a complex line set, it may take a while to detect the polygons. For instance, processing the line set depicted below took around twelve minutes in a Intel Pentium M 2GHz 1MB RAM computer running Windows XP.
The polygon detection algorithm created, from the line set illustrated above, a set of almost one thousand polygons depicted below. The current version of the prototype produces an SVG file containing colored polygons, however the coloring algorithm used is quite simple and still needs some improvements, namely to avoid (or at least minimize) color repetition. Something to be solved in a future version.
Set of detected polygons, containing 995 elements.If interested, you can download the current stable version of the prototype [ZIP 434KB] or the paper where the algorithm was initially paper, "Polygon Detection from a Set of Lines", Ferreira, A., Fonseca, M.J. and Jorge, J.A., Actas do 12º Encontro Português de Computação Gráfica (12th EPCG), pages 159-162, Porto, Portugal, Oct 2003 [PDF 86KB].
Friday, February 29, 2008
OFFtoVRLM v0.3 released
Since many 3D models (especially CAD models) are stored in the STL format, I decided to include in OFFtoVRML prototype the capability to read from this type of file. Thus, among some other functionalities, such as reading OFF segmented models, and a few solved bugs, version 0.3 reads files in STL ASCII format. Bellow is a view of the VRML produced from a model extracted from the PRECISE Engineering Shape Benchmark. Another useful new feature is the possibility of including the reference axis in the VRML file.
The current stable version of the prototype is available for download [ZIP 136KB].
The current stable version of the prototype is available for download [ZIP 136KB].
Wednesday, February 20, 2008
Computing the Cord and Angle Histogram
As a first step during the development of a prototype for computing descriptors for 3D shapes, I implemented the Cord and Angle Histogram (CAH) descriptor. Below are the results of the computation for the dog model I often use (m87 from the PSB). Additionally, you can see the corresponding VRML model showing the estimated cords.




Monday, February 18, 2008
OFFtoVRLM v0.2 released
After a couple of changes, this prototype is now able to generate VRML code with explicit edges and showing both vertex and face normal for models with a large number of triangles. For instance, the Stanford Bunny with 70K polygons is processed in less then ten seconds, generating a 16.5MB VRML file containing the mesh and showing its convex hull, bounding box and sphere, polygon edges and normals at faces and vertices. A larger file, the 345K polygons Armadillo, is processed in around fifty seconds, generating a 70MB VRML file.
For illustration purposes we processed the 'Dino' model from AIM@SHAPE shape repository. It has around 50K polygons and below I show a couple of snapshots of the resulting VRLM model, containing normals and explicit edges.
The current stable version of the prototype is available for download [ZIP 118KB].
For illustration purposes we processed the 'Dino' model from AIM@SHAPE shape repository. It has around 50K polygons and below I show a couple of snapshots of the resulting VRLM model, containing normals and explicit edges.
The current stable version of the prototype is available for download [ZIP 118KB].
Thursday, February 07, 2008
New version of QiQA prototype
After a few weeks of hard work, the core of the "Quick Quotation Assistant" (QiQA) prototype was redesigned from scratch. Although the interface remains unchanged (except for a minor detail on QiQA-Builder) the implementation of algorithms is now absolutely different. These are now independent from each other, whilst in the previous version all were implemented together,with several cross-dependencies and lots of unnecessary functionalities. The current version of the prototype and a small drawing collection are available at the QiQA software download page.
Monday, December 17, 2007
Coloring according to distance to barycenter
In the OFF to VRML converter, it is now possible to colorize the
mesh surface according to distances from the corresponding vertices to the object barycenter.
mesh surface according to distances from the corresponding vertices to the object barycenter.
Tuesday, November 13, 2007
QiQA Demonstration Video
Last week we created a short video to be shown in the "3as Jornadas de Inovação", an exposition organized by ADI. In this video we illustrate the main features of Quick Quotation Assistant (QiQA), a prototype developed within workpackage WP 5.1: Part and Tool Design of the Eurotooling 21 project.
Friday, October 26, 2007
New QiQA
The new user interface (UI) of the Quick Quotation Assistant (QiQA) prototype is finished. This should allow queries using multiple views of the mould. Now, we must focus on implementing the techniques that will support the combined queries (several views plus textual). Indeed, actually only one of these is used at each time.
Subscribe to:
Posts (Atom)


















