Screen('DrawLines')

Screen('DrawLines', windowPtr, xy [,width] [,colors] [,center] [,smooth]);

windowPtrで指定されたウィンドウに、素早く複数の線分を描きます。

xyは2行複数列の行列で、線分の座標を表します。

例えばxyが次のような行列だとします。

xy = [x1, x2, x3, x4;
         y1, y2, y3, y4]

このときは、(x1, y1) から (x2, y2) に向かって線分が描かれます。

同時に、(x3, y3) から (x4, y4) に向かっても線分が描かれます。

xyで指定される座標は、centerに対しての相対的な座標です。デフォルトではcenterはウィンドウの左上の座標 (0,0) になっています。

widthはピクセル単位で表した線分幅です。デフォルトでは1になっています。(ただし後述するアンチエイリアシングのときは2以上がよいでしょう。1だと点線のように見えることがあるようです)

widthがベクトルで与えられた場合は、それぞれの線分に対する太さになります。つまり、様々な太さの線分を同時に描画できるということです。

colorsは、widthと同様に、すべての線分の色を単一に決めたり、行列として与えることで複数の線分の色を指定することができます。(x1, y1) から (x2, y2) に向かう線分において、(x1, y1)の色と(x2, y2)の色が異なる場合は、ゆるやかに色が変化します。デフォルトの色は白です。

smoothは斜めの線分をスムーズに描画するかどうかで、0だとギザギザに描画されますが、1だとスムーズに描画します。このスムーズに描画することを、アンチエイリアシングと呼びます。アンチエイリアシングを有効にするには、Screen('BlendFunction')で適切なブレンディングモードをセットしてください。

アンチエイリアス(三角形の描画)のサンプルプログラムを動かすと、Screen('DrawLines')の仕組みがよく分かると思います。