Sunday, May 5, 2013

Final Post



Dr. Bellis and I had our last internship meeting on May 1st, following the wonderful poster session. Through the internship, I have acquired much knowledge and skills from Dr. Bellis' instructions and from the experience of making the simulations.


Here's a list of things I learned:
  1. How the coordinate system on Processing work
  2. Codes for drawing lines, point, rectangle, ellipse.
  3. Color codes (gray scale, RGB color--> color selector tool, color transparency)
  4. Learned what the basic set-up codes mean.
  5. Designed a free fall simulation
  6. Designed a projectile motion simulation.
  7. Learned how to display text on the window
  8. Codes for displaying a string (time, position)
  9. Learned how to create buttons on Processing (made previous simulations interactive using the buttons).
  10. Background and history of Dark Matter.
  11. Made an interactive model of sun’s orbit around the center of the galaxy, and the Earth’s orbit around the sun (shows epicycles)
  12. Learned about the history of particle physics (quarks, anti-quark, meson, the November Revolution, Samuel Ting, AMS, WIMP)
  13. Started making a plot on Processing by writing codes to draw the axis and tick marks.
  14. Dr. Bellis made my codes easier to access and understand, and created a new tab that contains all the codes that do not need to be altered.
  15. Drew sine, cosine, and exponental curves on the plotting simulation.
  16. Plotted data points by inserting the positions individually.
  17. Learned how to call up data from a file on to Processing and plot it.
  18. Fixed the tick marks on the axis for the AMS experiment.

Though listing is easy, the effort behind each number lists is inexplicable. Dr. Bellis and I worked hard on developing the simulations. Sometimes we twisted our minds to fix each errors and sometimes we surfed online to search for answers. 

The moments were I find out the solution or the correct codes for a project that Dr. Bellis assigned to me were the motivations that kept me going even when the 'error' notification refuse to vanish for more than ten trial-and-errors. Going off with the deadly 'error' notifications, one challenge that I encountered during this internship is probably finding out which code (or codes) was causing Processing to refuse to produce my simulations. These moments were most often frustrating to the point that I wanted to give up and wait for Dr. Bellis' aid, but then whenever this thought came on, I knew that the solution is coming near. According to my experience, it costs me on average of 45 minutes of being stuck on a problem before the solution bulb in my brain 'blinks' and the answer comes out. The best part of encountering each obstacle is the joy I shared with Dr. Bellis when I showed him the simulations I made. There were always high-fives involved and Dr. Bellis' exciting sharing of my simulations with his colleagues.

I really enjoyed this year's STEM internship with Dr. Bellis. He gave me an incomparable introduction to programming and particle physics.

An advice for next year's science interns: It always seems impossible until it's done, so don't be frustrated by each challenge you meet during your internship, keep trying and the answer will eventually find it's way to you. :)

Suggestion to STEM Program: none :P
Have a nice summer vacation! :)
A world with ice cream planets 


Friday, May 3, 2013

5/1 Poster Session + Last Meeting


My Poster! :)

Today Dr. Bellis and a few of Siena's physics professors came to our poster sessions. During the poster session I shared my work with many teachers at Emma and they all seemed to be very intrigued by the simulations I made and the process of making them. I felt very accomplished and excited when I talked them about my work. I was able to answer most questions the teachers asked me, except one. More than three of the teachers asked me "do you know now long it takes for sun to orbit around the galaxy?" when I introduced them my sun and earth simulation.

So, after some search online, here's the answer to that question:
It takes ~230 million years the solar system to orbit once around the Milky Way Galaxy.

That same afternoon, I arrived at Dr. Bellis' office for our last meeting. He was chatting with another professor about how our school looks like Hogwarts and how our traditions are so funny and odd. When we returned to the office, I fixed the axis (the numbers were off) and figured out that the code for labeling Y-axis needed some change, it did not take into the information we put for yhigh and ylow which made the labels messed up.

Fixed version of the codes: 


 // Draw the tick-marks
        textFont (f,12);

        for (int i=0;i<nytick;i++)
        {
            int ytick_loc = yaxis_window_hi+(i*separationy_ticks)+remaindery_ticks;
            line (mid_x-tick_width,ytick_loc,mid_x+tick_width,ytick_loc); //y-axis marks
 
            float val = (yhigh - (deltay_ticks*i));  --> where the problem was. 
            String sval = nf(val,1,2);
            text (sval,mid_x+tick_width,ytick_loc);
        }

Originally we had int val= (xhigh - (deltay_ticks*i)); which caused the tick marks to be 400, 399, 399, 399, 399 etc.  I figured that xhigh had to be changed to yhigh (yhigh= 0.4) because it is for the y-axis (an obvious mistake). After change, the tick makes became all zero. We then figured out that when we do "int" in front of "val" the computer automatically changed deleted the decimal points and make every value an integer (which is zero in this case because yhigh=0.4). By changing int val to float val, the computer stopped changing the tick marks to integers and the problem was fixed. Looking at the numbers, I was disturbed by the fact that the numbers had extra zeros behind their last decimal points (ex: 0.400, 0.390, 0.380, 0.000, etc.) so I decided to fix them so that they only have two decimal points. While Dr. Bellis was talking with another student, I found a code that can limit the amount of integers in front of and behind the decimal (nf(# or variable, # of decimals to the left, # of decimals to the right)). Our final plot looks like this: 
Data from AMS Experiment
:) Everything is right!