chiark / gitweb /
mesh: wires, still somewhat buggy
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 7 Nov 2017 15:51:29 +0000 (15:51 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 7 Nov 2017 15:51:29 +0000 (15:51 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
meshscad

index 6281a0b0080fc64d1c5f78788587643fa6ea2724..57573ae4d7fd4ab84fe560153ed3403b46fab407 100755 (executable)
--- a/meshscad
+++ b/meshscad
@@ -12,13 +12,13 @@ nomsize = 50;
 wire = 3.0;
 
 # number of wires
-kv = 5
-kw = 5
+kv = 10
+kw = 10
 
 # resolution
 nv = 20
 nw = 20
-ns = 3 # around tube
+ns = 8 # around tube, should be even
 
 nv += -nv % kv
 nw += -nw % kw
@@ -28,7 +28,7 @@ each_w = nw / kw
 
 m = Moebius(nv, nw)
 
-def dpr(v): return '%4f %4f %4f' % tuple(v)
+def dpr(v): return '%+3f %+3f %+3f' % tuple(v)
 
 def round_wire(p, vec_surfacenormal, vec_acrosswire, sigma):
   return r
@@ -42,7 +42,7 @@ def make_moebius(objname):
   def qc(v, w, sigmas, is_trav):
     print(' QCv,w,T',v,w,is_trav, file=sys.stderr)
     for ab in 0,1:
-      p, norm, extt, trav = m.details(v + ab*is_trav, w + ab*(not is_trav))
+      p, norm, extt, trav = m.details(v + ab*(not is_trav), w + ab*is_trav)
       for sx in 0,1:
         sigma = sigmas[sx]
         if is_trav: acrs = extt
@@ -63,15 +63,12 @@ def make_moebius(objname):
   for v in range(0, nv):
     for w in range(0, nw):
       for s in range(0, ns):
-        sigmas = [ (s + sx + 1.0)/ns * tau for sx in 0,1 ]
+        sigmas = [ (s + sx + 0.)/ns * tau for sx in 0,1 ]
         print('VWS',v,w,s, sigmas, file=sys.stderr)
         if not w % each_w:
           extents[w].quad([ cnr for cnr in qc(v,w,sigmas,False) ])
-        if False and not v % each_v:
-          travers[v].quad([ round_wire(p, norm, extt, sigmas[sx])
-                            for b in 0,1
-                            for p, norm, extt, trav in (m.details(v, w+b),)
-                            for sx in 0,1 ])
+        if not v % each_v:
+          travers[v].quad([ cnr for cnr in qc(v,w,sigmas,True) ])
   for v in range(0, nv):
     print('// extent v=', v)
     extents[v].writeout_core(nomsize)