Browse Source

add distance calculation of points for future improved interpolation

phschoen 1 year ago
parent
commit
5917fe41c3
1 changed files with 13 additions and 0 deletions
  1. 13
    0
      render.py

+ 13
- 0
render.py View File

48
     p_max = [points[0][0], points[0][1]]
48
     p_max = [points[0][0], points[0][1]]
49
 
49
 
50
     # find center
50
     # find center
51
+    dist_min = float('inf')
52
+    dist_max = 0
53
+    p_prev = p_min
51
     for segment in path:
54
     for segment in path:
52
         p = [segment.end.real, segment.end.imag]
55
         p = [segment.end.real, segment.end.imag]
53
         for i in range(0, 2):
56
         for i in range(0, 2):
56
             if p[i] > p_max[i]:
59
             if p[i] > p_max[i]:
57
                 p_max[i] = p[i]
60
                 p_max[i] = p[i]
58
 
61
 
62
+        dist_curr  = (p[0] - p_prev[0]) * (p[0] - p_prev[0])
63
+        dist_curr += (p[1] - p_prev[1]) * (p[1] - p_prev[1])
64
+        dist_curr  = math.sqrt(dist_curr)
65
+        p_prev = p
66
+        if dist_curr > dist_max:
67
+            dist_max = dist_curr
68
+        if dist_curr < dist_min:
69
+            dist_min = dist_curr
70
+
59
     p_center = [ p_min[0] + (p_max[0] - p_min[0] )/2  ,  p_min[1] + (p_max[1] - p_min[1] )/2]
71
     p_center = [ p_min[0] + (p_max[0] - p_min[0] )/2  ,  p_min[1] + (p_max[1] - p_min[1] )/2]
60
 
72
 
61
     # find min max for all rotatations
73
     # find min max for all rotatations
87
 
99
 
88
     print("min={} max={}".format(p_min, p_max))
100
     print("min={} max={}".format(p_min, p_max))
89
     print("center={} ".format(p_center))
101
     print("center={} ".format(p_center))
102
+    print("dist ={} ={} ".format(dist_min, dist_max))
90
 
103
 
91
     data = bytearray()
104
     data = bytearray()
92
 
105
 

Loading…
Cancel
Save