From e6f9fdae5b12f551673b707c9a6fef894112b89e Mon Sep 17 00:00:00 2001 From: Evan Kiefl Date: Wed, 3 Apr 2024 23:33:21 -0500 Subject: [PATCH 1/4] Add paper.md and github action --- .github/workflows/paper.yml | 22 + paper.bib | 936 ++++++++++++++++++++++++++++++++++++ paper.md | 81 ++++ 3 files changed, 1039 insertions(+) create mode 100644 .github/workflows/paper.yml create mode 100644 paper.bib create mode 100644 paper.md diff --git a/.github/workflows/paper.yml b/.github/workflows/paper.yml new file mode 100644 index 00000000..1c0f1990 --- /dev/null +++ b/.github/workflows/paper.yml @@ -0,0 +1,22 @@ +on: [push] + +jobs: + paper: + runs-on: ubuntu-latest + name: Paper Draft + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build draft PDF + uses: openjournals/openjournals-draft-action@master + with: + journal: joss + paper-path: paper.md + - name: Upload + uses: actions/upload-artifact@v1 + with: + name: paper + # This is the output path where Pandoc will write the compiled + # PDF. Note, this should be the same directory as the input + # paper.md + path: paper.pdf diff --git a/paper.bib b/paper.bib new file mode 100644 index 00000000..792de2d1 --- /dev/null +++ b/paper.bib @@ -0,0 +1,936 @@ +@ARTICLE{Pinzon2017-jv, + title = "Billiard game parameters calculation using a depth camera for + augmented reality applications", + author = "Pinzon, Diego Mauricio Rivera and Gonzalez, Edilberto Carlos + Vivas and Gomez, Edwar Jacinto", + journal = "Contemp. Eng. Sci.", + publisher = "Hikari, Ltd.", + volume = 10, + pages = "1171--1180", + year = 2017 +} + +@INPROCEEDINGS{Fu2022-vl, + title = "Visual aided training of billiards based on depth estimation", + booktitle = "2022 {IEEE} Conference on Telecommunications, Optics and + Computer Science ({TOCS})", + author = "Fu, Jiyuan and Wang, Weining and Chang, Lechang", + abstract = "Billiards is a popular recreational sport, but because of the + strong technical movement, beginners can not choose the relevant + shot path. Given this situation, it is very promising and + meaningful to use computer vision to assist billiards. However, + due to the limited height and size of billiard ball, mobile + phone photography can only get a side view, unable to accurately + convey the cue ball's relative position and other balls. + Therefore, the white ball hitting path planning can not achieve + the ideal hitting effect in reality to assist users. This paper + proposes a method of calculating the relative position of the + cue ball and other balls by using monocular depth estimation and + restoring them to the top view. Traditional monocular depth + estimation requires the artificial assumption that the + relationship between RBG image and depth satisfies a certain + parameter model, which results in limited prediction accuracy + and consumes computational resources. In this paper, the + monocular prediction method based on deep learning is adopted, + and the combination of PVCNN and global feature extraction + method is proposed, which can improve the prediction accuracy + and reduce memory consumption. The experimental results show + that this method can be used to estimate the depth of + information of billiards, which lays a foundation for the + visual-assisted training of billiards based on mobile phones.", + publisher = "IEEE", + pages = "397--403", + month = dec, + year = 2022 +} + +@INPROCEEDINGS{Fu2022-ww, + title = "Visual aided training of billiards based on depth estimation", + booktitle = "2022 {IEEE} Conference on Telecommunications, Optics and + Computer Science ({TOCS})", + author = "Fu, Jiyuan and Wang, Weining and Chang, Lechang", + abstract = "Billiards is a popular recreational sport, but because of the + strong technical movement, beginners can not choose the relevant + shot path. Given this situation, it is very promising and + meaningful to use computer vision to assist billiards. However, + due to the limited height and size of billiard ball, mobile + phone photography can only get a side view, unable to accurately + convey the cue ball's relative position and other balls. + Therefore, the white ball hitting path planning can not achieve + the ideal hitting effect in reality to assist users. This paper + proposes a method of calculating the relative position of the + cue ball and other balls by using monocular depth estimation and + restoring them to the top view. Traditional monocular depth + estimation requires the artificial assumption that the + relationship between RBG image and depth satisfies a certain + parameter model, which results in limited prediction accuracy + and consumes computational resources. In this paper, the + monocular prediction method based on deep learning is adopted, + and the combination of PVCNN and global feature extraction + method is proposed, which can improve the prediction accuracy + and reduce memory consumption. The experimental results show + that this method can be used to estimate the depth of + information of billiards, which lays a foundation for the + visual-assisted training of billiards based on mobile phones.", + publisher = "IEEE", + pages = "397--403", + month = dec, + year = 2022 +} + +@ARTICLE{Gao2018-tb, + title = "Design of an efficient multi-objective recognition approach for + 8-ball billiards vision system", + author = "Gao, Jiaying and He, Qiuyang and Gao, Hong and Zhan, Zhixin and + Wu, Zhe", + abstract = "In this paper, some key technologies based on colour image + processing for 8-ball billiards robot vision system are discussed + and an efficient approach for multi-objective recognition is + proposed. This approach is divided into two parts, i.e. + multi-objective detection and ball pattern recognition. In image + pre-processing, the normalized RGB colour space and histogram + statistics are adopted for segmentation of background (table + cover) and foregrounds. In order to accurately locate and isolate + the single ball in a local region, the improved Hough Transform + (HT) algorithm and the Least Squares (LS) method are adopted in + combination. The improved HT algorithm is used for the purpose of + eliminating the noise concentrated at edge points, and the LS + method is used for fitting the circle center accurately with the + least mean square error. Based on single ball detection in a + local region, the multi-ball detection approach has been worked + out to locate the position of each ball on the table. In the + experiment, the proposed approach has been proved to complete the + detection with an accuracy of 99.4\% in 0.65s in average, and the + performance is betterthan the traditional Circular Hough + Transform (CHT) algorithm and the K-means cluster method. In + addition, the Convolution Neural Network (CNN) method is adopted + for pattern recognition of each target ball being segmented, i.e. + identification of a solid ball or a striped ball. In order to + improve the quality of CNN training: the colour segmentation and + morphologic operation are applied for the segmented ball image + pre-processing; the training set images are rotated for + augmentation; pre-training stage is introduced in for optimizing + the initial weight matrices. The calibrated image blocks are + imported to the network for training. In the verification test, + the trained CNN model shows a recognition rate of over 98.5\%, + and outperforms the other three classic methods. The introduction + of CNN method has been proved to be correct and effective, and is + an innovative and significant stepfor the design process of the + 8-ball billiards robot vision system.", + journal = "KJS", + volume = 45, + number = 1, + month = jan, + year = 2018, + keywords = "Billiards recognition; Normalized RGB colour space; Improved + Hough Transform algorithm; Least Square (LS) Method; Convolution + Neural Network (CNN).", + language = "en" +} + +@BOOK{Bhagat2018-bx, + title = "Automatic Snooker-playing Robot with Speech Recognition Using + Deep Learning", + author = "Bhagat, Kunj H", + abstract = "Abstract: Research on natural language processing, such as for + image and speech recognition, is rapidly changing focus from + statistical methods to neural networks. In this study, we + introduce speech recognition capabilities along with computer + vision to allow a robot to play snooker completely by itself. + The color of the ball to be pocketed is provided as an audio + input using an audio device such as a microphone. The system is + able to recognize the color from the input using a trained deep + learning network. The system then commands the camera to locate + the ball of the identified color on a snooker table by using + computer vision. To pocket the target ball, the system then + predicts the best shot using an algorithm. This activity can be + executed accurately based on the efficiency of the trained deep + learning model.", + publisher = "California State University, Long Beach", + year = 2018, + language = "en" +} + +@BOOK{Sang1994-jv, + title = "Automating Skills Using a Robot Snooker Player", + author = "Sang, William Cheung Shu", + publisher = "University of Bristol", + year = 1994, + language = "en" +} + +@INPROCEEDINGS{Tung2019-zu, + title = "Toward Human-like Billiard {AI} Bot Based on Backward Induction + and Machine Learning", + booktitle = "2019 {IEEE} Symposium Series on Computational Intelligence + ({SSCI})", + author = "Tung, Kuei Gu and Wang, Sheng Wen and Tai, Wen Kai and Way, Der + Lor and Chang, Chin Chen", + abstract = "A human-like billiard AI bot approach is proposed in this paper. + We analyzed actual game records of human players to obtain + feature vectors. The Backward Induction algorithm and machine + learning are then proposed to imitate decisions by human + players. A run-out sequence is searched backwardly with the + assists from heuristics and predictions of neural network + models. Through the planning process, a strike unit is found to + help guide the physics simulator. With our AI suggestion of + strategies, it avoids being over-dependent on the robust and + precise physics simulation. Also, we defined an appropriate + approach to gauge the human likeness of AI and evaluate our + proposed methods. The experimental results show that our method + overall is more similar to the way how human players play than + that of original AI.", + publisher = "IEEE", + pages = "924--932", + month = dec, + year = 2019 +} + +@INPROCEEDINGS{Nierhoff2012-st, + title = "Strategic play for a pool-playing robot", + booktitle = "2012 {IEEE} Workshop on Advanced Robotics and its Social + Impacts ({ARSO})", + author = "Nierhoff, T and Heunisch, K and Hirche, S", + publisher = "IEEE", + month = may, + year = 2012, + conference = "2012 IEEE Workshop on Advanced Robotics and its Social + Impacts (ARSO)", + location = "Munich" +} + +@ARTICLE{Alian2004-zs, + title = "Roboshark: A gantry pool player robot", + author = "Alian, M E and Shouraki, S B and Shalmani, M and Karimian, P and + {others}", + journal = "Thirty-Fifth International", + year = 2004 +} + +@ARTICLE{Alian_undated-mx, + title = "A fuzzy pool player robot with learning ability", + author = "Alian, M E and Shouraki, S B", + journal = "Citeseer" +} + +@ARTICLE{Mathavan2016-ck, + title = "Ball Positioning in Robotic Billiards: A Nonprehensile + {Manipulation-Based} Solution", + author = "Mathavan, Senthan and Jackson, Michael R and Parkin, Robert M", + abstract = "The last two decades have seen a number of developments in + creating robots to play billiards. The designed robotic systems + have successfully incorporated the kinematics required and have + had appropriate machine vision elements for a decent gameplay. + Independently, computer scientists have also developed the + artificial intelligence programs needed for the strategy to play + billiards. Despite these developments, the accurate ball + manipulation aspect of the game, needed for good performance, + has not been addressed enough; two important parameters are the + potting accuracy and advantageous cue ball positioning for next + shot. In this regard, robotic ball manipulation by predicting + the ball trajectories under the action of various dynamic + phenomena, such as ball spin, impacts and friction, is the key + consideration of this research. By establishing a connection to + the methods used in nonprehensile robotic manipulation, a + forward model is developed for the rolling, sliding, and two + distinct types of frictional impacts of billiards balls are + developed. High-speed camera-based tracking is performed to + determine the physical parameters required for the developed + dynamic models. To solve the inverse manipulation problem, i.e., + the decision on shot parameters, for accurate ball positioning, + an optimization based solution is proposed. A simplistic ball + manipulator is designed and used to test the theoretical + developments. Experimental results show that a 90\% potting + accuracy and a 100-200 mm post-shot cue ball positioning + accuracy has been achieved by the autonomous system within a + table area of 6 $\times$ 5 ft 2 .", + journal = "IEEE/ASME Trans. Mechatron.", + publisher = "IEEE", + volume = 21, + number = 1, + pages = "184--195", + month = feb, + year = 2016 +} + +@ARTICLE{noauthor_undated-bt, + title = "{DX182739.pdf}" +} + +@ARTICLE{Greenspan2008-wg, + title = "Toward a Competitive {Pool-Playing} Robot", + author = "Greenspan, Michael and Lam, Joseph and Godard, Marc and Zaidi, + Imran and Jordan, Sam and Leckie, Will and Anderson, Ken and + Dupuis, Donna", + abstract = "Deep Green is a vision-based, intelligent robotic system that + currently shoots pool at a better-than-amateur level, with the + ultimate goal of challenging a proficient human opponent at a + championship level. The system's robotic aspects rely primarily + on computer vision. The system is centered on a + 3-degree-of-freedom gantry robot mounted to the ceiling to avoid + impeding human access to the table.", + journal = "Computer", + publisher = "IEEE", + volume = 41, + number = 1, + pages = "46--53", + month = jan, + year = 2008 +} + +@MISC{Slp_undated-nv, + title = "[No title]", + author = "Slp, Eveho Ingenier{\'\i}a", + abstract = "Online billiards simulator game for Windows PC. The billiards + simulation for the most demanding pool, snooker and carom + players.", + howpublished = "\url{https://www.shooterspool.net/}", + note = "Accessed: 2024-1-24" +} + +@ARTICLE{Sousa2016-vi, + title = "Augmented reality system to assist inexperienced pool players", + author = "Sousa, L and Alves, R and Rodrigues, J M F", + abstract = "Pool and billiards are amongst a family of games played on a + table with six pockets along the rails. This paper presents an + augmented reality tool designed to assist unskilled or amateur + players of such games. The system is based on a projector and a + Kinect 2 sensor placed above the table, acquiring and processing + the game on-the-fly. By using depth information and detecting + the table's rails (borders), the balls' positions, the cue + direction, and the strike of the ball, computations predict the + resulting balls' trajectories after the shot is played. These + results---trajectories, visual effects, and menus---are visually + output by the projector, making them visible on the snooker + table. The system achieves a shot prediction accuracy of 98\% + when no bouncing occurs.", + journal = "Computational Visual Media", + publisher = "Springer Nature", + volume = 2, + number = 2, + month = apr, + year = 2016 +} + +@ARTICLE{Sousa2016-il, + title = "Augmented reality system to assist inexperienced pool players", + author = "Sousa, L and Alves, R and Rodrigues, J M F", + journal = "Comput. Vis. Media (Beijing)", + publisher = "Springer Science and Business Media LLC", + volume = 2, + number = 2, + pages = "183--193", + month = jun, + year = 2016, + language = "en" +} + +@INPROCEEDINGS{Hsu2017-gw, + title = "{Computer-Assisted} Billiard {Self-Training} Using Intelligent + Glasses", + booktitle = "2017 14th International Symposium on Pervasive Systems, + Algorithms and Networks \& 2017 11th International Conference on + Frontier of Computer Science and Technology \& 2017 Third + International Symposium of Creative Computing + ({ISPAN-FCST-ISCC})", + author = "Hsu, Chun-Chieh and Tsai, Hou-Chun and Chen, Hua-Tsung and Tsai, + Wen-Jiin and Lee, Suh-Yin", + abstract = "Self-training plays an important role in sports exercise. + However, if not under the instruction of a coach, it would be + ineffective for most amateurs or inexperienced players to + exercise on their own. Therefore, establishing computerassisted + training systems for sports exercise is a recently emerging + topic. In this paper, we propose a billiard self-training + system, which aims at improving billiard players' performance by + utilizing intelligent glasses as a wearable camera and + displayer. The proposed system is able to automatically analyze + user-captured images of the billiard table from multiple views + and display the ball configurations on a virtual top-view table. + Enriched visual presentation can be provided to give the + practitioner a further sight into the game. The experiments + conducted on sixteen sets of different ball configurations show + promising results.", + publisher = "IEEE", + pages = "119--126", + month = jun, + year = 2017 +} + +@ARTICLE{Thesis_undated-mk, + title = "Spin Shots for a Robotic Billiard Player", + author = "Thesis, Master" +} + +@ARTICLE{Smith2007-jq, + title = "{PickPocket}: A computer billiards shark", + author = "Smith, Michael", + abstract = "Billiards is a game of both strategy and physical skill. To + succeed, a player must be able to select strong shots, and then + execute them accurately and consistently on the table. Several + robotic billiards players have recently been developed. These + systems address the task of executing shots on a physical table, + but so far have incorporated little strategic reasoning. They + require artificial intelligence to select the `best' shot taking + into account the accuracy of the robot, the noise inherent in the + domain, the continuous nature of the search space, the difficulty + of the shot, and the goal of maximizing the chances of winning. + This article describes the program PickPocket, the winner of the + simulated 8-ball tournaments at the 10th and 11th Computer + Olympiad competitions. PickPocket is based on the traditional + search framework, familiar from games such as chess, adapted to + the continuous stochastic domain of billiards. Experimental + results are presented exploring the properties of two search + algorithms, Monte-Carlo search and Probabilistic search.", + journal = "Artif. Intell.", + volume = 171, + number = 16, + pages = "1069--1091", + month = nov, + year = 2007, + keywords = "Game-tree search; Computer games; Uncertainty; Monte-Carlo + methods; Billiards" +} + +@ARTICLE{Park2022-ye, + title = "Intelligent Carom Billiards Assistive System for automatic + solution path generation and actual path prediction with + principal component analysis-based ball motion detection", + author = "Park, Jung-Kil and Park, Jaebyung", + abstract = "This article proposes an Intelligent Carom Billiards Assistive + System for a novice at Carom Billiards. Since a novice player is + very difficult to find the solution paths of the cue ball, the + ICBAS automatically calculates the solution paths for given ball + configuration which is detected by a monocular vision and + displays them in a guidance monitor. For rapid and + systematically calculating the solution paths, the five and half + system that is the most representative method in the field of + billiard is implemented. In addition, the paths of the cue ball + changed by the direction of the cue stick are predicted in real + time and projected onto the pool table bed. By comparing the + solution paths of the cue ball with the projected paths, a + player can hit the cue ball easily and successfully. For + automatically providing the solution paths and the predicted + paths during billiard game, the ball movement is detected by the + principal component analysis under linear motion constraints + robustly against image noise, occlusion, and so on. Whenever all + of the balls stop, both paths are newly calculated and provided + for a player. For verifying the feasibility of the proposed + Intelligent Carom Billiards Assistive System, the experiments + are conducted with the real pool table.", + journal = "Int. J. Adv. Rob. Syst.", + publisher = "SAGE Publications", + volume = 19, + number = 4, + pages = "17298806221118865", + month = jul, + year = 2022 +} + +@ARTICLE{Rodriguez-Lozano2023-hq, + title = "{3D} reconstruction system and multiobject local tracking + algorithm designed for billiards", + author = "Rodriguez-Lozano, Francisco J and G{\'a}mez-Granados, Juan C and + Mart{\'\i}nez, H{\'e}ctor and Palomares, Jose M and Olivares, + Joaqu{\'\i}n", + abstract = "The use of virtual reality or augmented reality systems in + billiards sports are useful tools for pure entertainment or + improving the player's skills. Depending on the purpose of these + systems, tracking algorithms based on computer vision must be + used. These algorithms are especially useful in systems aiming to + reconstruct the trajectories followed by the balls after a + strike. However, depending on the billiard modality, the problem + of tracking multiple small identical objects, such as balls, is a + complex task. In addition, when an amateur or nontop professional + player uses low-frame-rate and low-resolution devices, problems + such as blurred balls, blurred contours, or fuzzy edges, among + others, arise. These effects have a negative impact on + ball-tracking accuracy and reconstruction quality. Thus, this + work proposes two contributions. The first contribution is a new + tracking algorithm called ``multiobject local tracking (MOLT)''. + This algorithm can track balls with high precision and accuracy + even with motion blur caused by low-resolution and low-frame-rate + devices. Moreover, the proposed MOLT algorithm is compared with + nine tracking methods and four different metrics, outperforming + the rest of the methods in the majority of the cases and + providing a robust solution. The second contribution is a whole + system to track (using the MOLT algorithm) and reconstruct the + movements of the balls on a billiard table in a 3D virtual world + using computer vision. The proposed system covers all steps from + image capture to 3D reconstruction. The 3D reconstruction results + have been qualitatively evaluated by different users through a + series of questionnaires, obtaining an overall score of 7.6 (out + of 10), which indicates that the system is a promising and useful + tool for training. Finally, both the MOLT algorithm and the + reconstruction system are tested in three billiard modalities: + blackball, carom billiards, and snooker.", + journal = "Applied Intelligence", + volume = 53, + number = 19, + pages = "21543--21575", + month = oct, + year = 2023 +} + +@ARTICLE{Fragkiadaki2015-oh, + title = "Learning Visual Predictive Models of Physics for Playing + Billiards", + author = "Fragkiadaki, Katerina and Agrawal, Pulkit and Levine, Sergey + and Malik, Jitendra", + abstract = "The ability to plan and execute goal specific actions in + varied, unexpected settings is a central requirement of + intelligent agents. In this paper, we explore how an agent + can be equipped with an internal model of the dynamics of + the external world, and how it can use this model to plan + novel actions by running multiple internal simulations + (``visual imagination''). Our models directly process raw + visual input, and use a novel object-centric prediction + formulation based on visual glimpses centered on objects + (fixations) to enforce translational invariance of the + learned physical laws. The agent gathers training data + through random interaction with a collection of different + environments, and the resulting model can then be used to + plan goal-directed actions in novel environments that the + agent has not seen before. We demonstrate that our agent can + accurately plan actions for playing a simulated billiards + game, which requires pushing a ball into a target position + or into collision with another ball.", + month = nov, + year = 2015, + archivePrefix = "arXiv", + primaryClass = "cs.CV", + eprint = "1511.07404" +} + +@BOOK{Ploquin2012-ci, + title = "Simulateur de billard r{\'e}aliste", + author = "Ploquin, Julien", + abstract = "Aujourd'hui, il n'existe aucun simulateur de jeu de billard qui + puisse b{\'e}n{\'e}ficier d'une validation scientifique. Les + approximations physiques et les limitations dans la libert{\'e} + des joueurs sont les principales responsables des probl{\`e}mes + de r{\'e}alisme qu'il est possible d'observer dans les + simulateurs existants. L'objectif de cette ma{\^\i}trise est + donc de cr{\'e}er un simulateur qui soit le plus r{\'e}aliste + possible, justification {\`a} l'appui. Pour cela, des formules + analytiques de physique m{\'e}canique combin{\'e}es {\`a} une + simulation par {\'e}v{\'e}nements seront utilis{\'e}es pour + mettre {\`a} jour les positions et v{\'e}locit{\'e}s des billes. + La vitesse de calcul et de r{\'e}solution de coup ne devant pas + devenir trop encombrante, des techniques pour acc{\'e}l{\'e}rer + le traitement seront utilis{\'e}es. Parmi celles-ci, notons un + r{\'e}solveur d'{\'e}quation quartique s'appuyant sur une + m{\'e}thode non-it{\'e}rative. Des outils d'optimisation de + probl{\`e}mes de compl{\'e}mentarit{\'e} lin{\'e}aire seront + {\'e}galement utilis{\'e}s pour pallier {\`a} certains cas + probl{\'e}matiques introduits par la libert{\'e} d'action dans + l'axe z. Le simulateur r{\'e}pond finalement {\`a} la + majorit{\'e} des coups r{\'e}els, sauf certains utilisant des + aspects physiques non-trait{\'e}s tels que la d{\'e}formation + des bandes qui devront {\^e}tre trait{\'e}s dans des travaux + futurs. Une analyse qualitative de certains coups film{\'e}s + viendra confirmer la validit{\'e} des mod{\`e}les utilis{\'e}s + pour la simulation. Il est aussi montr{\'e} que la + sensibilit{\'e} d'un joueur est grandement affect{\'e}e par la + libert{\'e} et la fid{\'e}lit{\'e} physique propos{\'e}e + gr{\^a}ce {\`a} une comparaison avec un simulateur reconnu se + limitant {\`a} un mod{\`e}le physique comprenant de nombreuses + approximations.", + publisher = "Library and Archives Canada = Biblioth{\`e}que et Archives + Canada", + year = 2012, + language = "fr" +} + +@ARTICLE{Pan2021-ea, + title = "Can a Good Break Shot Determine the Game Outcome in 9-Ball?", + author = "Pan, Jing Wen and Komar, John and Sng, Shawn Bing Kai and Kong, + Pui Wah", + abstract = "This study aimed to quantify the break shot characteristics and + identify their significance in predicting the game outcomes in + 9-ball tournaments. The break shots of 275 frames (241 men's, 34 + women's) of professional tournaments were analyzed from two + aspects: (1) cue ball position, represented by the distance + between the cue ball and the table center, and (2) ball + distribution, indicated by the standard deviation of Voronoi cell + areas determined from all remaining balls on the table. Spearman + correlation and binary logistic regression were utilized to + identify associations and to predict the frame outcomes, + respectively. Results showed that the more balls falling into the + pockets during the break, the more clustered the remaining balls + (r s = 0.232, p < 0.001). The closer the cue ball ending toward + the table center, the more balls potted in the visit immediately + after the break (r s = -0.144, p = 0.027). Neither cue ball + position nor ball distribution could predict table clearance or + winning of a frame. In conclusion, pocketing more balls during + the break is associated with more clustered balls remaining on + the table. Parking the cue ball near the table center after the + break can facilitate potting more balls immediately after.", + journal = "Front. Psychol.", + volume = 12, + pages = "691043", + month = jul, + year = 2021, + keywords = "Voronoi diagram; ball distribution; billiards; cue ball position; + pool", + language = "en" +} + +@ARTICLE{Zhang_undated-zi, + title = "On Predicting and Generating a Good Break Shot in Billiards Sports", + author = "Zhang, Qianru and Wang, Zheng and Long, Cheng and Yiu, Siu-Ming" +} + +@BOOK{Coriolis2005-hv, + title = "Mathematical Theory of Spin, Friction, and Collision in the Game + of Billiards", + author = "Coriolis, Gaspard", + publisher = "D. Nadler", + year = 2005, + language = "en" +} + +@ARTICLE{Landry2013-gq, + title = "A {Heuristic-Based} Planner and Improved Controller for a + {Two-Layered} Approach for the Game of Billiards", + author = "Landry, Jean-Fran{\c c}ois and Dussault, Jean-Pierre and Mahey, + Philippe", + abstract = "In the past , we have proposed a two-layered approach to compute + a winning strategy for the game of Billiards. AI tools as well + as robust optimization routines for noisy environments were + combined to plan the sequence of shots. We complete the modeling + here by introducing significant developments for the high-level + planner which guides the precise optimal controller to generate + a plan given at any random initial state. We will first resume + the general model for this particular class of problems and then + propose several domain-specific heuristics to guide our search + and render the problem tractable. Several improvements to the + optimal robust controller, including refinements in the + objective function, will also be presented in order to improve + single-shot optimization. Results are presented demonstrating + the full potential of the methods proposed making it the state + of the art in regards to the game of Billiards.", + journal = "IEEE Trans. Comput. Intell. AI Games", + publisher = "IEEE", + volume = 5, + number = 4, + pages = "325--336", + month = dec, + year = 2013 +} + +@ARTICLE{Silva2018-cm, + title = "{MiniPool}: Real-time artificial player for an 8-Ball video game", + author = "Silva, David and Prada, Rui", + abstract = "Games like 8-Ball offer many interesting challenges for both AI + and optimization communities because of the continuous and + stochastic characteristics of the domain. To succeed, a player + must be able to plan the best sequence of shots and execute them + with accuracy and precision, so that he does not lose the turn. + The artificial players developed to date tend to take more than + 30 seconds to select and execute a shot. Under a videogame + setting, a player would give up playing the game if he had to + wait that long for his turn. To solve this problem, we propose a + real-time solution using a Monte-Carlo and Expectimax hybrid + search algorithm with ray tracing techniques.", + publisher = "Revista de Ci{\^e}ncias da Computa{\c c}{\~a}o", + year = 2018, + language = "en" +} + +@INPROCEEDINGS{Chen2019-dk, + title = "Macro and Micro Reinforcement Learning for Playing Nine-ball + Pool", + booktitle = "2019 {IEEE} Conference on Games ({CoG})", + author = "Chen, Yu and Li, Yujun", + abstract = "We present a method of training a reinforcement learning agent + to play nine-ball pool. The training process uses a combination + of reinforcement learning, deep neural networks and search + trees. These technologies have achieved tremendous results in + discrete strategy board games, and we extend their applications + to pool games, which is a complicated continuous case. Pool + types of games have a huge action space, to improve the + efficiency of exploration, we use a macro and micro action + framework to combine reinforcement learning and the search tree. + The agent learns skills such as choosing pockets and control the + post-collision position. Our method shows the potential to solve + billiards planning problems through AI.", + publisher = "IEEE", + pages = "1--4", + month = aug, + year = 2019 +} + +@INPROCEEDINGS{Landry2011-ms, + title = "Billiards: an optimization challenge", + booktitle = "Proceedings of The Fourth International C* Conference on + Computer Science and Software Engineering", + author = "Landry, Jean-Fran{\c c}ois and Dussault, Jean-Pierre and Mahey, + Philippe", + abstract = "Computational and robotic pool has received increased interest + in the recent years. The challenges are numerous and very + complex in nature. This work focuses on the computational aspect + of the problem, while keeping in mind the future application of + the methods to a robot player.The problem present in billiards + can be roughly divided in three main aspects: simulation of the + physics, execution of the shots and planning of sequences of + shots. An optimization approach will be shown in a demo, using a + physics simulation, to demonstrate the obvious strength of the + player for the execution of difficult shots. An interactive + interface will allow users test their own shots on the table and + compare with what the autonomous player found to be optimal.The + demo to be shown will illustrate the difficulty of planning in a + continuous domain, while introducing possible solutions to solve + such problems.", + publisher = "Association for Computing Machinery", + pages = "129--132", + series = "C3S2E '11", + month = may, + year = 2011, + address = "New York, NY, USA", + keywords = "artificial intelligence, billiards, game, optimization, + planning, pool, simulation, snooker, strategy", + location = "Montreal, Quebec, Canada" +} + +@ARTICLE{Archibald2016-sd, + title = "A Distributed Agent for Computational Pool", + author = "Archibald, Christopher and Altman, Alon and Shoham, Yoav", + abstract = "Games with continuous state and action spaces present unique + challenges from an artificial intelligence (AI) viewpoint. + Billiards, or pool, is one such domain that has been the focus + of several research efforts aimed at designing AI agents to play + successfully. Due to the continuous nature of the actions, it is + natural to believe that the more time an agent has to + investigate actions, the better it will perform. This paper + gives a thorough description of a successful agent with a novel + distributed architecture, designed for being able to grant + further time for shot simulation and analysis through the + utilization of many CPUs. A brief analysis of the distributed + component of the agent is presented, as well as how much the + extra time thus obtained contributed to its success, especially + when compared to its other novel components. The described + agent, CueCard, won the Computer Olympiad computational pool + tournament held in 2008.", + journal = "IEEE Trans. Comput. Intell. AI Games", + publisher = "IEEE", + volume = 8, + number = 2, + pages = "190--202", + month = jun, + year = 2016 +} + +% The entry below contains non-ASCII chars that could not be converted +% to a LaTeX equivalent. +@ARTICLE{Archibald2010-av, + title = "Computational Pool: A New Challenge for Game Theory Pragmatics", + author = "Archibald, Christopher and Altman, Alon and Greenspan, Michael + and Shoham, Yoav", + abstract = "Computational pool is a relatively recent entrant into the group + of games played by computer agents. It features a unique + combination of properties that distinguish it from other such + games, including continuous action and state spaces, uncertainty + in execution, a unique turntaking structure, and of course an + adversarial nature. This article discusses some of the work done + to date, focusing on the software side of the pool‐playing + problem. We discuss in some depth CueCard, the program that won + the 2008 computational pool tournament. Research questions and + ideas spawned by work on this problem are also discussed. We + close by announcing the 2011 computational pool tournament, + which will take place in conjunction with the 25th AAAI + Conference.", + journal = "AI Mag.", + publisher = "American Association for Artificial Intelligence", + volume = 31, + number = 4, + pages = "33--41", + month = dec, + year = 2010, + address = "USA" +} + +@ARTICLE{Gismeros_Moreno2022-yh, + title = "Modelling multiple-simultaneous impact problems with a nonlinear + smooth approach: pool/billiard application", + author = "Gismeros Moreno, Ra{\'u}l and Corral Abad, Eduardo and Meneses + Alonso, Jes{\'u}s and G{\'o}mez Garc{\'\i}a, Mar{\'\i}a Jes{\'u}s + and Castej{\'o}n Sisam{\'o}n, Cristina", + abstract = "Smooth approaches are able to model reasonably well + contact/impact events between two bodies, showing some + peculiarities when dealing with certain geometries and arising + certain issues with the detection of the initial instant of + contact. The characterization of multiple-simultaneous + interaction systems, considering (or not) energy dissipation + phenomena (mainly friction), is always an interesting research + topic, addressed from different perspectives. In the present + work, the process of design, optimization and verification of a + multiple-impact, day-to-day multibody novel model is shown. + Specifically, we have decided to focus on a pool/billiard game + due to its geometry simplicity. The model involves several balls + moving freely and rolling, suffering different kinds of + contacts/impacts among them and against the cushions and the + cloth. In this system, the proper modelling of both contact and + friction forces in the multiple, simultaneous contacts and + impacts events is critical to obtain consistent results. In + addition, these forces are complicated to model because of its + nonlinear behaviour. The different existing approaches when + dealing with multiple-contact events are briefly described, along + with their most distinctive features. Then, the interactions + identified on the model are implemented using several nonlinear + contact-force models, following a smooth-based approach and + considering friction phenomena, aiming at determining the most + suitable set of both contact and friction force models for each + of these implemented interactions, which take place + simultaneously, thus resulting in a complex system with multiple + impacts. Subsequently, the solving method that provides the most + accurate results at the minimum computational cost is determined + by testing a simple shot. Finally, the different interactions on + the model are verified using experimental results and previous + works. One of the main goals of this work is to show the some of + the issues that arise when dealing with multiple-simultaneous + impact multibody systems from a smooth-contact approach, and how + researchers can deal with them.", + journal = "Nonlinear Dyn.", + volume = 107, + number = 3, + pages = "1859--1886", + month = feb, + year = 2022 +} + +@ARTICLE{Balen2009-ck, + title = "A virtual billiard assistant", + author = "Balen, J", + abstract = "A user test was performed, indicating that the developed VBA is + trusted by users, and would be a welcome innovation in billiards + training. This thesis describes the development of a virtual + billiard assistant (VBA), that should ultimately be able to + replace a qualified human trainer. The scope of the project is + the tactical part of three cushion billiards, where players have + to solve a ball configuration, and play it accordingly, in order + to score a point. The VBA proposed in this thesis has two main + tasks: 1. Find a best solution for any possible ball + configuration 2. Present this solution to the user A solution is + considered best when a human trainer would recommend the same + solution in the same situation. When a user is exercising, it can + ask the VBA to solve a ball configuration whenever he desires. + The ball configuration is retrieved using a webcam and image + processing techniques, and presented to the VBA. The VBA then + systematically tries out a vast amount of shot parameter + combinations, and detects which are successful. To achieve this + it makes use of a physical model, which is implemented in such a + way that it can accurately simulate a great amount of shots in + limited time. This will typically result in a set of solutions, + which are first clustered and then sorted. The top solution of + this sorted set should be the same solution as a human expert + trainer would recommend. The resulting solutions are presented to + the user via a computer screen, using a 3d model of a billiards + table, with a white line indicating the path along which the cue + ball should travel. It is shown that the system is accurate, and + reasonably fast. Feasible solutions are found for almost all + possible ball configurations. The method of interaction enables + the user to move freely, and use the system as he or she desires. + A user test was performed, indicating that the developed VBA is + trusted by users, and would be a welcome innovation in billiards + training", + year = 2009, + language = "en" +} + +@ARTICLE{Mathavan2010-cv, + title = "A theoretical analysis of billiard ball dynamics under cushion + impacts", + author = "Mathavan, S and Jackson, M R and Parkin, R M", + abstract = "AbstractThe last two decades have seen a growing interest in + research related to billiards. There have been a number of + projects aimed at developing training systems, robots, and + computer simulations for billiards. Determination of billiard + ball trajectories is important for all of these systems. The + ball's collision with a cushion is often encountered in + billiards and it drastically changes the ball trajectory, + especially when the ball has spin. This work predicts ball + bounce angles and bounce speeds for the ball's collision with a + cushion, under the assumption of insignifi-cant cushion + deformation. Differential equations are derived for the ball + dynamics during the impact and these equations are solved + numerically. The numerical solutions together with previous + experimental work by the authors predict that for the + ball?cushion collision, the values of the coefficient of + restitution and the sliding coefficient of friction are 0.98 and + 0.14, respectively. A comparison of the numerical and + experimental results indicates that the limiting normal + velo-city under which the rigid cushion assumption is valid is + 2.5 m/s. A number of plots that show the rebound characteristics + for given ball velocity?spin conditions are also provided. The + plots quantify various phenomena that have hitherto only been + described in the billiards literature.", + journal = "Proc Inst Mech Eng Part C", + publisher = "IMECHE", + volume = 224, + number = 9, + pages = "1863--1873", + month = sep, + year = 2010 +} + +@ARTICLE{Han2005-el, + title = "Dynamics in carom and three cushion billiards", + author = "Han, Inhwan", + abstract = "This paper presents the analysis results of dynamics in the + billiards game within the framework of rigid-body mechanics and a + numerical simulation program. The friction exists between the + ball and the table bed as well as between the ball and the rail. + There are three parts in the dynamic behavior of the ball on the + table bed; motion of the ball on the table bed, collision between + balls, and collision between the ball and the cushion. During the + development of the simulation program, the dynamics problems such + as rolling motion and three-dimensional frictional impact motion + have been analyzed in detail. The theoretical issues are + implemented into a viable graphic simulation program and its + efficacy is demonstrated through the experimental validation of + the billiards game. The resulting analysis results are verified + quantitatively and qualitatively using high-speed video camera. + Through the experimental tests, it was found that the physical + parameters such as coefficients of restitution and friction vary + according to the motion variables and corresponding empirical + formulations were developed. The simulation and experimental + results agree well.", + journal = "J. Mech. Sci. Technol.", + volume = 19, + number = 4, + pages = "976--984", + month = apr, + year = 2005 +} + +@INPROCEEDINGS{Leckie2006-cc, + title = "An {Event-Based} Pool Physics Simulator", + booktitle = "Advances in Computer Games", + author = "Leckie, Will and Greenspan, Michael", + abstract = "The paper presents a method to simulate the physics of the game + of pool. The method is based upon a parametrization of ball + motion which allows the time of occurrence of events, such as + collisions and transitions between motion states, to be solved + analytically. It is shown that the occurrences of all possible + events are determined as the roots of polynomials up to fourth + order, for which closed-form solutions exist. The method is both + accurate, returning continuous space solutions for both time and + space parameters, and efficient, requiring no iterative + numerical methods. It is suitable for use within a game tree + search, which requires a great many potential shots to be + modeled efficiently, and within a robotic pool system, which + requires a high accuracy in predicting shot outcomes.", + publisher = "Springer Berlin Heidelberg", + pages = "247--262", + year = 2006 +} + +@misc{FastFiz2023, + author = {Alon Altman}, + title = {{FastFiz}}, + year = {2023}, + publisher = {GitHub}, + journal = {GitHub repository}, + howpublished = {\url{https://github.com/ekiefl/FastFiz}}, + note = {Accessed: 2024-04-03} +} diff --git a/paper.md b/paper.md new file mode 100644 index 00000000..08b0183c --- /dev/null +++ b/paper.md @@ -0,0 +1,81 @@ +--- +title: 'Pooltool: A Python package for realistic billiards simulation' +tags: + - Python + - billiards + - simulation +authors: + - name: Evan Kiefl + orcid: 0000-0002-6473-0921 + affiliation: 1 +affiliations: + - name: Graduate Program in Biophysical Sciences, University of Chicago, USA + index: 1 +date: 3 April 2024 +bibliography: paper.bib +--- + +# Summary + +Billiards, a broad classification for games like pool and snooker, supports a robust, multidisciplinary research and engineering community that investigates topics in physics, game theory, computer vision, robotics, and cue sports analytics. Central to these pursuits is the need for accurate simulation. + +`pooltool` is a general purpose billiards simulator crafted specifically for science and engineering. Its core design principles focus on speed, flexibility, and ease of visualization and analysis. With an interactive 3D interface, a robust API, and extensive documentation, users can easily simulate, visualize, and analyze billiards shots for generic research and engineering applications. Bolstered by a growing community and active development, `pooltool` aims to be a systemic tool for billiards-related research. + +# Statement of need + +Billiards simulation serves as the foundation for a wide array of research topics that collectively encompass billiards-related studies. Specifically, the application of game theory to develop AI billiards players has led to simulations becoming critical environments for the training of autonomous agents [@Smith2007-jq; @Archibald2010-av; @Fragkiadaki2015-oh; @Archibald2016-sd; @Silva2018-cm; @Chen2019-dk; @Tung2019-zu]. Meanwhile, billiards-playing robot research, which relies on simulations to predict the outcome of potential actions, has progressed significantly in the last 30 years and serves as a benchmark for broader advancements within sports robotics [@Sang1994-jv; @Alian2004-zs; @Greenspan2008-wg; @Nierhoff2012-st; @Mathavan2016-ck; @Bhagat2018-bx]. Billiards simulations also enrich computer vision (CV) capabilities, facilitating precise ball trajectory tracking and enhancing shot reconstruction for player analysis and training (for a review, see @Rodriguez-Lozano2023-hq). Additionally, through augmented reality (AR) and broadcast overlays, simulations have the potential to extend their impact by offering shot prediction and strategy formulation in contexts such as personal training apps and TV broadcasting, creating a more immersive understanding of the game. + +Unfortunately, the current billiards simulation software landscape reveals a stark contrast between the realistic physics seen in some commercially-produced games (i.e., *Shooterspool* and *VirtualPool4*) and the limited functionality of open-source projects. Commercial products have little, if any, utility in research contexts due to closed source code and a lack of open APIs. Conversely, available open source tools lack realism, usability, and adaptability for generic research needs. The most widely cited simulator in research studies, *FastFiz*[^1], is unpackaged, unmaintained, provides no modularity for custom geometries nor for physical models, offers restrictive 2D visualizations, outputs minimal simulation results with no built-in capabilities for introspection, and was custom built for hosting the Association for the Advancement of Artificial Intelligence (AAAI) Computational Pool Tournament from 2005-2008 [@Archibald2010-av]. Another option, *Billiards*[^2], offers a visually appealing 3D game experience, realistic physics, and supports customization via Lua scripting. However, as a standalone application, it lacks interoperability with commonly used systems and tools in research. Written in Lua, an uncommon language in the scientific community, it has limited appeal in research settings. The lack of Windows support is another drawback. *FooBilliard++*[^3] is a 3D game with realistic physics, yet is not a general purpose billiards simulator, instead focusing on game experience and aesthetics. Other offerings suffer from drawbacks already mentioned. + +[^1]: [https://github.com/ekiefl/FastFiz] +[^2]: [https://www.nongnu.org/billiards/] +[^3]: [https://foobillardplus.sourceforge.net/] + +The lack of suitable software for billiards simulation in research contexts forces researchers to develop case-specific simulators that meet their research requirements but fall short of serving the broader community as general purpose simulators. This fragments the research collective, renders cross-study results difficult or impossible to compare, and leads to wasted effort spent reinventing the wheel. `pooltool` fills this niche with its open-source billiards simulation platform, built in Python. Designed to be flexible and extendable, it has applications across a wide range of use cases. + +# Mathematics + +Single dollars ($) are required for inline mathematics e.g. $f(x) = e^{\pi/x}$ + +Double dollars make self-standing equations: + +$$\Theta(x) = \left\{\begin{array}{l} +0\textrm{ if } x < 0\cr +1\textrm{ else} +\end{array}\right.$$ + +You can also use plain \LaTeX for equations +\begin{equation}\label{eq:fourier} +\hat f(\omega) = \int_{-\infty}^{\infty} f(x) e^{i\omega x} dx +\end{equation} +and refer to \autoref{eq:fourier} from text. + +# Citations + +Citations to entries in paper.bib should be in +[rMarkdown](http://rmarkdown.rstudio.com/authoring_bibliographies_and_citations.html) +format. + +If you want to cite a software repository URL (e.g. something on GitHub without a preferred +citation) then you can do it with the example BibTeX entry below for @fidgit. + +For a quick reference, the following citation commands can be used: +- `@author:2001` -> "Author et al. (2001)" +- `[@author:2001]` -> "(Author et al., 2001)" +- `[@author1:2001; @author2:2001]` -> "(Author1 et al., 2001; Author2 et al., 2002)" + +# Figures + +Figures can be included like this: +![Caption for example figure.\label{fig:example}](figure.png) +and referenced from text using \autoref{fig:example}. + +Figure sizes can be customized by adding an optional second parameter: +![Caption for example figure.](figure.png){ width=20% } + +# Acknowledgements + +We acknowledge contributions from Brigitta Sipocz, Syrtis Major, and Semyeong +Oh, and support from Kathryn Johnston during the genesis of this project. + +# References From 03826ece9d19c2e379295ba6b2e8b1514f81faf9 Mon Sep 17 00:00:00 2001 From: Evan Kiefl Date: Wed, 3 Apr 2024 23:41:00 -0500 Subject: [PATCH 2/4] Cleanup --- paper.md | 57 ++++++-------------------------------------------------- 1 file changed, 6 insertions(+), 51 deletions(-) diff --git a/paper.md b/paper.md index 08b0183c..92963357 100644 --- a/paper.md +++ b/paper.md @@ -8,9 +8,9 @@ authors: - name: Evan Kiefl orcid: 0000-0002-6473-0921 affiliation: 1 -affiliations: - - name: Graduate Program in Biophysical Sciences, University of Chicago, USA - index: 1 +#affiliations: +# - name: Graduate Program in Biophysical Sciences, University of Chicago, USA +# index: 1 date: 3 April 2024 bibliography: paper.bib --- @@ -27,55 +27,10 @@ Billiards simulation serves as the foundation for a wide array of research topic Unfortunately, the current billiards simulation software landscape reveals a stark contrast between the realistic physics seen in some commercially-produced games (i.e., *Shooterspool* and *VirtualPool4*) and the limited functionality of open-source projects. Commercial products have little, if any, utility in research contexts due to closed source code and a lack of open APIs. Conversely, available open source tools lack realism, usability, and adaptability for generic research needs. The most widely cited simulator in research studies, *FastFiz*[^1], is unpackaged, unmaintained, provides no modularity for custom geometries nor for physical models, offers restrictive 2D visualizations, outputs minimal simulation results with no built-in capabilities for introspection, and was custom built for hosting the Association for the Advancement of Artificial Intelligence (AAAI) Computational Pool Tournament from 2005-2008 [@Archibald2010-av]. Another option, *Billiards*[^2], offers a visually appealing 3D game experience, realistic physics, and supports customization via Lua scripting. However, as a standalone application, it lacks interoperability with commonly used systems and tools in research. Written in Lua, an uncommon language in the scientific community, it has limited appeal in research settings. The lack of Windows support is another drawback. *FooBilliard++*[^3] is a 3D game with realistic physics, yet is not a general purpose billiards simulator, instead focusing on game experience and aesthetics. Other offerings suffer from drawbacks already mentioned. -[^1]: [https://github.com/ekiefl/FastFiz] -[^2]: [https://www.nongnu.org/billiards/] -[^3]: [https://foobillardplus.sourceforge.net/] +[^1]: [https://github.com/ekiefl/FastFiz](https://github.com/ekiefl/FastFiz) +[^2]: [https://www.nongnu.org/billiards/](https://www.nongnu.org/billiards/) +[^3]: [https://foobillardplus.sourceforge.net/](https://foobillardplus.sourceforge.net/) The lack of suitable software for billiards simulation in research contexts forces researchers to develop case-specific simulators that meet their research requirements but fall short of serving the broader community as general purpose simulators. This fragments the research collective, renders cross-study results difficult or impossible to compare, and leads to wasted effort spent reinventing the wheel. `pooltool` fills this niche with its open-source billiards simulation platform, built in Python. Designed to be flexible and extendable, it has applications across a wide range of use cases. -# Mathematics - -Single dollars ($) are required for inline mathematics e.g. $f(x) = e^{\pi/x}$ - -Double dollars make self-standing equations: - -$$\Theta(x) = \left\{\begin{array}{l} -0\textrm{ if } x < 0\cr -1\textrm{ else} -\end{array}\right.$$ - -You can also use plain \LaTeX for equations -\begin{equation}\label{eq:fourier} -\hat f(\omega) = \int_{-\infty}^{\infty} f(x) e^{i\omega x} dx -\end{equation} -and refer to \autoref{eq:fourier} from text. - -# Citations - -Citations to entries in paper.bib should be in -[rMarkdown](http://rmarkdown.rstudio.com/authoring_bibliographies_and_citations.html) -format. - -If you want to cite a software repository URL (e.g. something on GitHub without a preferred -citation) then you can do it with the example BibTeX entry below for @fidgit. - -For a quick reference, the following citation commands can be used: -- `@author:2001` -> "Author et al. (2001)" -- `[@author:2001]` -> "(Author et al., 2001)" -- `[@author1:2001; @author2:2001]` -> "(Author1 et al., 2001; Author2 et al., 2002)" - -# Figures - -Figures can be included like this: -![Caption for example figure.\label{fig:example}](figure.png) -and referenced from text using \autoref{fig:example}. - -Figure sizes can be customized by adding an optional second parameter: -![Caption for example figure.](figure.png){ width=20% } - -# Acknowledgements - -We acknowledge contributions from Brigitta Sipocz, Syrtis Major, and Semyeong -Oh, and support from Kathryn Johnston during the genesis of this project. - # References From ed2365632dc2b7a3ee7c752cf579a26b19393ce5 Mon Sep 17 00:00:00 2001 From: Evan Kiefl Date: Wed, 3 Apr 2024 23:43:26 -0500 Subject: [PATCH 3/4] Touchup --- paper.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/paper.md b/paper.md index 92963357..891a7487 100644 --- a/paper.md +++ b/paper.md @@ -27,10 +27,11 @@ Billiards simulation serves as the foundation for a wide array of research topic Unfortunately, the current billiards simulation software landscape reveals a stark contrast between the realistic physics seen in some commercially-produced games (i.e., *Shooterspool* and *VirtualPool4*) and the limited functionality of open-source projects. Commercial products have little, if any, utility in research contexts due to closed source code and a lack of open APIs. Conversely, available open source tools lack realism, usability, and adaptability for generic research needs. The most widely cited simulator in research studies, *FastFiz*[^1], is unpackaged, unmaintained, provides no modularity for custom geometries nor for physical models, offers restrictive 2D visualizations, outputs minimal simulation results with no built-in capabilities for introspection, and was custom built for hosting the Association for the Advancement of Artificial Intelligence (AAAI) Computational Pool Tournament from 2005-2008 [@Archibald2010-av]. Another option, *Billiards*[^2], offers a visually appealing 3D game experience, realistic physics, and supports customization via Lua scripting. However, as a standalone application, it lacks interoperability with commonly used systems and tools in research. Written in Lua, an uncommon language in the scientific community, it has limited appeal in research settings. The lack of Windows support is another drawback. *FooBilliard++*[^3] is a 3D game with realistic physics, yet is not a general purpose billiards simulator, instead focusing on game experience and aesthetics. Other offerings suffer from drawbacks already mentioned. +The lack of suitable software for billiards simulation in research contexts forces researchers to develop case-specific simulators that meet their research requirements but fall short of serving the broader community as general purpose simulators. This fragments the research collective, renders cross-study results difficult or impossible to compare, and leads to wasted effort spent reinventing the wheel. `pooltool` fills this niche by providing an billiards simulation platform designed for speed, flexibility, and extensibility in mind. + [^1]: [https://github.com/ekiefl/FastFiz](https://github.com/ekiefl/FastFiz) [^2]: [https://www.nongnu.org/billiards/](https://www.nongnu.org/billiards/) [^3]: [https://foobillardplus.sourceforge.net/](https://foobillardplus.sourceforge.net/) -The lack of suitable software for billiards simulation in research contexts forces researchers to develop case-specific simulators that meet their research requirements but fall short of serving the broader community as general purpose simulators. This fragments the research collective, renders cross-study results difficult or impossible to compare, and leads to wasted effort spent reinventing the wheel. `pooltool` fills this niche with its open-source billiards simulation platform, built in Python. Designed to be flexible and extendable, it has applications across a wide range of use cases. # References From 638f4daee604a2d39ed7c363c9bcbc6fb78624a5 Mon Sep 17 00:00:00 2001 From: Evan Kiefl Date: Wed, 3 Apr 2024 23:53:32 -0500 Subject: [PATCH 4/4] Independent Researcher affiliation --- paper.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/paper.md b/paper.md index 891a7487..ad37a36f 100644 --- a/paper.md +++ b/paper.md @@ -8,9 +8,9 @@ authors: - name: Evan Kiefl orcid: 0000-0002-6473-0921 affiliation: 1 -#affiliations: -# - name: Graduate Program in Biophysical Sciences, University of Chicago, USA -# index: 1 +affiliations: + - name: Independent Researcher + index: 1 date: 3 April 2024 bibliography: paper.bib --- @@ -27,7 +27,7 @@ Billiards simulation serves as the foundation for a wide array of research topic Unfortunately, the current billiards simulation software landscape reveals a stark contrast between the realistic physics seen in some commercially-produced games (i.e., *Shooterspool* and *VirtualPool4*) and the limited functionality of open-source projects. Commercial products have little, if any, utility in research contexts due to closed source code and a lack of open APIs. Conversely, available open source tools lack realism, usability, and adaptability for generic research needs. The most widely cited simulator in research studies, *FastFiz*[^1], is unpackaged, unmaintained, provides no modularity for custom geometries nor for physical models, offers restrictive 2D visualizations, outputs minimal simulation results with no built-in capabilities for introspection, and was custom built for hosting the Association for the Advancement of Artificial Intelligence (AAAI) Computational Pool Tournament from 2005-2008 [@Archibald2010-av]. Another option, *Billiards*[^2], offers a visually appealing 3D game experience, realistic physics, and supports customization via Lua scripting. However, as a standalone application, it lacks interoperability with commonly used systems and tools in research. Written in Lua, an uncommon language in the scientific community, it has limited appeal in research settings. The lack of Windows support is another drawback. *FooBilliard++*[^3] is a 3D game with realistic physics, yet is not a general purpose billiards simulator, instead focusing on game experience and aesthetics. Other offerings suffer from drawbacks already mentioned. -The lack of suitable software for billiards simulation in research contexts forces researchers to develop case-specific simulators that meet their research requirements but fall short of serving the broader community as general purpose simulators. This fragments the research collective, renders cross-study results difficult or impossible to compare, and leads to wasted effort spent reinventing the wheel. `pooltool` fills this niche by providing an billiards simulation platform designed for speed, flexibility, and extensibility in mind. +The lack of suitable software for billiards simulation in research contexts forces researchers to develop case-specific simulators that meet their research requirements but fall short of serving the broader community as general purpose simulators. This fragments the research collective, renders cross-study results difficult or impossible to compare, and leads to wasted effort spent reinventing the wheel. `pooltool` fills this niche by providing a billiards simulation platform designed for speed, flexibility, and extensibility in mind. [^1]: [https://github.com/ekiefl/FastFiz](https://github.com/ekiefl/FastFiz) [^2]: [https://www.nongnu.org/billiards/](https://www.nongnu.org/billiards/)