Editing User:Al Da Best/devlog

From BRL-CAD

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 6: Line 6:
 
===Current===
 
===Current===
  
Status:  
+
Status: Working on compiling BRL-CAD with Bullet Library
Working on fluids system, starting with drag caused from falling object.
 
  
TODO:<br>
+
TODO: Gain Commit access before 21st May
Gain Commit access ASAP<br>
 
Work out how density is handled during simulation and add it to the mass/volume calculations in a more accurate fashion.
 
WOrking out how to best calculate the coefficient of drag for objects.
 
 
 
Coding Environments Status:<br>
 
VS2010x64 : Success, no bullet.<br>
 
Fedora 17 KDE-Spin : Success, Bullet running.
 
  
  
Line 24: Line 16:
 
====April 2012====
 
====April 2012====
  
BRLCAD compiled and run with Windows Visual Studio 10 x64 Debug
+
BRLCAD compiled and run with Windows Visual Studio x64 Debug
  
  
Line 32: Line 24:
 
8th : Updated Wiki pages
 
8th : Updated Wiki pages
  
9th-10th : Tried to compile BRLCAD with bullet on VS2010, consistently recieved 63/70+ errors for debug/release versions. Using linux as development environment until I have a chance to fix issues.
 
 
11th-12th : Setup a Fedora 16 environment with BRLCAD compiled and running simulations.
 
 
13th-16th : Testing various simulations, spent time looking through the simulation code to learn more about how it currently works and how to best implement new features.
 
 
24-25th : Reinstalling Windows on my SSD (From HDD), computer unavailable for a day
 
26th : Everything back to normal with PC, build times using VS2010 decreased from 3+ hours to 9 minutes (from clean)
 
 
27th-29th : Fixed issues with SA/Centroid functions for Ellipsoid Primitive patch
 
 
29th : Patch for Surface Area for Ellipsoid Primitive accepted<br>
 
29th : Downloaded Fedora 17 and began to set it up for brlcad development
 
 
30th : Successfully built and installed brlcad on Fedora 17, as well as ran some small test simulations without issue.<br>
 
30th : Working on a function to calculate the gravitational force between every object in the simulation, in order to be able to calculate the acceleration between them.
 
 
31st : Continued work on aforementioned function, testing tomorrow for patch submission.
 
 
====June 2012====
 
 
2nd : Submitted initial patch for implementation of gravity forces between rigid bodies.
 
 
4th : Added to patch with a small update for calculating mass using the bounding box of an object, and using that to find the volume, assuming a density of one. Density to be integrated better soon.
 
 
5th : Working on the resolving of acceleration due to gravitational force, mainly how to store the information since there will be n(n-1) number of forces which will then be condensed to n number of accelerations, where n is the number of rigid bodies.
 
 
6th-8th : Finished work on resolving the acceleration and begun working on how to integrate this into the current simulation, in terms of running the calculations every time and altering the linear_velocity values of the rigid bodies.
 
 
11-15th : Continue work on gravitational functions.
 
 
16th-17th : Looking at how better to implement mass and center of mass. Trying to learn how to utilise gqa.c and also whether it would be best to add to the rigid_body struct with volume, mass and center of mass (as opposed to center of BB) for use in gravity functions to avoid repeatedly recalculating it.
 
 
18th - 22nd : Continued work on gravitational function. Working out how to intergrate the changing angular and linear velocities into the bullet simulation, since the brlcad system would ideally recalculate this every step.
 
 
23rd - 26th : Finalising the gravity calculations and working on the fluid system. Need to work out suitable intervals for these calculations. 60 times per second would be a massive performance hit, even with the calculations themselves being relatively simple.
 
 
27th - 29th : Finishing off the gravity, videos coming soon (with highly exaggerated values to make it obvious, movement is negligible with small mass objects, or large distances).
 
 
30th : Continue working on fluid. Namely how to best teach the system to use the best coefficient of drag for a shape.
 
 
====July 2012====
 
 
1st - 2nd : Integrating into system with a similar method to gravity, alter the acceleration for the rigid body then use that to change the velocity every step.
 
 
3rd - 5th : Learning about how to go about creating video footage. Will need to save a render of every step of the simulation, I think. Also worked on testing the drag functions.
 
 
6th - 7th : Changed how mass is handled in the simulation, added new parameter to rigid_body structure to handle this. Temp using bb_vol assuming density is 1 to calculate mass, will be changed to something more precise soon. Also working on making sure the drag function gets the right area, and started to try and calculate any rotational forces around a rigid body
 
 
8th : Tested basic drag and gravity functions with rest of simulation and values output are correct with my calculations. Made progress with video. Still working on how to calculate the surface area for drag function, as well as how to get a reasonable coefficient of drag.
 
 
9th : Accidentally broke my fedora VM by running a simulation with 1 million steps as an experiment. Files were backed up, currently setting up another one, trying out the KDE distribution of fedora. Issue with building that I will fix tomorrow (fb.h, unknown types window, XVisualInfo, and a couple of others on line 136) and then I will debug the error. VM broke due to a full harddrive of error messages as far as I can tell. Error was somehow related to collision, from the little I could make out from the mass of error messages. Situation was a simple sphere dropping onto a surface.
 
 
10th : Wasted several hours getting a new VM working, had compile issues. Now working again, however. Came across an error in one of my functions whilst debugging, which involved NaN results. Working on finding the cause and will fix asap.
 
 
11th : Fixed NaN results, had a 0/0 division which I changed. Also refined code to better handle ground plane with respect to gravity from it (i.e ignore it). Gravity is still counted as 10 down, with the gravitational attraction seperate. Should be in position to finally make video tomorrow morning.
 
  
12th : Ran simulation and took raytraces at 50 step intervals. Looks like the groundplane moves, which isn't meant to happen. Will look into this and check it's not moving, and if it is stop it. Also changed use of gqa slightly, and implemented a, for now, debug usage rt, which I intend to make a user option later on, if they wish to automatically have the simulation saved as several (hundred/thousand) images.
 
  
 
===Development Schedule===
 
===Development Schedule===

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)