我正在为paperjs指定Arcs的方式而苦苦挣扎。我不知道为什么没有基本上的东西:
var myArc = new Arc(degrees (radians?), center, radius);
因为我无法弄清楚(从,到,到)作为Arc描述符的优势。
无论如何,有人能告诉我如何绘制一个弧形的说法:固定半径的固定中心点30度?假设中心点为:(cx,cy),半径为200。
我不关心方向,因为我可以在事后旋转它。
TIA。
答案 0 :(得分:2)
似乎没有内置的方法来做到这一点。它确实有“Path.Arc(start,through,end);”在大多数情况下更有意义。
然而,你可以通过这种方式设计:
function getCreateArcInfo(degrees,center,radius){
return {
from: {
x:center.x + radius,
y: center.y
},
through: {
x: center.x + Math.cos(degrees/2) * radius,
y: center.y + Math.sin(degrees/2) * radius
},
to: {
x: center.x + Math.cos(degrees) * radius,
y: center.y + Math.sin(degrees) * radius
},
strokeColor: 'black'
}
}
var arcValues = getCreateArcInfo(4, {x:253,y:334}, 160)
var myArc = new Path.Arc(arcValues)
答案 1 :(得分:0)
只需计算所需的坐标(伪代码):
fromPoint = Point(Center.X + Radius * Math.Cos(StartAngleInRadians), Center.Y + Radius * Math.Sin(StartAngleInRadians))
throughPoint = Point(Center.X + Radius * Math.Cos(StartAngleInRadians + ArcAngle/2), Center.Y + Radius * Math.Sin(StartAngleInRadians + ArcAngle/2))
toPoint = Point(Center.X + Radius * Math.Cos(StartAngleInRadians + ArcAngle), Center.Y + Radius * Math.Sin(StartAngleInRadians + ArcAngle))
答案 2 :(得分:0)
这是先前答案的修改版本,代码已转换为javascript( test_df %>% group_by(Y) %>%
summarise( z0 = sum(Z == 0), z1 = sum(Z == 1) , PropZ = z1/n())
是当前有效的PaperScope
)。
paper