在Cocos Creator中,我们可以使用Graphics组件来绘制图形。要绘制一个圆,可以使用以下代码:

let graphics = node.getComponent(cc.Graphics);
graphics.circle(center.x, center.y, radius);
graphics.stroke();

其中,center是圆心的坐标,radius是半径的长度,stroke()用于绘制图形的轮廓线。

如果要在三角形外画圆,可以先计算出三角形的外接圆的圆心和半径,然后再使用上述代码来绘制圆。计算外接圆的圆心和半径的代码如下:

let a = cc.v2(x1, y1); // 三角形的三个顶点
let b = cc.v2(x2, y2);
let c = cc.v2(x3, y3);

let ab = b.sub(a); // 两个向量
let ac = c.sub(a);

let abPerp = cc.v2(-ab.y, ab.x); // ab的法向量
let acPerp = cc.v2(-ac.y, ac.x); // ac的法向量

let abMid = a.add(b).mul(0.5); // ab的中点
let acMid = a.add(c).mul(0.5); // ac的中点

let center = intersection(abMid, abPerp, acMid, acPerp); // 交点就是圆心

let radius = center.sub(a).mag(); // 圆心到任意一个顶点的距离就是半径

function intersection(p1, v1, p2, v2) {
    let t = v2.cross(p1.sub(p2)) / v1.cross(v2);
    return p1.add(v1.mul(t));
}

其中,intersection()函数用于计算两条直线的交点。

cocoscreator 三角形外画圆

原文地址: https://www.cveoy.top/t/topic/Bxb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录