コード例 #1
0
ファイル: main.c プロジェクト: x/pebble-test
static int32_t ball_traj(Ball *ball) {
  int32_t theta;
  theta = atan2_lookup((int16_t)(ball->center.y - sg_center.y),
                       (int16_t)(ball->center.x - sg_center.x));
  theta += TRIG_MAX_ANGLE / 4; // idk why...
  return theta;
}
コード例 #2
0
ファイル: sprinkles.c プロジェクト: gregoiresage/sprinkles
void prv_draw_pupil(GContext *ctx, const GRect *eye_rect, const GPoint *perimeter_point) {
  const int16_t pupil_radius = 3;
  const GSize pupil_size = GSize(pupil_radius * 2, pupil_radius * 2);
  const GRect pupil_container_rect = grect_inset((*eye_rect), GEdgeInsets(2 * pupil_radius));
  const GPoint pupil_center = grect_center_point(&pupil_container_rect);
  const int32_t pupil_angle = atan2_lookup(perimeter_point->y - pupil_center.y,
                                           perimeter_point->x - pupil_center.x) +
                                                DEG_TO_TRIGANGLE(90);
  const GRect pupil_rect = grect_centered_from_polar(pupil_container_rect, GOvalScaleModeFitCircle,
                                                     pupil_angle, pupil_size);
  graphics_fill_radial(ctx, pupil_rect, GOvalScaleModeFitCircle, pupil_radius, 0, TRIG_MAX_ANGLE);
}
コード例 #3
0
ファイル: pennapps2014.c プロジェクト: guozhaonan/pebbleangle
static void handle_accel(AccelData *accel_data, uint32_t num_samples) {
  angle = atan2_lookup(accel_data->z, accel_data->x) * 360 / TRIG_MAX_ANGLE - 270;
  //APP_LOG(APP_LOG_LEVEL_DEBUG, "Angle %ld", angle);
  snprintf(text_buffer, sizeof(text_buffer), "%ld", angle);
  text_layer_set_text(text_angle, text_buffer);
}
コード例 #4
0
ファイル: battery_icon.c プロジェクト: schornT/atWATCH
static bool point_in_arc(int32_t aPercent, int32_t x, int32_t y, int32_t radius) {
    int32_t a = atan2_lookup(x, -y);
    int32_t degree = TRIG_MAX_ANGLE * aPercent / 100;
    return (0 <= a && a < degree);
}