Let's Play Ancient Greek Geometry
blog.sciencevsmagic.net
blog.sciencevsmagic.net
Thoughts: after clicking, sometimes I decide I want to cancel drawing from that point. I can click on the original point to cancel, it would be nice to be able to press ESC or SPACE to cancel drawing (just noticed that Z for undo cancels).
For the "game" side, it is very important to have simple tasks that almost all players can complete to get started. I would add an even simpler first challenge, such as make two overlapping circles.
I would love to be able to share constructions. I'm thinking a button I press that pops up a URL that I can share. When visited it shows an animation drawing the construction, then when done lets you do more drawing. That would be cool.
It's just a new condition in onkeydown:
else if (e.keyCode === 27) {
deselect();
}
While we're at it, make Shift+z redo. else if (e.keyCode === 90) {
//"z"
if (e.shiftKey) {
changes.redo();
}
else {
changes.undo();
changes.record(1);
}
}
And let's not clutter up the user's history. Swapping window.location.hash=currenthash;
...
window.location.hash=hash;
with window.location.replace(currenthash);
...
window.location.replace(hash);
fixes that one.It's the little things in life, man…
As for the hash, the original reason why I went with hash= was to preserve back and forward, but I guess that might not be so necessary considering I have undo and redo.
I know that my clutter can be a bit obnoxious, but just changing it to window.replace(hash) breaks a few other things, so it's left the way it is for now.
There is probably some HTML5 history API way to do it that lets me have back and forward without saving every history entry, I'll look into it.
var appKeys = { "Esc": 27 };
else if (e.keyCode === appKeys.Esc) {
Some JS libs do this for you and there are some nice libs that make key handling convenient and powerful as well.There are lots of libraries that could have made things more convenient. But a big part of this project was to learn as much as I could about coding, and the browser as an environment, so early on I committed to writing everything myself.
I'd be interested in hearing whether or not other people think this is a good strategy for self teaching.
Do you mean the Back & Forward buttons in the browser?
If you can go back/forward to different states, why wouldn't those show up as history entries? I don't think you can decouple the displayed "history" drop-down list from the behavior of the back/forward buttons (for reasons that are probably obvious).
If you want to go deeper: http://www.woodenbooks.com/ which are, for want of a better term, 'rigorous mysticism.'
Thank you for making this. Find a way to get this out there to geometry teachers. They (and their students) will love it.
--
Suggested improvements:
+ Option to switch between a couple colors or line types, to make it easier to track what one's doing. (E.g., laying down foundational lines in black, then experimental lines in blue or dashed lines.
+ One minor thing I'd like to see fixed: the proximity of the numerical goals to the shapes they're associated with doesn't make it clear whether (e.g.) the 8 move goal is an easy version of the "build a triangle in X moves," or whether 8 moves is the least amount of moves for building a triangle inside an origin circle.
Suggested fix: make that more apparent by tweaking the order of the symbols (e.g. Triangle, 5, 8, OriginTriangle) and/or adding a divider of some manner to make them stand apart more.
EDIT: it looks like the tick marks are the straight line extensions; if so, it's exceedingly strange that I can use them "for free" (without drawing the line) as, say, guides for the radius of a circle (I can't put the centre there, but I can "end" the circle there), but I can't just have the line itself.
A Hexagon in 10 moves or less? How does that even...
oh... OH... neat.
Fun game.Arg I think it might be too big for the in original circle challenge. Darn it, how do you do this one?!
Here's how I did it.
(1) Geometric stained glass windows. Anyone know how to cheaply source/cut coloured glass? Best mechanism for rounded portions of potential framing? I don't mind if it takes awhile to build, just that it sustains the weight and enough wind. Preferably thicker rather than thinner glass.
(2) Might be useful for some 3D printing based crafting projects.
An option to export SVG would be useful (and feasible, given the vector nature of construction).
http://www.sciencevsmagic.net/geo/#0A1.1A0.0L2.0L1.1L2.1L6.2...
http://www.sciencevsmagic.net/geo/#0A1.1A0.2A0.0L2.2L7.4L1.1...
Scratch that - the same thing works if rotated:
http://www.sciencevsmagic.net/geo/#1A0.0A1.2A0.1L5.2L0.0L9.9...
Side note: You should add "Square the Circle" as a super bonus ;)