Can't help with the calculator question.
Carmen Laski asked about this on the geodesic list last year.
She might be worth getting in touch with. Here is her web page
http://www.laski.com/html/carmen_laski.htm
I have included the reply I sent below.
After scaling the spherical dome into an ellipsoid there
is quite a variation in strut length so an extra step to
equalise strut lengths on the ellipsoid might be useful.
Adrian.
--
Adrian Rossiter
adr...@antiprism.com
http://antiprism.com/adrian
Hi Carmen
On Thu, 2 Oct 2008, Carmen Laski wrote:
> 360 triangles each. I would like to build an oval dome but cannot find
> the geodesic formulas to build the triangles. I saw these formulas
> about 2 years ago on the net but cannt find them anywhere. Any help
> out there with this?
You could calculate the lengths and angles with the Antiprism
programs.
Here is an example showing how you would do it.
Generate an F3 icosahedral geodesic sphere and scale it by 2
along the x-axis to make an oval base
geodesic 3 | off_trans -S 2,1,1 > oval_dome.off
You need to see the vertex numbers so open it in Antiprism's
antiview program like this
antiview -n v oval_dome.off
Alternatively make a VRML model to show the vertex numbers
off2vrml -n oval_dome.off > oval_dome.wrl
Here is the model of the geodesic ellipsoid with numbered
vertices
http://www.antiprism.com/misc/oval_dome.wrl
A base triangle runs between vertices 81, 80, and 12. Get the
strut lengths like this
off_query -e 81,80,80,12,12,81 Evl oval_dome.off
The output is
E0,81 80,1.4272883590923595
E1,80 12,0.7384708168734635
E2,12 81,0.73847081687346305
To find the mitre angles you first need to add a point
at the centre of the model. The joint "axes" will pass
through this point.
echo "0,0,0" | off_util > centre_point.off
off_util -o oval_dome.off oval_dome.off centre_point.off
Find how many vertices are in the model
off_report oval_dome.off
One less than this is the index of the centre point, in this
case 92.
To work out the angles of strut 20,12 at the end 12. First
find the joint axis angle at 12 (along 20,12,92)
To work out the angles of strut 20,12 at the end 12. First
find the joint axis angle at 12 (along 20,12,92)
off_query -f 20,12,92 Fa oval_dome.off
This gives the angles of the triangle 20,12,92 and the
angle at 12 is the second value, around 83 degrees
E0,58.553885026443339 82.925065091715098 38.521049881841577
It should be possible to find the mitre angles to cut at each
side of the joint axis by querying for the two dihedral angles
each side of the plane through the strut and joint axis, like
this
off_query -f 80,12,92 -f 0,12,92 -e 12,92 Ea oval_dome.off
Unfortunately, this doesn't work! There is a bug relating
to the reporting of dihedral angles when extra elements are
added using -e or -f. I will fix this.
However, if you think you would like to calculate your dome
like this I could write a short program that would produce
a list of the joint axis angles and the mitre angles at
each vertex of the dome. I think will write some code to do
this anyway as I imagine it may be of more general interest.
If you wanted extra vertices for the base, for example
between vertices 12 and 13 to split the wide triangle
12,81,80, you would have to add them by hand to the
off file produced by 'geodesic'. Then project onto
a sphere with 'off_util -S', and then scale as before
e.g 'off_trans -S 2,1,1'
After scaling the spherical dome into an ellipsoid there
is quite a variation in strut length so an extra step to
equalise strut lengths on the ellipsoid might be useful.
Antiprism currently only supports equalising on a sphere (or
edges in free space.)
The method I use is very basic. I just move a vertex towards
(or away from) its neighbour in a straight line, and then
project back onto the sphere surface along a straight line
with the origin.
However, this also easily works with an ellipsoid or
superellipsoid so I have added this in to the minmax program.
It will be available next time I make a snapshot release.
The program option takes four floating point numbers, the
first three for the axis lengths and the last one is the power.
Here is a test Class III 4,3 octahedron on a 2x1x1 power 3
superellipsoid
http://www.antiprism.com/misc/sup_ellipse_o34.jpg
http://www.antiprism.com/misc/sup_ellipse_o34.wrl
You can see that the edges are an improvement on a
simple projection, but with four triangles around a square
there is only so much that can be done to equalise on a
single edge length. Also, the octahedron vertices have
wandered.
On Sun, 6 Sep 2009, TaffGoch wrote:
> I certainly didn't anticipate you editing the feature set, based simply on
> my earlier comment.
I was going to add in ellipsoids, but superellipsoid don't really
require any extra code (just a couple of lines for reading in the
final power argument) so I thought I might as well add them in
too.
Adrian