Editing User:Izak/GSOC 2013 logs


User account "Izak" is not registered. Please check if you want to create/edit this page.

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 391: Line 391:
* A picture for the rt_hrt_export5 test on archer interface can be viewed [http://brlcad.org/~Izak/Export_test.png here].
* A picture for the rt_hrt_export5 test on archer interface can be viewed [http://brlcad.org/~Izak/Export_test.png here].
August 8
* Have been granted commit access. :)
* Learned how to use svn commit, svn revert, etc.
* Ensured consistent bu_log("rt_hrt_xxx: not implemented yet!\n"); in calllbacks functions for hrt.c and committed to [http://sourceforge.net/p/brlcad/code/56694/ r56694].
=August 12th to August 17th=
August 12th
* Added hrt_invsq vector and hrt_invRSSR matrix to the heart structure in [https://sourceforge.net/p/brlcad/code/56745/ r56745].
* Added rt_hrt_print() routine and removed rt_hrt_??port4() routines pertaining to version 4 of database in [https://sourceforge.net/p/brlcad/code/56746/ r56745].
* Added rt_hrt_import5() routine to import the database format to the internal format in [https://sourceforge.net/p/brlcad/code/56747/ r56747].
* Added rt_hrt_export5() routine to export from internal format to database format in [https://sourceforge.net/p/brlcad/code/56751/ r56751]
August 13th
* Went to the Cameroon GCE Board office to apply for duplicate certificate for my younger sister.
* Wrote rt_hrt_describe() routine to present the heart solid in human-readable format and committed changes to [http://sourceforge.net/p/brlcad/code/56791/ r56791].
* Pictures to demonstrate the working rt_hrt_describe() function using the l command in the mged and archer interfaces can be viewed [http://brlcad.org/~Izak/rt_hrt_describe_mged.png here] and [http://brlcad.org/~Izak/rt_hrt_describe_archer.png here] respectively.
August 14th
* Working on rt_hrt_prep() routine but electric blackouts in my area halted work.
August 15th
* Compiled hrt.c after writing rt_hrt_prep(). This routine calls rt_hrt_bbox() routine  (which I am still to work on ) and some testing using the rt command. Will commit [http://paste.kde.org/p20fbe4c6/ rt_hrt_prep()] later.
* Worked on rt_hrt_ifree() to free the storage associated with the rt_db_internal version of this solid and commited to [https://sourceforge.net/p/brlcad/code/56876/ r56876].
August 16th
* Working on rt_hrt_bbox() routine which needs some testing before I commit.
August 17th
* Finished working on rt_hrt_bbox() routine today. Used the bb command to test this code in the [http://brlcad.org/~Izak/rt_hrt_bbox_mged_test.png mged] and [http://brlcad.org/~Izak/rt_hrt_bbox_archer_test.png archer].
* Committed changes in rt_hrt_bbox() and rt_hrt_prep() routines to [http://sourceforge.net/p/brlcad/code/56917/ r56917].Will do more work on rt_hrt_prep() function eventually.
=August 19th to August 24th=
August 19th
* Corrected spelling of polynomial in bn_poly_synthetic_div.c in [http://sourceforge.net/p/brlcad/code/56944 r56944].
* Wrote the rt_hrt_free() and rt_hrt_params() functions in [http://sourceforge.net/p/brlcad/code/56947/ r56947].
* Still working on rt_hrt_prep().
August 20th
* Modified rt_hrt_prep() function and commited it to [https://sourceforge.net/p/brlcad/code/57004/ r57004].
August 21st
* Working on rt_hrt_shot(). Still to commit.
* Modified comment to add new constant in rt_hrt_prep() in [http://sourceforge.net/p/brlcad/code/57023/ r57023] and [http://sourceforge.net/p/brlcad/code/57035/ r57035].
August 22nd
* Modifying a comment by punctuating the word primitive in super ellipsoid primitive and commited to [http://sourceforge.net/p/brlcad/code/57058/ r57058].
* Understanding how to write the rt_???_shot() function for primitives.
* Adding rt_hrt_shot to intersect a ray with the heart in [http://sourceforge.net/p/brlcad/code/57068/ r57068].
* Tests in the mged using the 'rt' command givers this [http://brlcad.org/~Izak/rt_shot_test.png result].
August 23rd
* Removed unused variable polycurve and fixed function declarations in pc header
and committed to [http://sourceforge.net/p/brlcad/code/57097/ r57097].
* Added rt_hrt_norm() function which Computes the normal to the heart given a point on the heart in [http://sourceforge.net/p/brlcad/code/57100/ r57100].
=August 26th to August 31st=
August 26th
* Experiencing an infection in my left eye so could not work throughout the weekend until today.Couldn't work with one eye.
August 27th
* Researching on solving sextic equations. Found an interesting paper by Titus Piezas III.
* Correcting sextic equation in comment preceeding rt_hrt_shot() implementation in [http://sourceforge.net/p/brlcad/code/57180/ r57180].
August 28th
* Reading papers by Piezas and Thomas Hagerdon to come out with algorithm to write bn_poly_sextic_roots.c.
August 29th - 30th
* Consulting mathematician Titius Piezas for advice on how to solve the sextic equation for rt_hrt_shot() to do ray tracing. Piezas says the equation is solvable using numerical solutions with arbitrary accuracy but is not solvable with respect to radicals in Galois theory.
August 31st
* Researching on root-finding algorithms which can be used to write bn_poly_sextic_roots.c
* Working on rt_hrt_plot to plot the heart.
=September 2nd to September 7th=
September 5th
* Working on roots_example.c to incorporate test for sextic equation.
September 6th
* Changed 4 to BN_MAX_POLY_DEGREE in roots_example.c to avoid any further confusions in [http://sourceforge.net/p/brlcad/code/57469 r57469]. roots_example.c actually solves a sextic equation now.
* Solved the implicit heart equation with x=y=z in order to substitute into the rt_hrt_shot sextic equation and use in roots_example.c
* Running rt command on a hrt object. Picture can be viewed [http://brlcad.org/~Izak/heart.png here].
September 7th
* Produced a [http://brlcad.org/~Izak/Movie.odp slideshow] from images produced after running the 'rt' command on a heart object.
=September 9th to September 14th=
September 9th
* Getting my feet wet with plotting in the mged/archer interface :)
September 10th
* Fixed the orientation of the heart and invalid implicit equation in rt_hrt_shot() in [http://sourceforge.net/p/brlcad/code/57533/ r57533].
* Getting better results from rt_hrt_shot in this [http://brlcad.org/~Izak/Heart.mpg Heart movie].
* Observing the rt_ell_plot() functions to see how the rt_hrt_plot() can be written.
September 14th
* Corrected rt_hrt_bbox() by Stretching the xdir vector to accommodate the heart and rt_hrt_norm() by Correcting Z component of the normal vector (partials of sextic equation) in [http://sourceforge.net/p/brlcad/code/57653/ r57553].
=September 16th to September 21st=
September 16th
* Had an entretien with my University's  Vice- Chancellor and dean of Faculty of Engineering today talking about Summer of Code and approaching Doc Camp .
* Wrote a private helper function rt_hrt_24pts() for rt_hrt_plot(). Have written code to get 2 iso-contours. Still working on some bugs in archer.
September 17th
* Following the stack trace which Sean opened my eyes to on IRC.
September 18th
* Fixed the bumpy areas on the heart by correcting some code in rt_hrt_norm() in [http://sourceforge.net/p/brlcad/code/57728/ r57728].
September 20th
* Corrected the rt_hrt_norm() function so that the default trace shouldn't be doing from high specular to dark shadows in [http://sourceforge.net/p/brlcad/code/57780/ r57780].
=GSoC 2013 summary=
For the past quarter, I've been implementing a heart primitive for the BRL-CAD package. This project focused on writing and testing callback functions in the ray tracing library for the aforementioned primitive.You are invited to read my diary on http://brlcad.org/wiki/User:Izak/GSOC_2013_logs.
Despite the challenges I encountered such as the lack of Internet connectivity for over 5 weeks before the mid-term evaluation period, I hooked the heart primitive into the BRL-CAD source by adding a magic number for the heart in include/magic.h and src/libbu/magic.c, stubbing an empty heart in include/db5.h, include/rtgeom.h, include/raytrace.h,src/librt/db5_types.c,src/librt/primitives/table.c and src/librt/primitives/hrt/hrt.c as well as adding typing support for the heart in the mged interface in include/wdb.h,src/libwdb/wdb.c and src/libged/typein.c.
After the mid-term evaluations,I implemented ray tracing callback functions for serialization (rt_hrt_??port), textual description (rt_hrt_describe, rt_hrt_print) and ray tracing (rt_hrt_prep, rt_hrt_shot and rt_hrt_norm).I also wrote a test to ensure that BRL-CAD's root solver is stable for sextic equations and after consulting some mathematicians, I learned that the heart's sextic equation cannot be solved in radicals -- A pointer to which method does not work :). Feel free to download a heart animation from http://brlcad.org/~Izak/HeartImages/Heart.mpg. You can also look at images of the heart from 360 different angles using http://brlcad.org/~Izak/HeartImages/
As GSoC 2013 comes to an end, my passion to continuously contribute to the open source community grows. I intend to finish the callbacks functions for the heart primitive and hook the heart to the mged and archer interfaces so the heart gets into the next BRL-CAD release :)
Feeling Great! :)

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)