我正在尝试创建一个“馅饼楔”。而且我不擅长。我已经很久没有参加trig了。我查看了很多示例,并在 JS 中生成了这个代码生成器:
var startPointX = 200;
var startPointY = 200;
var startAngle = 180;
var endAngle = 210;
var x1 = startPointX + 180*Math.cos(Math.PI*startAngle/180);
var y1 = startPointY + 180*Math.sin(Math.PI*startAngle/180);
var x2 = startPointX + 180*Math.cos(Math.PI*endAngle/180);
var y2 = startPointY + 180*Math.sin(Math.PI*endAngle/180);
console.log("M200,200 L" + x1 + "," + y1 + " A180,180 0 0,1 " + x2 + "," + y2 + " z");
效果很好!
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<path d="M200,200 L20,200 A180,180 0 0,1 44.1,110 z" fill="red" stroke="none" stroke-width="0" />
</svg>
但是,我需要做的是改变生成的“楔形”的半径。我似乎无法弄清楚哪些参数对应,或者我将如何修改我的方程以进行补偿。替换所有的“180”给了我一些奇怪的结果。