[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Groff] Problems with arcs and angles
From: |
John Gardner |
Subject: |
[Groff] Problems with arcs and angles |
Date: |
Fri, 28 Apr 2017 15:31:30 +1000 |
Hello!
Some time ago, I announced my intent to build a man-page previewer for a
text-editor named Atom <https://atom.io/>. Work is coming along nicely: this
page
<https://cdn.rawgit.com/Alhadis/language-roff/a7c07744a9d44adf32a546646f7a8d57d52e6e58/preview-tty.html>
was generated using a lightweight tokeniser
<https://github.com/Alhadis/language-roff/blob/renderer/lib/tokeniser.js>
written in JavaScript, which processes Groff's intermediate output language
into web-based formats. That's the nroff preview... I'm now halfway through
developing the troff previewer, which uses HTML5 canvas
<https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D>
technology to draw realtime previews of an opened Roff document.
So far, so good!
<https://cloud.githubusercontent.com/assets/2346707/25514878/732e09ea-2c23-11e7-97ea-9674d3845dd1.png>
I'm
proud of how this is turning out: bear in mind, that preview updates as the
user types, so it'll feel like an efficient replacement for a word
processing program, haha.
I'm currently stuck with drawing arcs
<https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/arc>.
This
might be the wrong forum to ask for help with trigonometry, but I was
planning to announce progress eventually anyway.
Now, this pic code:
.PS
> "+" at 0,0
> arc -> from 0.5,0 to 0,0.5
> arc -> cw from 0,0 to 1,0.5
> arc -> cw from 0,0 to 2,0 rad 15
> .PE
... should look like this
<https://cloud.githubusercontent.com/assets/2346707/25515071/4bc46870-2c25-11e7-9883-9248e4b4aa68.png>.
Instead, it, uh, looks like this
<https://cloud.githubusercontent.com/assets/2346707/25515084/5d84eed6-2c25-11e7-8cdd-bdb65f7804e9.png>
.
Groff's output gives me these coordinates to go by:
- startX, startY - Coordinates of the arc's starting point
- centreX, centreY - Coordinates of the arc's centre
- endX, endY - Coordinates of the arc's terminal point
But the canvas arc method I'm working with requires all of these:
- x - The x coordinate of the arc's centre.
- y - The y coordinate of the arc's centre.
- radius - The arc's radius.
- startAngle - The angle at which the arc starts, measured clockwise
from the positive x axis and expressed in radians.
- endAngle - The angle at which the arc ends, measured clockwise from
the positive x axis and expressed in radians.
It's embarrassing to be stuck on something so obvious, but this is what's
blocking further progress...
- [Groff] Problems with arcs and angles,
John Gardner <=