- From: David Dailey <ddailey@zoominternet.net>
- Date: Sat, 22 Sep 2012 14:50:45 -0400
- To: <www-svg@w3.org>
- Message-ID: <002c01cd98f3$2cf5bef0$86e13cd0$@net>
I see that there is a plan to think some more about stars in SVG: [1] It makes sense, generally, since (cos 2pi/n) is a bit difficult to do declaratively, and like replication and randomness, even though these things may be done easily enough with script, SVG is, after all, a declarative language, and we should never limit our thinking to that which only programmers might do. HTML was successful, in part, because it was accessible to the masses. <star>, <random> and <replicate> all share some of that core philosophy. And thought the latter two are infinitely more powerful than <star> , <star> by itself has merit. Observe the stars generated in the very old web page at [2]. It takes advantage of a convenient mapping between stars and the rational numbers. If p is a prime number, then the number of distinct unicursal stars (drawn with a single M subcommand in SVG-speak) on p points is [(p-1)/2] (where [r] denotes the greatest integer less than r) . This includes the degenerate case of the regular polygon on p points. This is easily seen by traversing any orbit in the cyclic group on p elements. For an arbitrary n, the number of distinct unicursal stars is given by [ φ (n)/2 ] where φ (n) is Euler's totient function. For nonprime n, if k evenly divides n, then we will have n/k distinct M subcommands in the SVG path to draw such an n-pointed star having an "offset" of k. To make sense of the above claims look at the example in [3]. The first two stars are the two distinct unicursal 7 pointed stars. One is formed with an offset of 3 (each line connects two nodes that are 3 steps away clockwise (or counterclockwise by symmetry)) ; the other with an offset of 2. The heptagon is the trivial case when the offset is 1. Note also that the second is a "substar" of the first since the first contains a shape that is similar (e.g. having the same shape, but with possibly different size). In the rectangle below, one can experiment (for n=11,7,13, 14 etc) with choosing some of the possible stars on n nodes. Having paid a bit of attention to stars since Doug and I talked in Zurich, it is clear that his "star generator" generates stars that are not generated by this framework and vice versa. I think the Inkscape star-wizard generates a subset of those that Doug's does. It is also the case that a lot of stars that people draw (usually using bitmaps) [4] are generated by neither scheme, having either quasi-random asymmetry or 3D- replication. Hence a theory of stars that matches the real world would have to be a bit broader than either approach. Inkscape's star generator has the advantage that it really has sort of six parameters : cx, cy, innerradius, outerradius, n, and inneroffset (in radians). The addition of one or two other parameters could include a richer class that do indeed occur. One would be the group theoretic offset (as discussed above), the other might be something like an even-odd rule that declares which line segments remain visible. At any rate, people do draw pentagrams (with the interior lines visible, frequently, and I have seen examples of both seven pointed stars (the U of Cal parking stickers), the eight pointed star (lots of European architecture), nine pointed stars (the Virginia Health Sciences Center), the classic six pointed star, and even eleven pointed stars occurring in the wild, so neglecting these use case would, in my estimation, be a mistake. A general set of stars, that includes the asymmetric ones could be generated sort of like Doug's where we have both an interior path ( a simple smooth curve) and another contained completely inside it (e.g. on the interior). Each curve is then divided into n equidistant points along the curve and then an offset is chosen to map the exterior points to the interior points, with an option to have the lines continue on to the "other side" to a natural point of convergence. Building a <star> primitive is a good idea, but it should at least allow pentagrams, stars of David, and the two distinct elven stars (or septagrams) [5]. It wouldn't take a lot of extrapolation to include what amounts to a fair amount of world art and symbology. Cheers David [1] http://www.w3.org/2012/09/18-svg-minutes.html#action07 <https://rockmail.sru.edu/owa/redir.aspx?C=3d21690dea0f4d8b814d911d5e000b60& URL=http%3a%2f%2fwww.w3.org%2f2012%2f09%2f18-svg-minutes.html%23action07> [2] http://srufaculty.sru.edu/david.dailey/svg/stars3.svg <https://rockmail.sru.edu/owa/redir.aspx?C=3d21690dea0f4d8b814d911d5e000b60& URL=http%3a%2f%2fsrufaculty.sru.edu%2fdavid.dailey%2fsvg%2fstars3.svg> [3] http://cs.sru.edu/~ddailey/svg/stars.svg [4] https://www.google.com/search?q=stars <https://www.google.com/search?q=stars&tbm=isch> &tbm=isch [5] http://symboldictionary.net/?p=373
Received on Saturday, 22 September 2012 18:51:21 UTC