Difference between revisions of "User:Crdueck"

From BRL-CAD
m (fixed typos, some formating)
Line 101: Line 101:
 
==My Initial Patch==
 
==My Initial Patch==
 
As a warm up to gain knowledge about the internals of BRLCAD, I decided to implement a volume function for a simple primitive.
 
As a warm up to gain knowledge about the internals of BRLCAD, I decided to implement a volume function for a simple primitive.
After some discussion on #brlcad, I chose a sph for its simplicity. You can find my patch notes here:
+
After some discussion on #brlcad, I chose an ell for its simplicity. You can find my patch notes here:
  
 
https://sourceforge.net/tracker/?func=detail&aid=3513421&group_id=105292&atid=640804
 
https://sourceforge.net/tracker/?func=detail&aid=3513421&group_id=105292&atid=640804
  
 
If you have any comments on this patch please let me know :)
 
If you have any comments on this patch please let me know :)

Revision as of 13:39, 1 April 2012

Personal Info

Hello, my name is Chris. I'm a first year mathematics student at the University of Waterloo (Canada) with a strong interest in computer science and programming.

Contact Info

email: crdueck@uwaterloo.ca

alt: cdueck93@gmail.ca

irc: crdueck (find me on freenode, i'll be in #brlcad)

Programming Experience

I have experience with C (as well as Scheme and Python), and would be more than happy to have an opportunity to learn some C++ while working on my project.

Most of my experience so far has come from school assignments, projecteuler.net (programming challenges with a mathematical twist, check it out if you haven't heard of it before), and small personal pet projects.

I have knowledge of data structures and algorithms from my courses at school.

I have a solid foundation in basic university level mathematics (one of my primary reasons for wanting to participate⋅ in the GSoC is to further my mathematical knowledge in the subject of computer generated models)

Project Summary

Currently, most primitives in BRLCAD do not have volume, centroid, or surface area functions. My goal is to implement volume and centroid functions for at least:

  • - ell (and sph)
  • - tor
  • - rec
  • - rcc
  • - hyp
  • - arb8
  • - arbn
  • - pipe

These primitives are mostly simple solids of revolution or other simple shapes and thus it will be easy to construct explicit formulas for their volumes and centroids.

Proposal

~WIP~

Timeline

  • Present - May 21
    • - compile BRLCAD from SVN source, ensure build environment is working
    • - become familiar with submitting patches to SVN
    • - become familiar with source code for my targeted primitives
    • - get comfortable with using mged to generate primitives for testing
    • - participate with the BRLCAD community on irc, mailing list etc
  • Week 1 (May 22nd to 27th)
    • - implement a volume and centroid function for ell
    • - test implementation for correctness
  • Week 2 (May 28th to June 3rd)
    • - implement a volume and centroid function for tor
    • - test implementation for correctness
  • Week 3 (June 4th to 10th)
    • - implement a volume and centroid function for rec and rcc
    • - test implementation for correctness
  • Week 4/5 (June 11th to 24th)
    • - implement a volume and centroid function for arb8 and arbn
    • - test implementation for correctness
  • Week 6/7 (June 25th to July 1st)
    • - implement a volume and centroid function for pipe (lin_pipe and bend_pipe)
    • - test implementation for correctness
  • Week 8 (July 2nd - 8th)
    • - time to review code, more testing
  • Week 9 (July 9th - 13th)
    • - midterm evaluation
  • Week 10 (July 14th - 22nd)
    • - ???
    • - implement surface area functions for choice functions?
    • - project might need more content

Me && GSoC

I want to participate in GSoC 2012 for many reasons. Firstly, to develop a stronger understanding of how⋅ mathematics is implemented by computers in the real world. My courses at school consist of a lot of theory, and I haven't seen much of the application side of things yet. When searching for a potential organization to apply to, I knew i wanted to work on mathematics related software, BRL-CAD caught my eye right away.

I also hope to greatly expand my programming skills in a real world development setting. I feel that i can improve myself as a programmer by leaps and bounds this summer by working with the devs at BRL-CAD. This is also a great chance to get involved with the open-source community. As an avid user of open-source software, contributing back to an open-source project has been something I have wished to pursue for a while now, but am just recently confident enough in my skills to be able to meaningfully contribute. If accepted, I plan on continuing my involvement with BRLCAD after GSoC ends, moving on to more challenging tasks. Having already invested some time familiarizing myself with BRLCAD's source library, I'm considering completing some of my proposed goals this summer even if my application is already unsuccessful.

My Initial Patch

As a warm up to gain knowledge about the internals of BRLCAD, I decided to implement a volume function for a simple primitive. After some discussion on #brlcad, I chose an ell for its simplicity. You can find my patch notes here:

https://sourceforge.net/tracker/?func=detail&aid=3513421&group_id=105292&atid=640804

If you have any comments on this patch please let me know :)