求曲面上矩形的坐标
Finding coordinates of rectangle on a curved surface
有谁知道如何计算rectangle/square方框在圆表面的坐标?
我可以获取矩形的中心并通过它画一条线,但试图获取坐标。
var lineHeight = 25;
var baseX = circle.x + circleRadius/2 * Math.cos(angleRadians);
var baseY = circle.y + circleRadius/2 * Math.sin(angleRadians);
var x1 = baseX + lineHeight*Math.cos(angleRadians);
var y1 = baseY + lineHeight*Math.sin(angleRadians);
this.testgraphics = this.add.graphics();
this.testgraphics.lineStyle(4, 0xff0000);
this.testgraphics.beginPath();
this.testgraphics.moveTo(baseX, baseY);
this.testgraphics.lineTo(x1, y1);
this.testgraphics.closePath();
this.testgraphics.strokePath();
为什么要用半个圆半径(circleRadius/2
)?
baseX = circleCenterX + circleRadius * cos(angleRadians)
baseY = circleCenterY + circleRadius * sin(angleRadians)
角坐标
x1 = baseX - rectWidth / 2 * sin(angleRadians) //note sign
y1 = baseY + rectWidth / 2 * cos(angleRadians)
x2 = baseX - rectWidth / 2 * sin(angleRadians) + rectHeight * cos(angleRadians)
y2 = baseY + rectWidth / 2 * cos(angleRadians) + rectHeight * sin(angleRadians)
x3 = baseX + rectWidth / 2 * sin(angleRadians) + rectHeight * cos(angleRadians)
y3 = baseY - rectWidth / 2 * cos(angleRadians) + rectHeight * sin(angleRadians)
x4 = baseX + rectWidth / 2 * sin(angleRadians)
y4 = baseY - rectWidth / 2 * cos(angleRadians)
有谁知道如何计算rectangle/square方框在圆表面的坐标?
我可以获取矩形的中心并通过它画一条线,但试图获取坐标。
var lineHeight = 25;
var baseX = circle.x + circleRadius/2 * Math.cos(angleRadians);
var baseY = circle.y + circleRadius/2 * Math.sin(angleRadians);
var x1 = baseX + lineHeight*Math.cos(angleRadians);
var y1 = baseY + lineHeight*Math.sin(angleRadians);
this.testgraphics = this.add.graphics();
this.testgraphics.lineStyle(4, 0xff0000);
this.testgraphics.beginPath();
this.testgraphics.moveTo(baseX, baseY);
this.testgraphics.lineTo(x1, y1);
this.testgraphics.closePath();
this.testgraphics.strokePath();
为什么要用半个圆半径(circleRadius/2
)?
baseX = circleCenterX + circleRadius * cos(angleRadians)
baseY = circleCenterY + circleRadius * sin(angleRadians)
角坐标
x1 = baseX - rectWidth / 2 * sin(angleRadians) //note sign
y1 = baseY + rectWidth / 2 * cos(angleRadians)
x2 = baseX - rectWidth / 2 * sin(angleRadians) + rectHeight * cos(angleRadians)
y2 = baseY + rectWidth / 2 * cos(angleRadians) + rectHeight * sin(angleRadians)
x3 = baseX + rectWidth / 2 * sin(angleRadians) + rectHeight * cos(angleRadians)
y3 = baseY - rectWidth / 2 * cos(angleRadians) + rectHeight * sin(angleRadians)
x4 = baseX + rectWidth / 2 * sin(angleRadians)
y4 = baseY - rectWidth / 2 * cos(angleRadians)