首页/新闻资讯/正文详情

JavaScript 已知三个点,求多边形的最小面积(Minimum area of a Polygon with three points given)

发布时间:2026/11/15 6:41:40 来源:云帆数科 栏目:资讯中心
JavaScript 已知三个点,求多边形的最小面积(Minimum area of a Polygon with three points given)
如果您喜欢此文章请收藏、点赞、评论谢谢祝您快乐每一天。已知正多边形n 3的三个顶点求由这三个顶点构成的正多边形四边相等的最小面积。例如输入0.00 0.001.00 1.000.00 1.00输出1.00通过取点 (1.00, 0.00) 形成边长为 1.0 的正方形因此面积 1.00。在继续之前需要注意一点边数必须至少为 4注意 n 3 的条件。这里我们需要找到正多边形的最小面积因此为了计算最小面积我们需要计算所需的 n 值。由于边长未知我们首先计算由这些点构成的三角形的外接圆半径。外接圆半径的计算公式为R abc / 4A 其中 a、b、c 是所构成三角形的三边长A 是三角形的面积。三角形的面积可以使用海伦公式计算。计算出三角形的外接圆半径后我们使用公式 A ​​ n × (sin(360/n) × r² /2)计算正多边形的面积。这里r 代表 n 边形n 边正多边形的外接圆半径。但是首先我们需要计算 n 的值。为了计算 n我们首先需要利用余弦公式 计算三角形的三个角cosA (b² c² - a² ) / 2bccosB (a² c² - b² ) / 2accosC (a² b² - c² ) / 2ab。然后n 的值由公式 n π / GCD(A, B, C)给出 其中 A、B 和 C 是三角形的三个角。计算出 n 后将其代入多边形面积的计算公式。以下是该方法的实现script// Javascript program to find minimum// area of polygon of number of// sides more than three with// given three points.// Assigning pi value to variablelet pi 3.14159265359;function fmod(a, b) {let result Math.floor(a / b);return a - result * b;}// calculating gcd value of// two double values .function gcd(x, y) {return Math.abs(y) 1e-4 ? x :gcd(y, fmod(x, y));}// Calculating minimum area of polygon through this function .function min_area_of_polygon(Ax, Ay, Bx, By, Cx, Cy) {let a, b, c, Radius, Angle_A, Angle_B, Angle_C,semiperimeter, n, area;// Calculating the length of the sides// of the triangle formed from given/// points a, b, c represents the// length of different sides of triangle .a Math.sqrt((Bx - Cx) * (Bx - Cx) (By - Cy) * (By - Cy));b Math.sqrt((Ax - Cx) * (Ax - Cx) (Ay - Cy) * (Ay - Cy));c Math.sqrt((Ax - Bx) * (Ax - Bx) (Ay - By) * (Ay - By));// Here we have calculated the// semiperimeter of a triangle .semiperimeter (a b c) / 2;// Now from the semiperimeter area// of triangle is derived// through the herons formula .let area_triangle Math.sqrt(semiperimeter *(semiperimeter - a) *(semiperimeter - b) *(semiperimeter - c));// Thus circumradius of the triangle// is derived from the sides and// area of the triangle calculated .Radius (a * b * c) / (4 * area_triangle);// Now each angle of the triangle// is derived from the sides// of the triangle .Angle_A Math.acos((b * b c * c - a * a) /(2 * b * c));Angle_B Math.acos((a * a c * c - b * b) /(2 * a * c));Angle_C Math.acos((b * b a * a - c * c) /(2 * b * a));// Now n is calculated such that// area is minimum for the regular n-gon .n pi / gcd(gcd(Angle_A, Angle_B), Angle_C);// calculating area of regular n-gon// through the circumradius of the triangle .area (n * Radius * Radius *Math.sin((2 * pi) / n)) / 2;return area;}function to_fixed(float, pre) {let x new String(float).split(.)return x[0] . x[1].slice(0, pre)}// Driver code// Three points are given as input .let Ax, Ay, Bx, By, Cx, Cy;Ax 0.00;Ay 0.00;Bx 1.00;By 1.00;Cx 0.00;Cy 1.00;document.write(to_fixed(min_area_of_polygon(Ax, Ay, Bx, By, Cx, Cy), 2));// This code is contributed by Saurabh Jaiswal/script输出1.00时间复杂度 O(log(min(A,B,C)))辅助空间 O(1)因为没有占用额外的空间。如果您喜欢此文章请收藏、点赞、评论谢谢祝您快乐每一天。

相关推荐

飞书演示文稿 XML 读取完整指南与 slides +xml-get 实操避坑
飞书演示文稿 XML 读取完整指南与 slides +xml-get 实操避坑

飞书演示文稿 XML 读取完整指南与 slides xml-get 实操避坑 【免费下载链接】cli The official Lark/飞书 CLI tool, maintained by the larksuite team — built for humans and AI Agents. Covers core business domains including Messenger, Docs, Base, Sheets, Calendar,… · 2026/11/3 0:10:02

【飞书项目(Meegle)CLI 配置指南与踩坑总结】
【飞书项目(Meegle)CLI 配置指南与踩坑总结】

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/14 10:29:10

CC Switch v4.0.20 升级指南:13 个 AI 编程工具的供应商一次管完
CC Switch v4.0.20 升级指南:13 个 AI 编程工具的供应商一次管完

CC Switch v4.0.20 升级指南:13 个 AI 编程工具的供应商一次管完 【免费下载链接】cc-switch A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode,DeepSeek Harness and more. Only official website: ccswitch.io 项目地址: https… · 2026/11/6 6:45:56

供电工作工作业绩全流程办理指南:实操考试心里没底怕挂科?网上查询最全攻略来了
供电工作工作业绩全流程办理指南:实操考试心里没底怕挂科?网上查询最全攻略来了

供电工作工作业绩全流程办理指南:实操考试心里没底怕挂科?网上查询最全攻略来了 实操考试心里没底怕挂科?你不是一个人。最近很多准备报考低压电工证、高压电工证的学员都提到一个共同的焦虑——考试能不能过?尤其像供电工作工作业绩这类证书,关系到职业… · 2026/11/15 17:14:35

建新局电工证考前押题怎么练?怕考不过白交培训费?这4步稳过
建新局电工证考前押题怎么练?怕考不过白交培训费?这4步稳过

建新局电工证考前押题怎么练?怕考不过白交培训费?这4步稳过 怕考不过白交培训费?你不是一个人。尤其是像我们这种在开封房建工程一线干活的电工,考建新局电工证不仅是上岗的门槛,更是职业发展的关键。很多人花钱报了培训班,结果考试还是翻车,培训费打… · 2026/11/15 17:14:35

电工证可以到哪里考呢全国通用?学历不高也能顺利报考的实操经验
电工证可以到哪里考呢全国通用?学历不高也能顺利报考的实操经验

电工证可以到哪里考呢全国通用?学历不高也能顺利报考的实操经验 你是不是也担心自己学历不高,考电工证根本报不上名?其实很多人在报考电工证时都有这样的顾虑,但真相是,只要符合条件,哪怕你只有初中学历,也能顺利拿到 全国通用… · 2026/11/15 17:14:34

特种作业兵团操作证多少钱 外省证能转过来吗
特种作业兵团操作证多少钱 外省证能转过来吗

特种作业兵团操作证多少钱 外省证能转过来吗 之前考的证在外省能不能转过来?这几乎是每个想转岗、换城市打工的特种作业人员都会问的问题。特别是从河南到外地工作的朋友,担心手里那本特种作业操作证在别的地方用不了,更怕还要再花一笔钱重新考一遍。… · 2026/11/15 17:14:34

天津有电工证招聘怎么考?郑州报考避坑指南来了!
天津有电工证招聘怎么考?郑州报考避坑指南来了!

天津有电工证招聘怎么考?郑州报考避坑指南来了! 怕考不过白交培训费?现在很多人想通过考电工证进入工地或工厂,但一想到培训费、考试难度、通过率,就打退堂鼓。其实,只要方法对了,考试并不难,关键是你有没有踩到“坑”。特别是郑州报考避坑指南,能帮… · 2026/11/15 17:14:34

电工作业安全风险分析官方回应来了,外省证能不能转过来?
电工作业安全风险分析官方回应来了,外省证能不能转过来?

电工作业安全风险分析官方回应来了,外省证能不能转过来? 之前考的证在外省能不能转过来?说实话,很多人拿到电工证后,第一反应就是担心这个证在外地能不能用,尤其是那些在外地工作的河南考生,更关心这个问题。 官方回应… · 2026/11/15 17:13:21

长春初级电工证怎么考?通过率揭秘全在这里
长春初级电工证怎么考?通过率揭秘全在这里

长春初级电工证怎么考?通过率揭秘全在这里 之前考的证在外省能不能转过来?这几乎是每个想从事电工工作的人都会问的问题。特别是那些在外地打拼多年、手里握着一张“外地电工证”的人,到了长春想继续干这一行,第一反应就是“我的证能用吗?”。今天我们就… · 2026/11/15 0:00:50

国内电工证报考条件与考试时间
国内电工证报考条件与考试时间

低压电工证怎么考?学历不高也能报名,官方报名入口全在这 你是不是经常听说“电工证是入行门槛”,但又担心自己学历不够、经验不足,根本报不了名?别急,今天就带你从零了解【国内电工证】的报考流程、考试内容,还有怎么在 官方报名入口… · 2026/11/15 0:00:50

电工作业时如何断电?电子证书到底能不能全国通用?
电工作业时如何断电?电子证书到底能不能全国通用?

电工作业时如何断电?电子证书到底能不能全国通用? 实操考试心里没底怕挂科,特别是电工作业时如何断电这一操作,不仅关系到你能不能拿到证书,更关系到以后能不能顺利上岗。很多人觉得这不过就是“断个电”,但其实这里面的门道可不少,稍有不慎就可能出错… · 2026/11/15 0:00:50

长春初级电工证怎么考?通过率揭秘全在这里
长春初级电工证怎么考?通过率揭秘全在这里

长春初级电工证怎么考?通过率揭秘全在这里 之前考的证在外省能不能转过来?这几乎是每个想从事电工工作的人都会问的问题。特别是那些在外地打拼多年、手里握着一张“外地电工证”的人,到了长春想继续干这一行,第一反应就是“我的证能用吗?”。今天我们就… · 2026/11/15 0:00:50

国内电工证报考条件与考试时间
国内电工证报考条件与考试时间

低压电工证怎么考?学历不高也能报名,官方报名入口全在这 你是不是经常听说“电工证是入行门槛”,但又担心自己学历不够、经验不足,根本报不了名?别急,今天就带你从零了解【国内电工证】的报考流程、考试内容,还有怎么在 官方报名入口… · 2026/11/15 0:00:50

电工作业时如何断电?电子证书到底能不能全国通用?
电工作业时如何断电?电子证书到底能不能全国通用?

电工作业时如何断电?电子证书到底能不能全国通用? 实操考试心里没底怕挂科,特别是电工作业时如何断电这一操作,不仅关系到你能不能拿到证书,更关系到以后能不能顺利上岗。很多人觉得这不过就是“断个电”,但其实这里面的门道可不少,稍有不慎就可能出错… · 2026/11/15 0:00:50

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 1:51:20

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 4:02:19

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 3:02:05

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码