From 90f6935f9c0edaf93f5ce4f1e1ab034ac0106f20 Mon Sep 17 00:00:00 2001 From: Johannes Wolf <519002+johannes-wolf@users.noreply.github.com> Date: Tue, 29 Oct 2024 18:04:30 +0100 Subject: [PATCH] Streamline Angle API Behaviour (#729) * angle: Streamline behaviour * angle: Change inner to direction --- src/lib/angle.typ | 53 +++++++++++++++++++++--------------------- tests/angle/ref/1.png | Bin 46291 -> 50856 bytes tests/angle/test.typ | 40 ++++++++++++++++++++----------- 3 files changed, 53 insertions(+), 40 deletions(-) diff --git a/src/lib/angle.typ b/src/lib/angle.typ index 7657f287c..f1389c971 100644 --- a/src/lib/angle.typ +++ b/src/lib/angle.typ @@ -15,7 +15,7 @@ mark: auto, ) -/// Draw an angle between `a` and `b` through origin `origin` +/// Draw an angle counter-clock-wise between `a` and `b` through origin `origin` /// /// ```typc example /// line((0,0), (1,1.5), name: "a") @@ -25,13 +25,13 @@ /// cetz.angle.angle("a.start", "a.end", "b.end", label: $ alpha $, /// mark: (end: ">"), radius: 1.5) /// cetz.angle.angle("a.start", "b.end", "a.end", label: $ alpha' $, -/// radius: 50%, inner: false) +/// radius: 50%, direction: "cw") /// ``` /// /// - origin (coordinate): Angle origin /// - a (coordinate): Coordinate of side `a`, containing an angle between `origin` and `b`. /// - b (coordinate): Coordinate of side `b`, containing an angle between `origin` and `a`. -/// - inner (bool): Draw the smaller (inner) angle if true, otherwise the outer angle gets drawn. +/// - direction (string): Direction of the angle. Accepts "cw" (clockwise) and "ccw" (counter-clockwise), the latter being the default. /// - label (none,content,function): Draw a label at the angles "label" anchor. If label is a function, it gets the angle value passed as argument. The function must be of the format `angle => content`. /// - name (none,str): Element name, used for querying anchors. /// - ..style (style): Style key-value pairs. @@ -53,7 +53,7 @@ origin, a, b, - inner: true, + direction: "ccw", label: none, name: none, ..style @@ -65,32 +65,31 @@ assert(origin.at(2) == a.at(2) and a.at(2) == b.at(2), message: "Angle z coordinates of all three points must be equal") - let (s, e, ss) = { + assert(direction in ("cw", "ccw"), + message: "Invalid angle direction " + repr(direction)) + + let (start, delta, ccw) = { + let ccw = direction == "ccw" + let s = vector.angle2(origin, a) if s < 0deg { s += 360deg } + let e = vector.angle2(origin, b) if e < 0deg { e += 360deg } - if s > e { - (s, e) = (e, s) + if e < s { + e += 360deg } - if inner == true { - let d = vector.angle(a, origin, b) - if e - s > 180deg { - (s, e) = (e, e + d) - } else { - (s, e) = (s, s + d) - } - } else if inner == false { - if e - s < 180deg { - let d = 360deg - vector.angle(a, origin, b) - (s, e) = (e, e + d) - } + if ccw { + (s, (e - s), ccw) + } else { + (s, -(360deg - (e - s)), ccw) } - (s, e, (s + e) / 2) } + let mid = start + delta / 2 + // Radius can be relative to the min-distance between origin-a and origin-b if type(style.radius) == ratio { style.radius = style.radius * calc.min(vector.dist(origin, a), vector.dist(origin, b)) / 100% @@ -103,9 +102,9 @@ } let (ra, _) = util.resolve-radius(style.label-radius).map(util.resolve-number.with(ctx)) - let label-pt = vector.add(origin, (calc.cos(ss) * ra, calc.sin(ss) * ra, 0)) - let start-pt = vector.add(origin, (calc.cos(s) * r, calc.sin(s) * r, 0)) - let end-pt = vector.add(origin, (calc.cos(e) * r, calc.sin(e) * r, 0)) + let label-pt = vector.add(origin, (calc.cos(mid) * ra, calc.sin(mid) * ra, 0)) + let start-pt = vector.add(origin, (calc.cos(start) * r, calc.sin(start) * r, 0)) + let end-pt = vector.add(origin, (calc.cos(start + delta) * r, calc.sin(start + delta) * r, 0)) draw.anchor("origin", origin) draw.anchor("label", label-pt) draw.anchor("start", start-pt) @@ -113,18 +112,18 @@ draw.anchor("a", a) draw.anchor("b", b) - if s != e { + if delta != 0deg { if style.fill != none { - draw.arc(origin, start: s, stop: e, anchor: "origin", + draw.arc(origin, start: start, delta: delta, anchor: "origin", name: "arc", ..style, radius: r, mode: "PIE", mark: none, stroke: none) } if style.stroke != none { - draw.arc(origin, start: s, stop: e, anchor: "origin", + draw.arc(origin, start: start, delta: delta, anchor: "origin", name: "arc", ..style, radius: r, fill: none) } } - let label = if type(label) == function { label(e - s) } else { label } + let label = if type(label) == function { label(calc.abs(delta)) } else { label } if label != none { draw.content(label-pt, label) } diff --git a/tests/angle/ref/1.png b/tests/angle/ref/1.png index 1c3992bf529e0428cc6182ec645577c3fb741f11..297d84248934422f6e4e4540abbc242580145c91 100644 GIT binary patch literal 50856 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 literal 46291 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 diff --git a/tests/angle/test.typ b/tests/angle/test.typ index 37a2b48aa..a26d1962c 100644 --- a/tests/angle/test.typ +++ b/tests/angle/test.typ @@ -1,7 +1,8 @@ #set page(width: auto, height: auto) #import "/src/lib.typ": * +#import "/tests/helper.typ": * -#box(stroke: 2pt + red, canvas(length: 1cm, { +#test-case({ import draw: * import angle: angle @@ -11,12 +12,12 @@ group({ let (o, a, b) = ((0,0), (1,0), (calc.cos(a), calc.sin(a))) line(a, o, b) - angle(o, a, b, label: $alpha$, inner: true) + angle(o, a, b, label: $alpha$) }) } })) -#box(stroke: 2pt + red, canvas(length: 1cm, { +#test-case({ import draw: * import angle: angle @@ -26,12 +27,12 @@ group({ let (o, a, b) = ((0,0), (1,0), (calc.cos(a), calc.sin(a))) line(a, o, b) - angle(o, a, b, label: $alpha$, inner: false) + angle(o, a, b, label: $alpha$, direction: "cw") }) } })) -#box(stroke: 2pt + red, canvas(length: 1cm, { +#test-case({ import draw: * import angle: angle @@ -41,12 +42,12 @@ group({ let (o, a, b) = ((0,0), (calc.cos(a+90deg), calc.sin(a+90deg)), (calc.cos(a), calc.sin(a))) line(a, o, b) - angle(o, b, a, label: $alpha$, inner: true) + angle(o, b, a, label: $alpha$) }) } })) -#box(stroke: 2pt + red, canvas(length: 1cm, { +#test-case({ import draw: * import angle: angle @@ -56,12 +57,12 @@ group({ let (o, a, b) = ((0,0), (calc.cos(a+90deg), calc.sin(a+90deg)), (calc.cos(a), calc.sin(a))) line(a, o, b) - angle(o, b, a, label: $alpha$, inner: false) + angle(o, b, a, label: $alpha$, direction: "cw") }) } })) -#box(stroke: 2pt + red, canvas(length: 1cm, { +#test-case({ import draw: * import angle: angle @@ -69,16 +70,15 @@ line(a, b, c) set-style(angle: (stroke: red, label-radius: 1)) - angle(b, a, c, mark: (start: ">", end: ">"), - inner: true, label: $omega$) + angle(b, c, a, mark: (start: ">", end: ">"), label: $omega$) translate((2,0,0)) line(a, b, c) set-style(stroke: blue) set-style(angle: (stroke: auto, radius: 1, label-radius: .5)) - angle(b, c, a, mark: (start: ">", end: ">"), - inner: false, label: $alpha$, name: "alpha") + angle(b, c, a, mark: (start: "|", end: ">"), + direction: "cw", label: $alpha$, name: "alpha") set-style(stroke: black) circle("alpha.origin", radius: .15) @@ -86,3 +86,17 @@ circle("alpha.start", radius: .25) circle("alpha.end", radius: .25) })) + +#test-case({ + import draw: * + import angle: * + + angle((0,0), (1,0), (0,1), mark: (end: ">")) +}) + +#test-case({ + import draw: * + import angle: * + + angle((0,0), (1,0), (0,1), mark: (end: ">"), direction: "cw") +})