Latest revision |
Your text |
Line 3: |
Line 3: |
| <h1>Community Bonding Period</h1> | | <h1>Community Bonding Period</h1> |
| | | |
| + | ==Friday, June 5, 2022== |
| + | * Rebuild BRL-CAD on a new computer. |
| + | * Read BRL-CAD NURBS Boolean Evaluation Development Guide: Chapter 1 to 3. |
| + | |
| + | ==Monday, June 7, 2022== |
| * familiar with arb8 convert to brep code | | * familiar with arb8 convert to brep code |
| * Read BRL-CAD NURBS Boolean Evaluation Development Guide. | | * Read BRL-CAD NURBS Boolean Evaluation Development Guide. |
| + | |
| + | ==Tuesday, June 8, 2022== |
| * Look into arb8_brep and brep_simple. | | * Look into arb8_brep and brep_simple. |
| * Test converting arb8 to brep. | | * Test converting arb8 to brep. |
− |
| |
− | <h1>Work Period</h1>
| |
− |
| |
− | ==Wednesday, June 15, 2022==
| |
− | * Test converting arb8 into brep format with non-planar faces. -- get the differences of the output of them, but the result of brep_simple.cpp seems confusing.
| |
− | * Compare codes of brep_simple.cpp and arb8_brep.cpp. -- mastered brep_simple
| |
− | * Replace the input data in brep_simple with arb8. -- a beginning
| |
− |
| |
− | ==Thursday, June 16, 2022==
| |
− | * Run and analyze the result of examples about brep, record errors found.
| |
− | * Write one example about converting arb8 into brep. -- about 75% completion
| |
− |
| |
− | ==Friday, June 17, 2022==
| |
− | * Write one example about converting arb8 into brep. -- accomplish
| |
− | * Read code of current examples about creating and processing object.
| |
− |
| |
− | ==Saturday, June 18, 2022==
| |
− | * Read code of OpenNURBS.
| |
− | * Read code and docs about brep.
| |
− |
| |
− | ==Monday, June 20, 2022==
| |
− | * Test simple cases of boolean then brep(arb intersection).
| |
− | * Read code of OpenNURBS.
| |
− | * Reorganize code about example.
| |
− |
| |
− | ==Tuesday, June 21, 2022==
| |
− | * Test simple cases of boolean then brep(face intersection).
| |
− | * Read docs about previous Brep work.
| |
− |
| |
− | ==Wednesday, June 22, 2022==
| |
− | * Learn about ''nurb surface'' usage.(face_g_snurb)
| |
− | * Write one project about testing brep simple cases. -- about 65% completion
| |
− |
| |
− | ==Thursday, June 23, 2022==
| |
− | * Write one project about testing brep simple cases. -- complete
| |
− | * Reading docs and codes about brep.
| |
− |
| |
− | ==Friday, June 24, 2022==
| |
− | * Test surface interesct cases.
| |
− | * Reading docs and codes about brep.
| |
− |
| |
− | ==Monday, June 27, 2022==
| |
− | * Read ''surfaceinteresct'' project and try to debug
| |
− | * Read codes related to brep(''rt_comb_brep'' ''ON_Boolean'' etc)
| |
− |
| |
− | ==Tuesday, June 28, 2022==
| |
− | * Read codes related to brep and try debugging
| |
− |
| |
− | ==Wednesday, June 29, 2022==
| |
− | * Reorganize and test ''brep_arbintersection'' project
| |
− |
| |
− | ==Thursday, June 30, 2022==
| |
− | * Compare the code stack difference between archer and my test case about ''_brep_cmd_brep''
| |
− |
| |
− | ==Friday, July 1, 2022==
| |
− | * Compare the code stack difference between archer and my test case about ''_brep_cmd_brep''
| |
− | * Rewrite brep test case
| |
− |
| |
− | ==Monday, July 4, 2022==
| |
− | * Solve build errors after git pull.
| |
− | * ebug brep using file output system.
| |
− |
| |
− | ==Tuesday, July 5, 2022==
| |
− | * Debug brep using file output system.
| |
− |
| |
− | ==Wednesday, July 6, 2022==
| |
− | * Ditto
| |
− |
| |
− | ==Thursday, July 7, 2022==
| |
− | * Solve the inconsistent problem about converting brep in test case and Archer
| |
− | * Debug brep using file output system.
| |
− |
| |
− | ==Monday, July 11, 2022==
| |
− | * Reread NURBS Development Guide
| |
− |
| |
− | ==Tuesday, July 12, 2022==
| |
− | * Debug: tracking and call stack from test_UNION into ON_Boolean
| |
− | * Find multiple outputs with the same operation among three BRL-CAD versions:
| |
− | - current main branch -- missing faces
| |
− | - BRL-CAD 7.32.6 release package -- correct
| |
− | - project build with BRL-CAD 7.32.6 source code -- crashed
| |
− |
| |
− | ==Wednesday, July 13, 2022==
| |
− | * Compare differences between different branch and commits
| |
− | - project build with BRL-CAD 7.32.6 source code in RELEASE mode - correct for arb_4.r test case, error for arb_3.r
| |
− | - project build with BRL-CAD 7.32.6 source code in DEBUG mode - crash
| |
− | - current main branch -- error for arb_3.r/arb_4.r
| |
− | - initial commit of RELEASE branch -- correct for arb_4.r test case, error for arb_3.r
| |
− |
| |
− | ==Thursday, July 14, 2022==
| |
− | * Find where introduced the error in main branch.
| |
− | * Test and compare different brep cases cross different code versions.
| |
− |
| |
− | ==Friday, July 15, 2022==
| |
− | * Find where introduced the error in main branch using bisect. --around *1583360* commit
| |
− | * Read codes about primitives convert to brep.
| |
− |
| |
− | ==Saturday, July 16, 2022==
| |
− | * Check map from old dplot command to brep.
| |
− |
| |
− | ==Monday, July 18, 2022==
| |
− | * generate 125 arb union cases then convert them to brep.
| |
− |
| |
− | ==Tuesday, July 19, 2022==
| |
− | * append intersection and subtraction test cases (125 * 2).
| |
− |
| |
− | ==Wednesday, July 20, 2022==
| |
− | * Test intersection and subtraction test cases using commands.
| |
− | * learn to use nirt command.
| |
− |
| |
− | ==Thursday, July 21, 2022==
| |
− | * Reposition test cases to a grid.
| |
− | * Formal objects' names.
| |
− |
| |
− | ==Friday, July 22, 2022==
| |
− | * Test to convert primitives to brep, record issues.
| |
− |
| |
− | ==Monday, July 25, 2022==
| |
− | * Create a new project to convert primitives to brep format. --abandoned later
| |
− |
| |
− | ==Tuesday, July 26, 2022==
| |
− | * Use shell to convert primitives to brep format.
| |
− | * Shot the primitives and breps using nirt.
| |
− |
| |
− | ==Wednesday, July 27, 2022==
| |
− | * Try to evaluate brep obj using nirt.
| |
− |
| |
− | ==Thursday, July 28, 2022==
| |
− | * Try to evaluate brep obj using nirt.
| |
− | * Test and understand rhc primitive.
| |
− |
| |
− | ==Friday, July 29, 2022==
| |
− | * Ask for leave
| |
− |
| |
− | ==Monday, August 1, 2022==
| |
− | * Solve conficts between main and my dev branch. --error in generating, can't debug. rollback
| |
− | * Investigate the call stack of rhc brep.
| |
− | - error 1: the bottom of rhc in brep format is larger than rhc in primitive format
| |
− | - error 2: the orient of the bottom is not correspond to it's wireframe
| |
− |
| |
− | ==Tuesday, August 2, 2022==
| |
− | * Look into code call stack while converting rhc to brep and curve drawing.
| |
− | * Read and understand formula of bezier curve.
| |
− |
| |
− | ==Wednesday, August 3, 2022==
| |
− | * sleuth source code on the math.
| |
− | * Look into memory changes while plotting bezier curve.
| |
− |
| |
− | ==Thursday, August 4, 2022==
| |
− | * Test with using relative coordinates while scaling the position of a vertex on the curve.
| |
− |
| |
− | ==Friday, August 5, 2022==
| |
− | * Test reshape the bottom by changing source code according to formula.
| |
− |
| |
− | ==Monday, August 8, 2022==
| |
− | * Sleuth the formula by openNURBS source code.
| |
− | * Monitor variables change while drawing curcve of rhc_brep.
| |
− |
| |
− | ==Tuesday, August 9, 2022==
| |
− | * Solve the problem by changing the codes of openNURBS: mourning Casteljau, just caculate using NURBS.
| |
− | [[File:rhc_brep_bottom_v0.png|300px]]
| |
− |
| |
− | ==Wednesday, August 10, 2022==
| |
− | * sleuth source code on the math.
| |
− | * Look into memory changes while plotting bezier curve.
| |
− |
| |
− | ==Thursday, August 11, 2022==
| |
− | * debug creating rhc_brep's side face and top face.
| |
− |
| |
− | ==Friday, August 12, 2022==
| |
− | * Look into Casteljau algorithm for NURBS.(It's used for openNURBS drawing curve)
| |
− | [[File:rhc_brep_bottom_v1.png|300px]]
| |
− | [[File:rhc_brep_bottom_v1_rt.png|300px]]
| |
− |
| |
− | for picture 1, the left obj is rhc primitive, the right is rhc_brep
| |
− |
| |
− | ==Monday, August 15, 2022==
| |
− | * Sleuthing on the math about Casteljau algorithm and nurbs of source code.
| |
− | for Casteljau algorithm: https://pages.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/de-casteljau.html
| |
− | for nurbs of order 2 with weight,the answer is correct if we multiply the original coordinates of control point 2 by the factor 1/w2.
| |
− | * Debug rhc bottom drawing by changing the weight of second control point.
| |
− |
| |
− | ==Tuesday, August 16, 2022==
| |
− | Begin debugging epa primitive brep converting.
| |
− | * Test to convert epa into brep format in different position and rotation, find the upper part stay still at the origin point.
| |
− | * Look into math expression and algorithm of nurbs surface.
| |
− |
| |
− | ==Wednesday, August 17, 2022==
| |
− | * Try to pan all the control points according to epa primitive position, the nurbs surface git into chaos.
| |
− | * Guess the reason is similar to the nurbs curve, look into math expression and drawing algorithm of nurbs surface.
| |
− |
| |
− | ==Thursday, August 18, 2022==
| |
− | * Look into rotating NURBS surfaces by transforming controls points.
| |
− | * Try to write a transform function of NURBS surface.
| |
− |
| |
− | ==Friday, August 19, 2022==
| |
− | * Read nurbs surface source codes, find the function already done in OpenNURBS.
| |
− | * Fix pan transform by caculating a pan matrix of 4x4.
| |
− | * Study usage and caculation of transform matrix according to [https://sites.cs.ucsb.edu/~lingqi/teaching/resources/GAMES101_Lecture_03.pdf ppt1] and [https://sites.cs.ucsb.edu/~lingqi/teaching/resources/GAMES101_Lecture_04.pdf ppt2].
| |
− |
| |
− | ==Saturday, August 20, 2022==
| |
− | * Try to caculate the rotation matrix by rotate axis and degree according to page 10 of [https://sites.cs.ucsb.edu/~lingqi/teaching/resources/GAMES101_Lecture_04.pdf ppt2], failed.
| |
− | * Find the transform can be divided into one pan and two rotation(the 1st is axis rotation, the 2rd is rotation around axis). Sleuth math expression and code. Result failed.
| |
− |
| |
− | ==Sunday, August 21, 2022==
| |
− | * Find the transform is related to coordinate systems transform, study it according to [https://stackoverflow.com/questions/34391968/how-to-find-the-rotation-matrix-between-two-coordinate-systems forum]
| |
− | * Caculate and combine rotation matrix. origin shift rotation matix and pan vector, solve the epa brep converting problem.
| |
− |
| |
− | ==Tuesday, August 23, 2022==
| |
− | * sleuth the formula about hyperbola according to [https://pages.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/NURBS/RB-conics.html Rational Bézier Curves]
| |
− | * sleuth the formula of drawing rhc primitive codes.(rhc.c rt_rhc_plot())
| |
− | * sleuth the formula of caculating control points and weights of NURBS of hyperbola.(rhc_brep.cpp rt_rhc_brep)
| |
− |
| |
− | ==Wednesday, August 24, 2022==
| |
− | * Caculate control points and weights of hyperbola, debug hyperbola curve.[https://www.desmos.com/calculator/adbpzvkbjf reference link]
| |
− | * Fix and test drawing bottom face of rhc by modify control points and weights of NURBS.
| |
− |
| |
− | ==Thursday, August 25, 2022==
| |
− | * write a shell script to test rhc primitive brep converting.
| |
− | * test rhc primitive brep converting.
| |
− |
| |
− | ==Monday, August 29, 2022==
| |
− | * add a rotation for every primitive in sh/brep_primitive.sh and check whether the brep result are correct or not. --correct
| |
− | * Sleuthing on the math about getting points of hyperbola.(src/librt/primitives/rhc/rhc.c rt_mk_hyperbola())
| |
− |
| |
− | ==Tuesday, August 30, 2022==
| |
− | * reorganize brep_arbintersection function.
| |
− | * add a function creating sph boolean and brep matrix.
| |
− |
| |
− | ==Wednesday, August 31, 2022==
| |
− | * solve pull request conflicts with main.
| |
− | * add a function creating rcc boolean and brep matrix.
| |
− | * sort out my develop branches to create pull requests. [https://github.com/BRL-CAD/brlcad/pull/56 PR56][https://github.com/BRL-CAD/brlcad/pull/57 PR57]
| |
− |
| |
− | ==Thursday, September 1, 2022==
| |
− | * add command line argument to specific primitive.
| |
− | * reread ''bool_eval_development'' document.
| |
− |
| |
− | ==Friday, September 2, 2022==
| |
− | * optimize ON_Brep function (ON:Begin and ON:End) call positions.
| |
− | * run dplot, brep, overlay cmds to test which commands are still available and how to debug boolean function.
| |
− |
| |
− | ==Monday, September 5, 2022==
| |
− | * locating boolean error codes. --get_face_intersection_curves function return empty while testing, it's irregular.
| |
− | * config ''docbook'' to compile ''bool_eval_development''.
| |
− |
| |
− | ==Tuesday, September 13, 2022==
| |
− | * Look into and debug dplot.c.
| |
− | * read ''bool_eval_development'' about dplot usage.
| |
− |
| |
− | ==Wednesday, September 14, 2022==
| |
− | * Look into and track calling stack of every sub cmd of dplot cmd.
| |
− | * Use overlay function to plot boolean files, some files can't be plotted. Current version of the code can't introduce trim event.
| |
− |
| |
− | ==Thursday, September 15, 2022==
| |
− | * fix ''dplot_overlay'' function in dplot.c about passing parameters and calling overlay cmd.
| |
− |
| |
− | ==Friday, September 16, 2022==
| |
− | * erase all faces plot in the end of ''dplot * faces''.
| |
− | * test overlay cmd to plot faces of one cube. Overlay can't display multiple faces of one cube at the same time.
| |
− |
| |
− | ==September 19 to September 23==
| |
− | * leave for school things and COVID-19 policy
| |
− |
| |
− | ==Monday, September 26, 2022==
| |
− | * switch the origin commit to a previous version, make sure the brep cmd will introduce face trim operation to help debug dplot cmd.
| |
− | * display bool*_brep*_surface*.plot3 files instead of curves in dplot * faces
| |
− |
| |
− | ==Tuesday, September 27, 2022==
| |
− | * fix overlay all faces in ''dplot * ssx'' by using globbing.
| |
− | * dplot ssx event using bool*_highlight_brep*_surface*.plot3 files instead of ssx_event*.plot3, because some ssx_event*.plot3 and clipped_curve can't be plotted using overlay cmd.
| |
− |
| |
− | ==Wednesday, September 28, 2022==
| |
− | * test to overlay bool* files created by different cases and different commits.
| |
− |
| |
− | ==Thursday, September 29, 2022==
| |
− | * Configure the docbook compilation environment on windows.
| |
− | * update ''NURBS Boolean Evaluation Development Guide'' about dplot usage.
| |
− |
| |
− | ==Friday, September 30, 2022==
| |
− | * optimize files to be overlayed in dplot command.
| |
− | * plot faces and bool*_ssx*_event*.plot3 using "dplot * ssx *"
| |
− |
| |
− | ==Monday, October 3, 2022==
| |
− | * Read codes about how to get trimmed face before *8a508c8f* commit.
| |
− | * find why plot files can't be plotted using the overlay command. Reading codes creating and plotting them.
| |