Рисование выпуклой формы с помощью CoreGraphics - PullRequest
0 голосов
/ 21 декабря 2009

Я пытаюсь создать прямоугольный треугольник с выпуклой гипотенузой.

  1. Начните с квадрата
  2. Отрежьте половину по диагонали так, чтобы осталось прямоугольный треугольник.
  3. Изогните гипотенузу внутрь

Как бы я достиг этого с CoreGraphics? Должен ли я вписать эллипс на половину прямоугольника?

1 Ответ

2 голосов
/ 21 декабря 2009

Я не очень хорошо разбираюсь в математике, может быть, кто-то может уточнить касательную математику.

Вот пользовательская функция рисования подпредставления, чтобы нарисовать то, что вы ищете. Просто сделайте несколько строк, используйте дугу для гипотенузы.

- (void)drawRect:(CGRect)dirtyRect {
 CGContextRef ctx = UIGraphicsGetCurrentContext();
 CGContextMoveToPoint(ctx, 0, 50);
 CGContextAddLineToPoint(ctx, 100, 50);
 CGContextAddLineToPoint(ctx, 100, 0);

 CGPoint tangent1 = CGPointMake(85, 25);
 CGPoint tangent2 = CGPointMake(10, 50);
 CGContextAddArcToPoint(ctx, tangent1.x, tangent1.y, tangent2.x, tangent2.y, 125);

 CGFloat redComponents[4] = { 1., 0., 0., 1. };
 CGContextSetFillColor(ctx, redComponents);
 CGContextFillPath(ctx);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...