|
▼SS さん:
>「傾いた」が二次元、三次元どちらか分かりませんが
二次元です
>二次元配列上に傾いた楕円を描画の題意がピンときません。
>もう少し出来ている部分の情報があると回答できるかもしれません。
今作ってるやつです 円と線だけでできてます
ht tp://www42.atwiki.jp/syugyou?cmd=upload&act=open&pageid=243&file=nnn.xls
楕円も使いつつ当たり判定を二次元配列上に入れたいのです
円の描画はこうしてます(わかりやすくするためセルに描画してます)
Sub en(a, b, kaisix, kaisiy, ByVal x, ByVal y, Optional owariy = 0)
'a・b中心座標 kaisix・kaisiy描画開始座標 x終了X座標
'y終了Y座標(1か-1のみ 中心より上か下か)
Dim c, d, e, f, g, h, i, j, k
i = Abs(kaisix - a) ^ 2 + Abs(kaisiy - b) ^ 2
d = kaisix - a
e = kaisiy - b
Cells(a + d, b + e).Interior.Color = 0
For h = 0 To 10000
If d > 0 Then
j = -1
Else
j = 1
End If
If e > 0 Then
k = 1
Else
k = -1
End If
f = Abs((d ^ 2) + ((e + j) ^ 2) - i)
g = Abs(((d + k) ^ 2) + (e ^ 2) - i)
n = Abs(((d + k) ^ 2) + ((e + j) ^ 2) - i)
If f > g And n > g Then
d = d + k
ElseIf n > f Then
e = e + j
Else
e = e + j
d = d + k
End If
Cells(a + d, b + e).Interior.Color = 0
If a + d = x Then
If y = -1 Then
If e <= 0 Then Exit For
Else
If e >= 0 Then Exit For
End If
End If
Next
owariy = b + e
End Sub
Sub test()
en 50, 50, 30, 30, 60, -1
End Sub
これと同様に楕円を描画可能でしょうか
できればFor内でサインコサインを使わないで済めば幸いです
円の描画もより高速化できればご教授願います
|
|