Swift playground で学び直しをしております。
「コードを学ぼう3」のタイトルの課題に行き詰まり、
ネットで回答を知りましたが、なぜこれで正解になるのかがわかりませんでした。
特に、最後のforループと、内包されているif文が理解できません。

以下のコードを実行すると、画面をタッチした箇所および画面を4つに分割した4象限の
X軸とy軸対称の位置に動物の画像が現れます。
(例えば、画面右上をタッチするとパンダの絵が、タッチした箇所・右下・左上・左下の
4箇所に現れる)指をスライドすると次々に違う動物が現れ、万華鏡のような効果となります。

最後のforループと、内包されているif文につきまして、
Forループの意味は「右上・右下・左上・左下にキャラクターを配置する」ということでしょうか。
特にif文の示す意味が理解できないのですが、
Scene.place()内のGraphics[i]iとはfor i inif iiと同じものを指しているのでしょうか?だとすると、動物キャラクター数列の0番目から3番目までを4回表示する
だけでは?と思ってしまうのですが、、、。
また、ためしにgraphics[i]の[]内を全部[2]や[1]にすると、画面のどこをタッチしても、
動物キャラクターが左下に集まってしまいます。なぜこうなるのでしょうか?

let animals = [ imageLiteral(resourceName: "horse@2x.png"),  imageLiteral(resourceName: "elephant@2x.png"),  imageLiteral(resourceName: "panda@2x.png"),  imageLiteral(resourceName: "pig@2x.png"),  imageLiteral(resourceName: "frog@2x.png"),  imageLiteral(resourceName: "snail@2x.png")]

var lastPlacePosition = Point(x: 0, y: 0)

func addImage(touch: Touch) {

    // Space out the graphics.
    let placeDistance = touch.position.distance(from: lastPlacePosition)
    if placeDistance < /*#-editable-code*/80/*#-end-editable-code*/ { return }
    lastPlacePosition = touch.position

    // カラの数列graphicsを作る
    var graphics: [Graphic] = []

    // animals数列から動物をランダムにピックアップ
    let chosenImage = animals.randomItem

    // ピックアップした動物をgraphics数列に3つ入れる
    for i in 0 ..< 4 {
        let graphic = Graphic(image: chosenImage)
        graphics.append(graphic)
    }

    // 画面をタッチした絶対座標を求める
    let x = abs(touch.position.x)
    let y = abs(touch.position.y)

    // 右上・右下・左上・左下の座標を決める
    let position1 = Point(x: x, y: y)
    let position2 = Point(x: -x, y: y)
    let position3 = Point(x: x, y: -y)
    let position4 = Point(x: -x, y: -y)

    //このforループの意味がわからない
    for i in 0 ..< 4 {
        if i == 0 {
            scene.place(graphics[i], at: position1)
        } else if i == 1 {
            scene.place(graphics[i], at: position2)
        } else if i == 2 {
            scene.place(graphics[i], at: position3)
        } else if i == 3 {
            scene.place(graphics[i], at: position4)
        }
    }
}