
Take a square piece of paper and fold it down the middle then open it out and fold along the lines AB in DIG . 1 . Now you should have a shape like DIG . 2 . DIG . 1 Now fold along the line AB in DIG . 2 you should get DIG . 3 . It is important that the fold AB is midway up the flaps created in STEP 1 DIG . 2 Now fold along the lines XZ on DIG . 3 and unfold having creased very well along these lines . Then fold them in the other direction creasing well and unfold . DIG . 3 Tuck the flaps produced in the previous step inside as the arrows show on DIG . 4 . This should give you DIG . 5 . DIG . 4 Fold the tip down along the dotted line in DIG . 5 to give DIG . 6 . DIG . 5 Now fold along the two dotted lines in DIG . 6 giving DIG . 7 . DIG . 6 To finish the model off fold along the dotted lines in DIG . 7 to give you the form at the top of the page . DIG . 7 Origami Paper Airplane Flying Lesson This plane is basically a dart . Throw it as hard as you can straight in the direction you want it to go overarm . It flies equally well indoors and out and does n't really have any lift or do stunts . It is just a challenge to make and a pleasure once you succeed . 