MCPcopy
hub / github.com/AirtestProject/Poco / track_sampling

Function track_sampling

poco/utils/track.py:8–32  ·  view source on GitHub ↗
(track, accuracy=0.002)

Source from the content-addressed store, hash-verified

6
7
8def track_sampling(track, accuracy=0.002):
9 # accuracy: 采样精度,都是归一化坐标系
10 if len(track) <= 1:
11 return track
12
13 total_distance = 0.0
14 for i in range(len(track) - 1):
15 p0 = Vec2(track[i])
16 p1 = Vec2(track[i + 1])
17 total_distance += (p1 - p0).length
18
19 sample_points = []
20 for i in range(len(track) - 1):
21 p0 = Vec2(track[i])
22 p1 = Vec2(track[i + 1])
23 d = p1 - p0
24 seg_length = d.length
25 d = (p1 - p0).unit() * accuracy
26 sp = p0
27 while (sp - p0).length < seg_length:
28 sample_points.append(sp.to_list())
29 sp = sp + d
30
31 sample_points.append(track[-1])
32 return sample_points
33
34
35class MotionTrackHold(object):

Callers 1

discretizeMethod · 0.85

Calls 3

Vec2Class · 0.90
unitMethod · 0.80
to_listMethod · 0.80

Tested by

no test coverage detected