Manthan
Manthan

Reputation: 3914

How to draw lines with angle and distance in ios

I am having an app in which I am doing some calculations and based on that I want to draw a traverse like shown below.

Here is an image of the traverse.

Traverse Image

I have distance of AB, BC and so on.

Based on this values I need to draw an image shown above.

I know how to draw a line using UIBezierPath and using the below code.

UIBezierPath *path = [UIBezierPath bezierPath];
    [path moveToPoint:CGPointMake(100.0, 100.0)];
    [path addLineToPoint:CGPointMake(100.0, 100.0)];

    CAShapeLayer *shapeLayer = [CAShapeLayer layer];
    shapeLayer.path = [path CGPath];
    shapeLayer.strokeColor = [[UIColor blueColor] CGColor];
    shapeLayer.lineWidth = 3.0;
    shapeLayer.fillColor = [[UIColor clearColor] CGColor];

But how to draw this with this calculations. I am confused with it. I just want some guidance on it.

My main aim is to draw image with the design pattern shown below.

EDIT

I have a distance of 50.0 and an angle of 37 for line AB. How to draw a line AB from that?

Please help. Any help will be appreciated. Thanks.

Upvotes: 1

Views: 968

Answers (1)

ko100v.d
ko100v.d

Reputation: 1156

Example:

 - (void)drawTraverseWithFirstPoint:(CGPoint)firstPoint secondPoint:(CGPoint)point thirdPoint:(CGPoint)thirdPoint fourthPoint:(CGPoint)fourthPoint andLastPoint:(CGPointLastPoint) {

UIBezierPath *path = [UIBezierPath bezierPath];
    [path moveToPoint:your_start_point];
    [path addLineToPoint:firstPoint];
    [path addLineToPoint:secondPoint];
    [path addLineToPoint:thirdPoint];
    [path addLineToPoint:fourthPoint];
    [path addLineToPoint:lastPoint];


    CAShapeLayer *shapeLayer = [CAShapeLayer layer];
    shapeLayer.path = [path CGPath];
    shapeLayer.strokeColor = [[UIColor blueColor] CGColor];
    shapeLayer.lineWidth = 3.0;
    shapeLayer.fillColor = [[UIColor clearColor] CGColor];
}

Just do the calculations first and pass it as paramethers or pass an Array with points however it is easier for you, i hope you will understand my example good day.

Upvotes: 1

Related Questions