X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=meshscad;h=ad3194929243001d5942498650ceee7216fe159d;hb=29cb20f6187aeed6da1f1a7efa3473ee46015ece;hp=2f51b15ae5ccd42042f8574eed498c0365f70356;hpb=af1f55df477da8c3fdeee9ec7e9be8d0653657c1;p=moebius3.git diff --git a/meshscad b/meshscad index 2f51b15..ad31949 100755 --- a/meshscad +++ b/meshscad @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/python3 from __future__ import print_function @@ -9,17 +9,20 @@ from moebius import * from scad import * nomsize = 30; -wire = 2.000; +wire = 1.500; # number of wires kv = 24 kw = 16 # resolution -nv = 80 -nw = 80 +nv = 200 +nw = 200 ns = 4 # around tube, should be even +from moedebug import * +dbg_file(sys.stderr) + nv += -nv % kv nw += -nw % kw @@ -65,11 +68,16 @@ def make_moebius(objname): for v in range(0, nv): for w in range(0, nw+1): + extw = w + if extw > nw/2: extw = nw-w + # each extent wire has to go round twice to meet itself + # (except the middle one, if there is one, where nw/2 = nw - nw/2 + # and it gets to be by itself for s in range(0, ns): sigmas = calc_sigmas([s + sx for sx in (0,1)]) #print('VWS',v,w,s, sigmas, file=sys.stderr) if not w % each_w: - extents[w % nw].quad([ cnr for cnr in qc(v,w,sigmas,False) ]) + extents[extw].quad([ cnr for cnr in qc(v,w,sigmas,False) ]) if not v % each_v and w < nw: travers[v].rquad([ cnr for cnr in qc(v,w,sigmas,True) ]) if not v % each_v: