From 6e6f54b0cb4cbd3b693b1256b39af4f9fb8bd41c Mon Sep 17 00:00:00 2001 From: Diego Torres Milano Date: Fri, 29 Nov 2024 17:07:58 -0800 Subject: [PATCH] Add spiral example --- examples/helper/spiral | 32 ++++++++++++++++++++++++++++++++ examples/helper/spiral.gif | Bin 0 -> 37051 bytes 2 files changed, 32 insertions(+) create mode 100755 examples/helper/spiral create mode 100644 examples/helper/spiral.gif diff --git a/examples/helper/spiral b/examples/helper/spiral new file mode 100755 index 00000000..212b8695 --- /dev/null +++ b/examples/helper/spiral @@ -0,0 +1,32 @@ +#! /usr/bin/env python3 +import numpy as np +from com.dtmilano.android.viewclient import ViewClient + +def toint(n): + return n.item() + +def npint(a): + return np.round(a).astype(int) + +def spiral(t): + a = 0.5 # Controls the tightness of the spiral + b = 0.5 # Controls the spacing between turns + g = 40 # Factor + dx = 400 # Delta x + dy = 600 # Delta y + x = g * a * t * np.cos(t + b) + dx + y = g * a * t * np.sin(t + b) + dy + return list(zip(map(toint, npint(x)), map(toint, npint(y)))) + +# get helper +helper = ViewClient.view_client_helper() + +# generate values for the parameter t +t = np.linspace(0, 4 * np.pi, 100) + +# calculate (x, y) coordinates +segments = spiral(t) + +# assume google keep is open so we can see it drawing +# see spiral.gif +helper.ui_device.swipe(segments=segments, segment_steps=3) diff --git a/examples/helper/spiral.gif b/examples/helper/spiral.gif new file mode 100644 index 0000000000000000000000000000000000000000..4d40ddbac95154bced9a0b8d41fc49d4387420f4 GIT binary patch literal 37051 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