You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中计算等边三角形边上均匀分布点的坐标?

等边三角形边上均匀分布点的坐标计算方法

三角形上的点

已知等边三角形的中心(S)、三个顶点(A、B、C)和内切圆半径r,要在各边上生成间距相等的均匀分布点,核心方法是利用线段线性插值,具体步骤和公式如下:

一、单条边的均匀点生成

等边三角形的每条边都是线段,均匀分布点本质是对边的两个端点做等分插值——若已知顶点坐标,无需用到中心S;内切圆半径r仅在需要反推边长时使用,已知顶点的话可直接跳过边长计算。

1. 边长与内切圆半径的关系(可选)

等边三角形边长L和内切圆半径r的换算公式:

L = 2 * r * sqrt(3)

三条边长度完全相等,即L_AB = L_BC = L_CA = L

2. 插值公式生成点

假设要在边AB上生成k个中间点(不含A、B顶点),需将AB分为k+1等份,每份间距d = L_AB/(k+1)。

对第i个中间点X_i(i=1,2,...,k),坐标计算公式:

X_i.x = A.x + (i/(k+1)) * (B.x - A.x)
X_i.y = A.y + (i/(k+1)) * (B.y - A.y)

若需要包含顶点,只需将i的范围扩展为0到k+1(i=0对应A点,i=k+1对应B点)。

二、扩展到三条边

按上述方法分别处理三条边:

  • 边BC:用B、C的坐标代入插值公式
  • 边CA:用C、A的坐标代入插值公式

三、全局等间距(所有边上的点含顶点间距一致)

若要求所有边上的点(含顶点)彼此间距相等,步骤如下:

  1. 计算总周长P = 3 * L
  2. 设总点数为N(含3个顶点),则间距d = P/(N-1)
  3. 每条边上的点数(含两端顶点)为(L/d) + 1,因等边三角形边长相等,三条边的点数完全相同,再用插值公式生成对应点即可。

内容的提问来源于stack exchange,提问作者Tomas Javurek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 11:46:28