Tuesday, 18 October 2011

Conflicting headaches

This week I have been looking to complete my implementation of 3D testing using a simpler form of inertia bisection. As I mentioned before, I look for the most prominent axes, and move the vertices round to a new position which would simulate movement of the viewer. This is still being incorporated as there are some issues with rotating the view (testing different views to see which offers the best).

Viewpoints Yet Again

Whilst testing the views, I can see some improvement in the viewpoints, however, every time I am becoming more and more concerned that projecting a 3D image onto a 2D plane is bad, the bad kind of bad. With 2D images the forces push each other only on that plane, and so the results are in effect, designed and developed for that view.

3D results however, are not, they are designed to make the most of all 3 dimensions, and when compressed, they lose information and readability. This is all common sense really, but practically, I am seeing that "bends" and "folds" in graphs are more important in 3 dimensions as in most cases, vertices will clump together to form these much larger structures.


The graph above, 4elt is semi useful in that the flattest surface is perpendicular to the viewpoint, but there are two folds/arms overlapping the main body. As a 3D image, these arms are an important part of the structure, yet when testing for edge crossings, these areas would be bad due to the overlap. A better example can be seen below, a stretched version of 3elt.

As you can see, the graph has more noticeable folds/arms, which again, in a 3D context (with movement and navigation) can show the global structure of a graph. Yet, the results will suffer again, even more so in this graph, due to the overlap.

A more accurate form of testing would be to identify these arms and finding a method for the computer/application to comprehend the structure in all dimensions. I imagine that due to the difficulty generating this kind of test, is why many authors choose to use subjective view or 2D projection.


Matching

Moving on from the viewpoints, I am moving back to matching in order to test a hypothesis regarding the 2D results. In them, the contraction approximation algorithm has difficult with higher scalar values, whereas the Quad Tree does not. I  expect this to be due to the tree having four nodes as opposed to two, therefore, by changing the coarsening to match 4 vertices, I expect to see results closer resembling the quad tree results.

Currently, I am using a hard coded method which checks each edge, but due to the constraints of this, may have to move to a different data structure for the coarsening. This may be difficult to implement but the algorithm shouldn't be too affected by the change. Of course, this is a hope and there is a high chance of changes, which will require new results and more waiting.

Teaching

Teaching again and good god, I forgot how much time it takes out of the day. Thought I would mention this as I have spent more time than usual preparing for tutorials, sorting through students emails and tests (whoever invented QuestionWriter, damn you!) and generating new teaching material (or at least, altering old material).

Paper Writing

With results now analysed, it is becoming more and more likely that I will be expected to publish my results. I am still waiting on some further tests and would like to run some more, but so far I have concluded that using a contraction approximation is faster than a mesh overlay approximation, and in theory, should provide better results (which may be a reason it is faster).

NB: check the speed difference when generating the quad tree structure, as it may be that the time difference is due to making the tree, but it may also be due to the vertices finding better positions each iteration due to the better abstraction of the original graph.

End

That's all for today, I am hoping for a meeting with supervisors this week so I will update again if and when that happens. For now, if any students are watching, don't miss out on https://www.ai-class.com/ (even though not relevant and most of it is covered in undergraduate, it's still a good refresher and has some good material and explanations).

For everyone else, there's Dilbert, http://www.dilbert.com/

Have a good week!

No comments:

Post a Comment