iPhone SDK и Objective-C
Цель:
Я пытаюсь вычислить координаты 'x' и 'y' двух окружностей.У меня есть размеры внутреннего круга, и я хочу вычислить, каковы были бы координаты 'x' и 'y' большей окружности внешнего круга, чтобы соответствовать той же ширине (расстоянию) вдоль края большего круга, как это происходит с внутренним кругом.
В конце мне просто нужно выяснить, какими будут ребра x / y для края больших окружностей.Так что он совпадает с внутренним меньшим кругом.Если ширина на внутреннем круге равна 10, мне нужно знать точки x / y, чтобы сделать его на 10 градусов выше, чем на большой круг.Чтобы сделать прямоугольник, который будет расширяться.Перпендикулярные линии.
Пример:
Я использую следующее, чтобы вычислить первые 2 набора x / y для дуги на внутренней окружности для построения точек:
- (CGPoint)coordinatePoints:(CGFloat)radius angleDegrees:(CGFloat)degrees xAxis:(CGFloat)x yAxis:(CGFloat)y {
CGFloat pointX = (CGFloat) ((radius * cos((degrees * M_PI) / 180.0f)) + x);
CGFloat pointY = (CGFloat) ((radius * sin((degrees * M_PI) / 180.0f)) + y);
CGPoint points = CGPointMake(pointX, pointY);
return points;
}
Я называю это для первых двух позиций на внутреннем круге.Мне нужно выяснить, как сделать так, чтобы у него было расстояние на внешнем круге.
CGPoint innerPoints1 = [self coordinatePoints:innerRadius angleDegrees:startingPoint xAxis:x yAxis:y];
CGPoint innerPoints2 = [self coordinatePoints:innerRadius angleDegrees:endingPoint xAxis:x yAxis:y];
Если радиус внутреннего круга равен 200, а радиус внешнего круга равен 500, я хочу, чтобы он все еще былтакой же толщины от внутреннего круга до большего внешнего круга, когда я строю точки.
// I have these calculated.
CGContextMoveToPoint(context, innerPoints1.x, innerPoints1.y);
CGContextAddLineToPoint(context, innerPoints2.x, innerPoints2.y);
// I need to find the solution for making innerPoints3 and innerPoints4 correctly.
CGContextAddLineToPoint(context, innerPoints3.x, innerPoints3.y);
CGContextAddLineToPoint(context, innerPoints4.x, innerPoints4.y);
У меня есть координаты для линий внутреннего круга для разнесенных точек x / y.Мне нужно найти правильный способ получить ту же ширину, нанесенную для больших кругов.Размеры круга всегда будут меняться.Длины линий будут динамическими.Поскольку я пытаюсь создать многоугольник, мне нужно найти 2 координаты на больших кругах для каждого сегмента.
Любая помощь с этим будет принята с благодарностью.
Информационная графика: исчерпывающая иллюстрированная справка Страница 74: Моя конечная цель в том, чтобы показать тот же результат, что и на трех изображениях.