Editing User:GregoryLi/GSoC2022/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 180: Line 180:
 
[[File:rhc_brep_bottom_v1.png|300px]]
 
[[File:rhc_brep_bottom_v1.png|300px]]
 
[[File:rhc_brep_bottom_v1_rt.png|300px]]
 
[[File:rhc_brep_bottom_v1_rt.png|300px]]
 
 
for picture 1, the left obj is rhc primitive, the right is rhc_brep
 
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.
 

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)