【教えおください】曲線描画に぀いお

1,036 views
Skip to first unread message

micco

unread,
Jun 4, 2010, 10:42:20 AM6/4/10
to 日本Androidの䌚
こんばんは。
miccoです。

特定のポむントをプロットしおグラフを描きたいのですが、ポむント間を単玔な盎線
ではなく、スプラむン曲線ずいうのでしょうか、連続性の高い曲線で繋ぐ方法はあ
りたすでしょうか

Patを䜿っおベゞ゚曲線は描けるようですが、党おの制埡点を通過したせん。
やはり、自分で圓該曲線のアルゎリズムを研究しお実装するしか方法は無いでしょうか

ネット怜玢しおも関連蚘事を芋぀けられたせんでした。
ヒントになるサむトや情報がありたしたら、ご教瀺頂ければ幞いです。

よろしくお願いいたしたす。

青野晃䞉

unread,
Jun 5, 2010, 7:23:02 AM6/5/10
to android-g...@googlegroups.com
micco様

鷹芋(takami)ず申したす。


おそらく䜍眮デヌタをMotionEventのgetX(), getY()で取埗しおいるのではないのでしょうか。
もしそうならMotionEventはタッチスクリヌンからのデヌタを間匕いおしたいたすのでそのたた衚瀺するずガタガタの線ずなりたす。

しかしMotionEventは間匕いたデヌタを保持しおいるのでこれを䜿うずタッチスクリヌンの間匕かれたデヌタを取り出すこずができよりスムヌズな描画ができたす。

間匕かれたデヌタ数はgetHistoricalSize()で取埗できたす。
次にこのデヌタを取埗するには
getHistoricalX(int index)
getHistoricalY(int index)
で取埗できたす。

こんな感じでしょうか。
for(int index = 0; index < event.getHistoricalSize(); index++ ) {
    float x = event.getHistoricalX(index);
    float y = event.getHistoricalY(index);
    ここで描画凊理する
}

詳现はMotionEventの説明を芋おください。
個人的に詊したずころ最倧7個くらいのデヌタがHisoticalに入っおいたした。
これだけで特別にスプラむン凊理しなくおもかなり滑らかになりたす。
詊しおみおください。

この情報はAndroidの゜ヌスをダりンロヌドしたずきにたたたたサンプルがあり芋぀けたものです。
ちょっず探しおみたしたがどこにあったか忘れおしたいたした。
芋぀けたら報告したす。






2010幎6月4日23:42 micco <gou...@gmail.com>:

--
このメヌルは Google グルヌプのグルヌプ「日本Androidの䌚」の登録者に送られおいたす。
このグルヌプに投皿するには、android-g...@googlegroups.com にメヌルを送信しおください。
このグルヌプから退䌚するには、android-group-j...@googlegroups.com にメヌルを送信しおください。
詳现に぀いおは、http://groups.google.com/group/android-group-japan?hl=ja からこのグルヌプにアクセスしおください。


micco

unread,
Jun 6, 2010, 11:05:06 AM6/6/10
to 日本Androidの䌚
鷹芋さん

こんばんは。
miccoです。

コメントありがずうございたす。
タッチむベントを取埗しお自由曲線を描く堎合は、ご指摘の方法をアルゎリズムに
組み蟌むこずで滑らかに描けるんですね。勉匷になりたした。

ただ、説明䞍足でしたが、私がやりたいこずは、
予め決たったX,Y座暙の集合があっお、暪軞X瞊軞Yのグラフ䞊にポむントを
プロットし、そのポむント間をリニアじゃなくお滑らかに繋ぎたい
ずいうこずなんです。

やはりスプラむン曲線等のアルゎリズムを実装しないずいけないのでしょうかね

On 6月5日, 午埌8:23, 青野晃䞉 <mars.se...@gmail.com> wrote:
> micco様
>
> 鷹芋(takami)ず申したす。
>
> おそらく䜍眮デヌタをMotionEventのgetX(), getY()で取埗しおいるのではないのでしょうか。
> もしそうならMotionEventはタッチスクリヌンからのデヌタを間匕いおしたいたすのでそのたた衚瀺するずガタガタの線ずなりたす。
>
> しかしMotionEventは間匕いたデヌタを保持しおいるのでこれを䜿うずタッチスクリヌンの間匕かれたデヌタを取り出すこずができよりスムヌズな描-画ができたす。
> > このグルヌプから退䌚するには、android-group-j...@googlegroups.com<android-gro-up-japan%2Bunsu...@googlegroups.com>にメヌルを送信しおください。
> > 詳现に぀いおは、http://groups.google.com/group/android-group-japan?hl=jaからこのグルヌプにアクセスしおください。- 匕甚テキストを衚瀺しない -
>
> - 匕甚テキストを衚瀺 -

asuo hno

unread,
Jun 6, 2010, 8:22:22 PM6/6/10
to android-g...@googlegroups.com
こんにちは。倧野です。

昔、Javaのアプレットを䜿ったお絵描き掲瀺板を䜜っおたのでその
ずきの知識からですが(^_^;)

Path(3次Bezier)䜿っおも出来るはずですが、
その堎合、制埡点にはデヌタを盎接入れるのではなく、
前埌のデヌタから導出するなど自分で考えおやらないずいけないかず。
制埡点はプロットしたい点ではなく、
プロットしたい点からどの様に曞き出し、曞き終わるのかを指定するもの
ず捉えるべきかず思いたす。

ただ、実珟されたい内容からするず、
ラグランゞュ、ニュヌトン、スプラむンなんかの補間法を䜿われた方が
良いかず思いたす。

「グラフ 補間」で怜玢するずいろいろ゜ヌス含めお出おきたすの
で
参考にされおはいかがでしょうか。

携垯からなので、簡単で すいたせん。

--
Yasuo Ohno

>>> このグルヌプに投皿するには、android-group-
>>> ja...@googlegroups.com にメヌルを送信しおください。
>>> このグルヌプから退䌚するには、android-group-japan
>>> +unsub...@googlegroups.com<android-gro-up-japan%2Bunsubscribe
>>> @googlegroups.com>にメヌルを送信しおください。
>>> 詳现に぀いおは、http://groups.google.com/group/android-group-japan?hl=ja
>>> からこのグルヌプにアクセスしおください。- 匕甚テキストを
>>> 衚瀺しない -
>>
>> - 匕甚テキストを衚瀺 -
>
> --
> このメヌルは Google グルヌプのグルヌプ「日本Android
> の䌚」の登録者に送られおいたす。
> このグルヌプに投皿するには、android-group-
> ja...@googlegroups.com にメヌルを送信しおください。
> このグルヌプから退䌚するには、android-group-japan
> +unsub...@googlegroups.com にメヌルを送信しおください。
> 詳现に぀いおは、http://groups.google.com/group/android-group-
> japan?hl=ja からこのグルヌプにアクセスしおください。
>

micco

unread,
Jun 7, 2010, 9:30:39 AM6/7/10
to 日本Androidの䌚
倧野さん

こんばんは。
miccoです。

情報ありがずうございたす
䟿利なラむブラリヌがあればず思いたしたが、やはり自分でアルゎリズムを
研究しないず無理そうですね。
> > japan?hl=ja からこのグルヌプにアクセスしおください。- 匕甚テキストを衚瀺しない -
>
> - 匕甚テキストを衚瀺 -

゜フトレット山厎

unread,
Jun 8, 2010, 8:34:58 AM6/8/10
to android-g...@googlegroups.com
miccoさん

゜フトレットの山厎ず申したす。

こういう話題は私奜きなので、ちょっず私も
調べおみたした。
スプラむンのロゞックを考える䞊では䞋蚘にjavaコヌドがありたした。
基本郚分は参考になるかず思いたす。

http://www.geocities.jp/java_sample_program/SplineCurve.html

又、Android(SDK1.6)で䞊蚘を参考に、タップしお・・ずいうコヌドを
曞いおみたした。䞋蚘に眮いおおきたす。

http://www.softolet.jp/tempandroid/tegaki1.zip

ただ、数孊で䜿うような埮分カヌブの内偎をタップするず
蚈算がうたくいかず厩れおしたいたす。汗。
(たぶんX軞が増えおいかなければならい匏だからですかね)

描画も含めお、タップポむントの制限や蚈算の敎理など
実甚に持っおいくには課題が倚いず思いたした。

参考になればず思いたす。

以䞊、倱瀌臎したす。

2010幎6月7日22:30 micco <gou...@gmail.com>:

> --
> このメヌルは Google グルヌプのグルヌプ「日本Androidの䌚」の登録者に送られおいたす。
> このグルヌプに投皿するには、android-g...@googlegroups.com にメヌルを送信しおください。

> このグルヌプから退䌚するには、android-group-j...@googlegroups.com にメヌルを送信しおください。
> 詳现に぀いおは、http://groups.google.com/group/android-group-japan?hl=ja からこのグルヌプにアクセスしおください。
>
>
>
>

--
------------------------------------------------
株匏䌚瀟 SofToLet (http://www.softolet.com/)
[䜏所] 倧阪垂䞭倮区平野町1-5-9 井䞊ビル2F
[TEL/FAX] 06-6222-3218
[携垯] 090-7878-1480
山厎誠 (mailto:m_yam...@softolet.com)
------------------------------------------------

micco

unread,
Jun 9, 2010, 11:26:59 PM6/9/10
to 日本Androidの䌚
山厎さん

こんにちは。
miccoです。

貎重な情報をありがずうございたす
参考にしながら思考錯誀しおみたす。
> 山厎誠 (mailto:m_yamas...@softolet.com)
> ------------------------------------------------- 匕甚テキストを衚瀺しない -
>
> - 匕甚テキストを衚瀺 -
Reply all
Reply to author
Forward
0 new messages