gpt4 book ai didi

javascript - 如何找到特定点的 Angular

转载 作者:行者123 更新时间:2023-11-30 11:36:19 25 4
gpt4 key购买 nike

我使用 start 和 endangle 绘制了 svg 圆,如下所示,

document.getElementById("circle").setAttribute("d", describeArc(150, 150, 100, 180, 360));
function getPathArc(center, start, end, radius) {
end = end - 0.0001;
var degree = end - start;
degree = degree < 0 ? (degree + 360) : degree;
var clockWise = (degree < 180) ? 0 : 1;
return getPiePath(center, degreeToLocation(start, radius, center), degreeToLocation(end, radius, center), radius, clockWise);
}
function getPiePath(center, start, end, radius, clockWise) {
return 'M ' + start.x + ' ' + start.y + ' A ' + radius + ' ' + radius + ' 0 ' + clockWise + ' 1 ' + end.x + ' ' + end.y;
};
function degreeToLocation(degree, radius, center) {
var radian = (degree * Math.PI) / 180;
return {
'x' : Math.cos(radian) * radius + center.x,
'y': Math.sin(radian) * radius + center.y
};
}
function describeArc(x, y, radius, startAngle, endAngle){
var endAngle = endAngle - startAngle;
startAngle = startAngle <= 0 ? (360 + startAngle) % 360 : startAngle % 360;
endAngle = endAngle < 0 ? (360 + endAngle + startAngle) % 360 : Math.abs(endAngle + startAngle) % 360;
var direction = getPathArc({'x': x, 'y': y}, startAngle, endAngle, radius);
var d = direction;
return d;
}

这是样本 https://jsfiddle.net/ndmsqmao/3/

我需要为指定点的圆画一个刻度线。

例如让我们考虑,

如果它的值从 50 开始到 100 意味着我需要为第 66 个值绘制一个刻度线..如何实现这个?

enter image description here

最佳答案

希望这有助于...

var minValue = 50, maxValue = 100, value = 66,
minAngle = 180, maxAngle = 360, angle;

angle = minAngle + (value - minValue) / (maxValue - minValue) * (maxAngle - minAngle);

alert(angle);

关于javascript - 如何找到特定点的 Angular ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44280325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com