A MATLAB code for finding the kernel of a simple polygon

IF 3.7 3区 计算机科学 Q2 COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS
Annamaria Mazzia
{"title":"A MATLAB code for finding the kernel of a simple polygon","authors":"Annamaria Mazzia","doi":"10.1016/j.jocs.2025.102616","DOIUrl":null,"url":null,"abstract":"<div><div>This paper presents an algorithm for determining the kernel of a simple polygon. Traditional algorithms typically define the kernel by intersecting carefully chosen half-planes. In contrast, we explore a less-used approach as described in Zhao and Wang, (2010) , that handles concave vertices of the polygon as part of the kernel computation. This approach leverages two key techniques. First, it intersects the polygon’s interior with lines passing through edges adjacent to concave vertices. Second, it analyzes the orientations of two specific triangles identified by the sequence of vertices defining the line segment’s endpoints. This method for ray-line segment intersection plays a crucial role in efficiently determining the kernel. While the original approach effectively determines the kernel for a subset of simple polygons, it has limitations in handling all possible cases. This paper addresses these limitations by presenting a refined algorithm that expands the applicability of the method. The enhanced algorithm is implemented in MATLAB and validated through extensive testing to ensure its accuracy and efficiency.</div></div>","PeriodicalId":48907,"journal":{"name":"Journal of Computational Science","volume":"90 ","pages":"Article 102616"},"PeriodicalIF":3.7000,"publicationDate":"2025-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Computational Science","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S1877750325000936","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0

Abstract

This paper presents an algorithm for determining the kernel of a simple polygon. Traditional algorithms typically define the kernel by intersecting carefully chosen half-planes. In contrast, we explore a less-used approach as described in Zhao and Wang, (2010) , that handles concave vertices of the polygon as part of the kernel computation. This approach leverages two key techniques. First, it intersects the polygon’s interior with lines passing through edges adjacent to concave vertices. Second, it analyzes the orientations of two specific triangles identified by the sequence of vertices defining the line segment’s endpoints. This method for ray-line segment intersection plays a crucial role in efficiently determining the kernel. While the original approach effectively determines the kernel for a subset of simple polygons, it has limitations in handling all possible cases. This paper addresses these limitations by presenting a refined algorithm that expands the applicability of the method. The enhanced algorithm is implemented in MATLAB and validated through extensive testing to ensure its accuracy and efficiency.
一个寻找简单多边形核的MATLAB代码
提出了一种确定简单多边形核的算法。传统算法通常通过精心选择的半平面相交来定义核。相比之下,我们探索了Zhao和Wang(2010)中描述的一种较少使用的方法,该方法将多边形的凹顶点作为核计算的一部分进行处理。这种方法利用了两个关键技术。首先,它用穿过与凹顶点相邻的边缘的线与多边形的内部相交。其次,它分析由定义线段端点的顶点序列确定的两个特定三角形的方向。射线-线段交点的这种方法对于有效确定核函数起着至关重要的作用。虽然最初的方法有效地确定了简单多边形子集的核,但它在处理所有可能的情况时具有局限性。本文通过提出一种改进的算法来解决这些限制,该算法扩展了该方法的适用性。在MATLAB中实现了增强算法,并通过大量的测试验证了该算法的准确性和效率。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Journal of Computational Science
Journal of Computational Science COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS-COMPUTER SCIENCE, THEORY & METHODS
CiteScore
5.50
自引率
3.00%
发文量
227
审稿时长
41 days
期刊介绍: Computational Science is a rapidly growing multi- and interdisciplinary field that uses advanced computing and data analysis to understand and solve complex problems. It has reached a level of predictive capability that now firmly complements the traditional pillars of experimentation and theory. The recent advances in experimental techniques such as detectors, on-line sensor networks and high-resolution imaging techniques, have opened up new windows into physical and biological processes at many levels of detail. The resulting data explosion allows for detailed data driven modeling and simulation. This new discipline in science combines computational thinking, modern computational methods, devices and collateral technologies to address problems far beyond the scope of traditional numerical methods. Computational science typically unifies three distinct elements: • Modeling, Algorithms and Simulations (e.g. numerical and non-numerical, discrete and continuous); • Software developed to solve science (e.g., biological, physical, and social), engineering, medicine, and humanities problems; • Computer and information science that develops and optimizes the advanced system hardware, software, networking, and data management components (e.g. problem solving environments).
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信