Designate a theta angle
This commit is contained in:
+7
-2
@@ -30,6 +30,10 @@ static void right_triangle_layer_update_proc(Layer *layer, GContext *ctx) {
|
||||
graphics_draw_line(ctx, GPoint(start_x, base_y), GPoint(end_x, base_y));
|
||||
graphics_draw_line(ctx, GPoint(start_x, base_y), GPoint(apex_x, apex_y));
|
||||
graphics_draw_line(ctx, GPoint(end_x, base_y), GPoint(apex_x, apex_y));
|
||||
|
||||
// circle theta angle
|
||||
graphics_context_set_stroke_color(ctx, GColorRed);
|
||||
graphics_draw_circle(ctx, GPoint(tri->theta_angle_is_left ? start_x : end_x, base_y), 3);
|
||||
}
|
||||
|
||||
RightTriangleLayer *right_triangle_layer_create(GRect frame, GColor color) {
|
||||
@@ -41,9 +45,10 @@ RightTriangleLayer *right_triangle_layer_create(GRect frame, GColor color) {
|
||||
tri->color = color;
|
||||
|
||||
// determine angles
|
||||
tri->angle_A = 90;
|
||||
tri->angle_B = rand() % 86; // acute angle at left base vertex
|
||||
tri->angle_A = 90; // right angle at apex
|
||||
tri->angle_B = 5 + rand() % 81; // acute angle at left base vertex
|
||||
tri->angle_C = 90 - tri->angle_B; // acute angle at right base vertex
|
||||
tri->theta_angle_is_left = rand() % 2;
|
||||
|
||||
// choose hypotenuse length randomly
|
||||
uint16_t min_hyp = (frame.size.w < frame.size.h) ? frame.size.w / 2 : frame.size.h / 2;
|
||||
|
||||
Reference in New Issue
Block a user