javascript - 在 Canvas 中间创建等边三 Angular 形?

标签 javascript html math geometry html5-canvas

我想在 Canvas 中间画一个等边三 Angular 形。我试过这个:

ctx.moveTo(canvas.width/2, canvas.height/2-50);
ctx.lineTo(canvas.width/2-50, canvas.height/2+50);
ctx.lineTo(canvas.width/2+50, canvas.height/2+50);
ctx.fill();

但是三 Angular 形看起来有点太高了。

如何在canvas中间画一个等边三 Angular 形?

有人告诉我,你必须找到等边三 Angular 形的高与等边三 Angular 形的边的比值。

h:s

这两个数字是多少?

最佳答案

三个 Angular 点的方程是

x = r*cos(angle) + x_center
y = r*sin(angle) + y_center

其中 Angular = 0、(1./3)*(2*pi) 和 (2./3)*(2*pi);其中 r 是三 Angular 形内切圆的半径。

关于javascript - 在 Canvas 中间创建等边三 Angular 形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8935930/

相关文章:

javascript - 如何处理按下后退按钮,图像应该持久

php - php中基于正态分布的年龄匹配算法

c++ - 为什么 0 mod 0 是一个错误?

javascript - 如何将智能表 `st-search`与ng-model集成?

javascript等待关键字将微任务推迟到下一个tick

html - 如何调整按钮大小而不剪切内部文本

javascript - 使用 OnClick 在新选项卡中打开输入字段

PHP - 优化查找数组中的最近点

javascript - WebRTC 重新协商对等连接以切换流

javascript - 无法利用 jsfiddle 来工作