触手の動きのアルゴリズム教えてください (326レス)
上下前次1-新
151(1): 139 [0] 02/06/12 19:18 ID:??? AAS
>>149
ああ、トロイってそういう意味か
147さんボケェっていってごめんなさい。
>>146
自分で考えろボケェ!
152: 147 02/06/12 19:22 ID:??? AAS
>>148,151
いや、私の完敗です、スマソ
しかし、怖くて実行できぬ。
153: 139 [0] 02/06/12 19:31 ID:??? AAS
恐ければ実行しなくてよいよ
154: 139 [せっかく作ったのに] 02/06/12 19:45 ID:??? AAS
155: 02/06/12 20:22 ID:??? AAS
138オモロい
156: 02/06/12 21:56 ID:??? AAS
なんだVBか。
157: とっつぁん [とっつぁん] 02/06/12 23:16 ID:??? AAS
おお!とうとう実践的な方が降臨されましたな!
ソース激烈にきぼん。
158(1): 02/06/12 23:31 ID:??? AAS
思い切って実行してみた。
単なるIKの2D版じゃんとオモタ
159(1): 139 02/06/13 04:55 ID:hRB41EXw(1) AAS
>>158
あんたが求めてる触手ってどんなもの?
160: 02/06/13 09:14 ID:??? AA×

161(1): 02/06/13 12:40 ID:??? AAS
>>159
こんなの
画像リンク
162: 139 02/06/13 17:43 ID:SREciCjE(1) AAS
>>161
頑張れ
163: 02/06/13 23:38 ID:LHE8jrgA(1/2) AAS
俺が今までに作ったゲームでは三角関数をよく使ったような…
(数学よりも物理で習った方法で利用)
>>99
許せる。
164: 02/06/13 23:39 ID:LHE8jrgA(2/2) AAS
ぐはっ。2ちゃん慣れしてないことがバレバレ。
ネタだと思わんでくだされ。
165: 02/06/14 01:55 ID:??? AAS
ダイジョブ オレモヤッタコトアル
166(2): 02/06/14 10:53 ID:TJTWjrmw(1) AAS
>139
これっていわゆるAB法では?
これは典型的なIKと呼ばれているんですかね?
紐シミュですよね?
167: 139 02/06/14 11:39 ID:76gizzkU(1) AAS
AB法?
実は俺プログラムやシミュレーションに関しては素人なので
よくわかりません。
168: 02/06/14 13:01 ID:??? AAS
>139
AB法ってのはkaneko氏がAnimeBodyというプログラムで用いたやつです。多分
各リンク点間をその距離で普通に拘束する感じだったと思います。
あえて名づけている意味が解りませんが。。。
169: 166 02/06/14 20:02 ID:iWBgkMT2(1/2) AAS
ごく一部の人の間ではAB法。
広く一般にはmass-spring法などと呼ばれているような気がする。
170: 166 02/06/14 20:04 ID:iWBgkMT2(2/2) AAS
でもIKとして使って問題ないんですね。
失礼しました。
171: あああ 02/06/14 21:03 ID:Ha4x9sVA(1) AAS
手
|
|
手 肘 x2=90
/ /
/ /
肩----肘----手 > 肩----肘 > 肩
x1=0 x2=0 x1=0 x2=45 x1=45
これでみたとうり部分部分で、角度の値を持たせるというのが、多関節
(簡易な)といったとこでしょうか(^^)
172: あああ 02/06/14 21:12 ID:MQwpPVXA(1/4) AA×

173(1): あああ 02/06/14 21:16 ID:MQwpPVXA(2/4) AAS
うーむ。絵がずれるねー。いやーん。
(Module.bas で 定義)
Type rect
obj As Integer
ang As Integer
End Type
Sub Kansetu_Click ()
Const SHOULDER = 1 ' 肩
Const ELBOW = 2 ' 肘
Const HAND = 3 ' 手
ReDim x(4) As Single
ReDim y(4) As Single
ReDim an(10) As rect ' データ構造
' データ
an(0).obj = 0: an(0).ang = 0
an(1).obj = ELBOW: an(1).ang = 30
an(2).obj = HAND: an(2).ang = 45
an(3).obj = SHOULDER: an(3).ang = 25
an(4).obj = ELBOW: an(4).ang = 40
an(5).obj = SHOULDER: an(5).ang = 30
an(6).obj = HAND: an(6).ang = 60
an(7).obj = SHOULDER: an(7).ang = 45
an(8).obj = ELBOW: an(8).ang = 60
an(9).obj = -1: an(9).ang = 0
174(1): あああ 02/06/14 21:18 ID:MQwpPVXA(3/4) AAS
p = 3.14156 / 180 ' π
h = ScaleHeight / 2 ' Form の 高さ
w = ScaleWidth / 4 ' Form の 幅
sl = 250 ' 肩の長さ
el = 300 ' 肘の長さ
hl = 200 ' 手の長さ
c = 5: ' 色
j = 0:oan1=0:oan2=0:oan3=0
Do
If an(j).obj = -1 Then Exit Do
Cls
Select Case an(j).obj
Case 1: an1 = an(j).ang + oan1 ' 肩を動かす
an2 = an1 + oan2
an3 = an2 + oan3
oan1 = an1
Case 2: an2 = an1 + an(j).ang + oan2 ' 肘を動かす
an3 = an2 + oan3
oan2 = an(j).ang
Case 3: an3 = an2 + an(j).ang + oan3 ' 手を動かす
oan3 = an(j).ang
End Select
175(1): あああ 02/06/14 21:18 ID:MQwpPVXA(4/4) AAS
x(0) = 0: y(0) = 0
x(1) = Cos(an1 * p) * sl: y(1) = Sin(an1 * p) * sl
x(2) = Cos(an2 * p) * el: y(2) = Sin(an2 * p) * el
x(3) = Cos(an3 * p) * hl: y(3) = Sin(an3 * p) * hl
' 線を描画
Line (x(0) + w, y(0) + h)-(x(1) + w, y(1) + h), QBColor(c)
Line -(x(2) + w + x(1), y(2) + h + y(1)), QBColor(c + 1)
Line -(x(3) + w + x(2) + x(1), y(3) + h + y(2) + y(1)), QBColor(c + 3)
j = j + 1
MsgBox "Push Next"
Loop
End Sub
176: 02/06/14 22:39 ID:??? AAS
>あああさん
N88BASICでおながいします
177: [age] 02/06/15 00:58 ID:??? AAS
>>173-175
これはVB?
Cで慣れてるからキモチワルイ感じ。
178(2): 02/06/15 01:10 ID:??? AAS
Cとくらべても大してかわらんだろ
179: 02/06/15 01:19 ID:??? AAS
>>178
ビミョウな違いがかえってキモチワルイ。
シンタックスエラーに敏感なんです。
180: 02/06/15 01:28 ID:??? AAS
>178
なるほど・・・・
大して変わらないから、逆にキモチワルイのね(w
上下前次1-新書関写板覧索設栞歴
あと 146 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.033s