[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:002797] Re: GGraph.vector



竹広です. 

良く考えたら itr=5 の場合は簡単なんですね,  U 座標成分で表された
ベクトルの N 座標成分は回転変換だけで求まります. それを ugvect へ渡すだけ.

よろしければ flow_vect あたりに組み込んでみたいと思いますが
いかがなものでしょうか. 

#一般地図座標はさすがに荷が思いし, 自身に必要性がないのでパス. 

> 竹広さん
> 
> お久しぶりです。GGraph の vector は内部で、UGVECT を呼んでます。
> UGVECT は ITR=1..4 しか対応してないので、GGraph::vector も対応
> してません。(実質 ITR=1 と同じ ITR=10 でも使えると思いますが。)
> 
> もう少し詳しく書くと、GGraph::vector は、デフォルトでは
> 同じ ggraph.rb に定義してある、DCLExt::flow_vect 経由で UGVECT
> を呼びます。flow_vect は、U座標のスケーリングをみて、ベクトル場
> が「流れ」である場合、矢印の方向が正しく U 座標において流れる方向
> を指すように、ベクトル2成分の比を再スケーリングしてUGVECTに渡します。
> よって、矢印の行く先を目の子でたどっていくと、ちゃんと流れがわかる
> ようになってます。多くの場合、ベクトルはそういうふうに表示したいの
> ではないでしょうか。
> 
> DCL のベクトルが、投影座標をサポートしてないのは、
> 「矢印の向きをどう定義していいかわからないから」と聞いたような
> 記憶があります。しかし、上のように向きを定義すると、局所的に
> どういう向きにすればいいかは、地図投影でも一意に決まります。
> 問題は長さスケーリングをどうすべきかですね。局所的な縮尺にあ
> わせて伸び縮みさせるか、一律にするかのいずれかでしょうから、
> 2つ作ればいい気がします。おそらく需要は、一律スケーリングの
> 方が大ではないかと思いますが。
> 
> ということで、誰か本家 DCL にそういうのを作って入れてくれると
> いいと思います。
> 
> # ruby コードで構わないって? 以前から時々欲しいと思うことは
>    ありますが、当面必要に迫られてないので、私はあてにしない
>    でください。
> 
> さて、GGraph::vector のソースをみると、確かに itr=5 の処理があります
> ね。ただ、境界条件の処理や、枠の書き方に関するところなので、tone など
> に入れた処理をそのまま vector にも持ち込んでるだけのように見えます。
> つまり、「flow_vect が対応してくれれば、その前後の処理はする」
> という風になっているように見えます。(作ったときのことは覚えてないの
> で、ひとごとのような書き方ですみません。)
> 
> 
> > 平面極座標においてベクトル図を描きたいのですが, 
> > GGraph.vector は itr=5 をサポートしているのでしょうか. 
> > 
> > 単純に
> > 
> >   GGraph.set_fig( 'itr'=>5 )
> >   GGraph.vector( gpux, gpuy, newframe=true )
> > 
> > なんてことをやると外枠は描かれるが矢印が描かれませんでした. 
> > 
> > サポートしてないならできるようにするにはどこをどのようにすれば
> > 良いのでしょうか. ソースをちらっと眺めるに itr?5 なる文字列が
> > 目につきましたが....
> 
> --
> 堀之内 武  <horinout@xxxxxxxxxxxxxxxxxx>
> 611-0011 宇治市五ヶ庄  京都大学生存圏研究所
> 
> 
>