Difference between revisions of "User:Crdueck"

From BRL-CAD
m (GSoC 2012 - crdueck ~WIP~)
 
(added markup, first patch info)
Line 1: Line 1:
~WIP - No Markup ~
+
==Personal Info==
  
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.
  
Hello, my name is Chris. I'm a first year mathematics student at the University of Waterloo (Canada) with a strong⋅
+
==Contact Info==
interest in computer science and programming.
 
  
Contact Info
+
email: crdueck@uwaterloo.ca,
 
+
alt: cdueck93@gmail.ca,
email: crdueck@uwaterloo.ca
 
alt: cdueck93@gmail.ca
 
 
irc: crdueck (find me on freenode, i'll be in #brlcad)
 
irc: crdueck (find me on freenode, i'll be in #brlcad)
  
Programming Experience
+
==Programming Experience==
  
 
I have experience with C (as well as Scheme and Python), and would be more than happy to have an
 
I have experience with C (as well as Scheme and Python), and would be more than happy to have an
Line 25: Line 22:
 
in the GSoC is to further my mathematical knowledge in the subject of computer generated models)
 
in the GSoC is to further my mathematical knowledge in the subject of computer generated models)
  
Project Summary
+
==Project Summary==
  
 
Currently, most primitives in BRLCAD do not have volume, centroid, or surface area functions. My goal is to
 
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:
 
implement volume and centroid functions for at least:
- ell (sph)
+
*- ell (sph)
- tor
+
*- tor
- rec
+
*- rec
- rcc
+
*- rcc
- hyp
+
*- hyp
- arb8
+
*- arb8
- arbn
+
*- arbn
- pipe
+
*- pipe
  
 
These primitives are mostly simple solids of revolution or other simple shapes and thus it will be easy to
 
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.
 
construct explicit formulas for their volumes and centroids.
  
Proposal
+
==Proposal==
 
~WIP~
 
~WIP~
  
Timeline
+
==Timeline==
  
Present - May 21
+
*Present - May 21
- compile BRLCAD from SVN source, ensure build environment is working
+
**- compile BRLCAD from SVN source, ensure build environment is working
- become familiar with submitting patches to SVN
+
**- become familiar with submitting patches to SVN
- become familiar with source code for my targeted primitives
+
**- become familiar with source code for my targeted primitives
- get comfortable with using mged to generate primitives for testing
+
**- get comfortable with using mged to generate primitives for testing
- participate with the BRLCAD community on irc, mailing list etc
+
**- participate with the BRLCAD community on irc, mailing list etc
  
Week 1 (May 22nd to 27th)
+
*Week 1 (May 22nd to 27th)
- implement a volume and centroid function for ell
+
**- implement a volume and centroid function for ell
- test implementation for correctness
+
**- test implementation for correctness
  
Week 2 (May 28th to June 3rd)
+
*Week 2 (May 28th to June 3rd)
- implement a volume and centroid function for tor
+
**- implement a volume and centroid function for tor
- test implementation for correctness
+
**- test implementation for correctness
  
Week 3 (June 4th to 10th)
+
*Week 3 (June 4th to 10th)
- implement a volume and centroid function for rec and rcc
+
**- implement a volume and centroid function for rec and rcc
- test implementation for correctness
+
**- test implementation for correctness
  
Week 4/5 (June 11th to 24th)
+
*Week 4/5 (June 11th to 24th)
- implement a volume and centroid function for arb8 and arbn
+
**- implement a volume and centroid function for arb8 and arbn
- test implementation for correctness
+
**- test implementation for correctness
  
Week 6/7 (June 25th to July 1st)
+
*Week 6/7 (June 25th to July 1st)
- implement a volume and centroid function for pipe (lin_pipe and bend_pipe)
+
**- implement a volume and centroid function for pipe (lin_pipe and bend_pipe)
- test implementation for correctness
+
**- test implementation for correctness
  
Week 8/9 (July 2nd - 8th)
+
*Week 8/9 (July 2nd - 8th)
- time to review code, more testing
+
**- time to review code, more testing
  
Week 10 (July 9th - 13th)
+
*Week 10 (July 9th - 13th)
- midterm evaluation
+
**- midterm evaluation
  
Week 11 (July 14th - 22nd)
+
*Week 11 (July 14th - 22nd)
- ???
+
**- ???
- implement surface area functions for choice functions?
+
**- implement surface area functions for choice functions?
- project needs more content
+
**- project might need more content
  
Me && GSoC
+
==Me && GSoC==
  
 
I want to participate in GSoC 2012 for many reasons. Firstly, to develop a stronger understanding of how⋅
 
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,
 
mathematics is implemented by computers in the real world. My courses at school consist of a lot of theory,
and I havent seen much of the application side of things yet. When searching for a potential organization to
+
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.
 
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
 
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
 
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 opensource community. As an avid user of opensource software, contributing⋅
+
a great chance to get involved with the open-source community. As an avid user of open-source software, contributing
back to an opensource project has been something I have wished to pursue for a while now, but am just recently confident
+
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 involvment with BRLCAD.
+
enough in my skills to be able to meaningfully contribute. If accepted, I plan on continuing my involvement with BRLCAD
Having already invested some time familiarizing myself with BRLCAD's source library, i'm considering completing some
+
after GSoC ends, moving on to more challenging tasks. Having already invested some time familiarizing myself with
of my proposed goals this summer even if my application is unsuccesful.
+
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 a sph 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 :)

Revision as of 23:27, 31 March 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 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 (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/9 (July 2nd - 8th)
    • - time to review code, more testing
  • Week 10 (July 9th - 13th)
    • - midterm evaluation
  • Week 11 (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 a sph 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 :)