W3C home > Mailing lists > Public > www-svg@w3.org > September 2012

RE: stars in SVG

From: David Dailey <ddailey@zoominternet.net>
Date: Sat, 22 Sep 2012 15:09:47 -0400
To: "'David Dailey'" <ddailey@zoominternet.net>, <www-svg@w3.org>
Message-ID: <003401cd98f5$d591e410$80b5ac30$@net>
Oh. I forgot to mention the trefoils and knots:





Might these also be expressible with a sufficiently flexible theory of




From: David Dailey [mailto:ddailey@zoominternet.net] 
Sent: Saturday, September 22, 2012 2:51 PM
To: www-svg@w3.org
Subject: stars in SVG


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.





[1] http://www.w3.org/2012/09/18-svg-minutes.html#action07

[2] http://srufaculty.sru.edu/david.dailey/svg/stars3.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 19:10:23 GMT

This archive was generated by hypermail 2.3.1 : Friday, 8 March 2013 15:54:52 GMT