SOFTWARE MODULE FOR CONSTRUCTING THE INTERSECTION OF TRIANGULATED SURFACES

The effective algorithm is proposed for implementing Boolean operations over triangulated surfaces, namely, disjunction, conjunction and Boolean difference, and its software implementation. The idea consists in as follow. The first step is to determine pairs of intersecting triangles: localizing t...

Full description

Bibliographic Details
Main Authors: Vladimir V. Kurgansky, Elvira V. Gayduk
Format: Article
Language:Russian
Published: The Fund for Promotion of Internet media, IT education, human development «League Internet Media» 2018-03-01
Series:Современные информационные технологии и IT-образование
Subjects:
Online Access:http://sitito.cs.msu.ru/index.php/SITITO/article/view/284
_version_ 1818671628774539264
author Vladimir V. Kurgansky
Elvira V. Gayduk
author_facet Vladimir V. Kurgansky
Elvira V. Gayduk
author_sort Vladimir V. Kurgansky
collection DOAJ
description The effective algorithm is proposed for implementing Boolean operations over triangulated surfaces, namely, disjunction, conjunction and Boolean difference, and its software implementation. The idea consists in as follow. The first step is to determine pairs of intersecting triangles: localizing the intersection of the two surfaces using the bounding volume of the parallelepipeds and the future of their intersection. The second step is constructing an intersection line for each pair of triangles: a pair of intersecting triangles is selected, and the segment along which they intersect is constructed. Further, thanks to the entered data structure, "adjacent" triangles are selected, among which are selected those that form the intersecting pair. The process described above continues as long as such triangles can be detected. After that the triangles involved in the intersection are retriangulated. For each triangle, all the edges are known on which it intersects with triangles from another surface. These edges are structural edges in the triangulation problem with constraints for a given triangle. The third step is to combine all surfaces into one surface. Further, subsurfaces are constructed along the loops of intersection limited by the found loops. Since the intersection line of the surfaces was constructed in sequence, it is possible to specify the direction of each edge. Any edge from the intersection line is selected. The triangle is added to the subsurface under construction, which includes this edge and its orientation is the same as the direction of the edge. The edge which was selected previously is deleted from intersection line, but two new edges are added is the remaining edges of added triangle. The third step is to combine all surfaces into one surface. Further, subsurfaces are constructed along the cycles of intersection limited by the found cycles. Since the intersection line of the surfaces was constructed in sequence, it is possible to specify the direction of each edge. Any edge from the intersection line is selected. The triangle is added to the subsurface under construction, which includes this edge and its orientation is the same as the direction of the edge. The edge which was selected previously is deleted from intersection line, but two new edges are added is the remaining edges of added triangle. Their orientation is set in such a way that the opportunity to pass along the intersection line along the cycle is not broken. This process is repeated as long as the intersection line is not empty. The process of constructing subsurface must be done for each intersection line. After that, all triangles that have not entered any of the constructed surfaces are combined and form a new subsurface. The final surfaces are collected from obtained subsurfaces depending on the Boolean operation being performed. The algorithm is implemented in Java 7 and successfully integrated in specialized software products: "3D-School-Edit" and "3D-Chemistry-Edit". The first program is the software for creating 3D-models for school tasks on stereometry with the possibility 3D-printing of these models. The second one is the editor of chemical compounds with the possibility of 3D printing.
first_indexed 2024-12-17T07:27:02Z
format Article
id doaj.art-c9a3d244006b4d94a22eba1ac18d1c9b
institution Directory Open Access Journal
issn 2411-1473
language Russian
last_indexed 2024-12-17T07:27:02Z
publishDate 2018-03-01
publisher The Fund for Promotion of Internet media, IT education, human development «League Internet Media»
record_format Article
series Современные информационные технологии и IT-образование
spelling doaj.art-c9a3d244006b4d94a22eba1ac18d1c9b2022-12-21T21:58:36ZrusThe Fund for Promotion of Internet media, IT education, human development «League Internet Media»Современные информационные технологии и IT-образование2411-14732018-03-0114121322110.25559/SITITO.14.201801.213-221SOFTWARE MODULE FOR CONSTRUCTING THE INTERSECTION OF TRIANGULATED SURFACESVladimir V. Kurgansky0Elvira V. Gayduk 1P.G. Demidov Yaroslavl State University, Yaroslavl, RussiaP.G. Demidov Yaroslavl State University, Yaroslavl, RussiaThe effective algorithm is proposed for implementing Boolean operations over triangulated surfaces, namely, disjunction, conjunction and Boolean difference, and its software implementation. The idea consists in as follow. The first step is to determine pairs of intersecting triangles: localizing the intersection of the two surfaces using the bounding volume of the parallelepipeds and the future of their intersection. The second step is constructing an intersection line for each pair of triangles: a pair of intersecting triangles is selected, and the segment along which they intersect is constructed. Further, thanks to the entered data structure, "adjacent" triangles are selected, among which are selected those that form the intersecting pair. The process described above continues as long as such triangles can be detected. After that the triangles involved in the intersection are retriangulated. For each triangle, all the edges are known on which it intersects with triangles from another surface. These edges are structural edges in the triangulation problem with constraints for a given triangle. The third step is to combine all surfaces into one surface. Further, subsurfaces are constructed along the loops of intersection limited by the found loops. Since the intersection line of the surfaces was constructed in sequence, it is possible to specify the direction of each edge. Any edge from the intersection line is selected. The triangle is added to the subsurface under construction, which includes this edge and its orientation is the same as the direction of the edge. The edge which was selected previously is deleted from intersection line, but two new edges are added is the remaining edges of added triangle. The third step is to combine all surfaces into one surface. Further, subsurfaces are constructed along the cycles of intersection limited by the found cycles. Since the intersection line of the surfaces was constructed in sequence, it is possible to specify the direction of each edge. Any edge from the intersection line is selected. The triangle is added to the subsurface under construction, which includes this edge and its orientation is the same as the direction of the edge. The edge which was selected previously is deleted from intersection line, but two new edges are added is the remaining edges of added triangle. Their orientation is set in such a way that the opportunity to pass along the intersection line along the cycle is not broken. This process is repeated as long as the intersection line is not empty. The process of constructing subsurface must be done for each intersection line. After that, all triangles that have not entered any of the constructed surfaces are combined and form a new subsurface. The final surfaces are collected from obtained subsurfaces depending on the Boolean operation being performed. The algorithm is implemented in Java 7 and successfully integrated in specialized software products: "3D-School-Edit" and "3D-Chemistry-Edit". The first program is the software for creating 3D-models for school tasks on stereometry with the possibility 3D-printing of these models. The second one is the editor of chemical compounds with the possibility of 3D printing.http://sitito.cs.msu.ru/index.php/SITITO/article/view/284EducationITsoftware3D-technologiesalgorithm
spellingShingle Vladimir V. Kurgansky
Elvira V. Gayduk
SOFTWARE MODULE FOR CONSTRUCTING THE INTERSECTION OF TRIANGULATED SURFACES
Современные информационные технологии и IT-образование
Education
IT
software
3D-technologies
algorithm
title SOFTWARE MODULE FOR CONSTRUCTING THE INTERSECTION OF TRIANGULATED SURFACES
title_full SOFTWARE MODULE FOR CONSTRUCTING THE INTERSECTION OF TRIANGULATED SURFACES
title_fullStr SOFTWARE MODULE FOR CONSTRUCTING THE INTERSECTION OF TRIANGULATED SURFACES
title_full_unstemmed SOFTWARE MODULE FOR CONSTRUCTING THE INTERSECTION OF TRIANGULATED SURFACES
title_short SOFTWARE MODULE FOR CONSTRUCTING THE INTERSECTION OF TRIANGULATED SURFACES
title_sort software module for constructing the intersection of triangulated surfaces
topic Education
IT
software
3D-technologies
algorithm
url http://sitito.cs.msu.ru/index.php/SITITO/article/view/284
work_keys_str_mv AT vladimirvkurgansky softwaremoduleforconstructingtheintersectionoftriangulatedsurfaces
AT elviravgayduk softwaremoduleforconstructingtheintersectionoftriangulatedsurfaces