プログラミングの為の ..
657:デフォルトの名無しさん
07/01/26 11:03:26
>>655
でも、その国語と数学のずれを認識できない奴のことを、
はたして論理性があるといえるのか?
658:デフォルトの名無しさん
07/01/26 22:47:39
それを論理の違いとして捉えているところがすでにダメダメだろ
「数学では論理を正確にするが,日常ではルーズにする」とかな
そうじゃなくて言葉の意味が違うだけ
力学で言う「仕事」が普通に言う「仕事」と違うっていうようなもの
659:629
07/01/26 23:54:56
>>654 いえ、私は、
数学的思考とは、物事を順序立てて考える事であり、具体的な文字を使わず、
抽象的な文字を用いる 思考です。又、余計な言葉は入れず必要な事だけを述べて行く・書き下して
行く様にする思考です。
こう言いました。
この私が呼んでる数学的思考という能力が劣っていても、論理性が高いという事は
ありえます。
先ず、具体的な文字を使わず、抽象的な文字を使う。という事と論理性とは
なんの関係もありません。(まぁ、厳密に調べて言ったら、多少なりとも関係
しているでしょうが)
次に、余計なことを述べず必要な物だけを述べる。と言うのも、関係有りません。
別に不必要な物を付け足しても、論理的な展開はでき、論理力が高いという事はあります。
最後に、物事を順序立てて考える。と言うことですが、これは正直よく反論出来ません。
別に物事を順序だてて考えなくても、論理力が高いと言う事はある。脳みそは複雑でバラバラな
事でも統合的に処理できている。というぐらいしか言えません。
また、頭の良い人から論理性が高い。と言われますし、実際国語の点数も良いです。
なので、私の論理性が高くない、と言う事はあまり考えるべきでないと思います。
660:629
07/01/27 00:04:12
>>655 国語における論理(≒常識的論理)と、数学やプログラムの論理は別に
考えているつもりです。
>>657 >>658 何処でどう私の事を、その国語と数学のずれを認識できない奴と、
思ったのですか?
もし、論理性の欠如から来る、ミスなら気をつけて下さい。
話がいらん、何も有益が無い方向に曲がってしまいます。
661:デフォルトの名無しさん
07/01/27 00:11:08
論理がどうこうよりも、急がば回れで、小中学生レベルの算数・数学の問題を解きまくったほうが、計算はできるようになると思う。
662:デフォルトの名無しさん
07/01/27 01:18:26
数板かどっかに行って欲しいなあ。
本人は論理的なつもりなのかも知らんが、誤った前提を元に論理も糞も無いだろうに。
663:629
07/01/27 02:19:15
>>662 うだうだ文句垂れるだけならサルでも出来る。
>>661 演算は出来ます。というか誰も演算できないなんて言ってません。
まぁ、大体このスレでの有益な意見は出たので、これで失礼します。
一部の人が怒りっぽく、荒れてきましたし。
私が言ってないことを言ったかの様に述べたり、確定してない事を確
定してると思い込むのは、恐らく、頭脳から来る頭の悪さでは無く、
人格の欠陥から来る頭の悪さでしょう。
人格の欠陥から来る頭の悪さは大概自己愛の欠落からきています。
自己が自分や他人(特に両親)から肯定されていないんですよ。
一度両親の元へ行って、愛を与えて貰いに行くのがいいと思います。
もしくは、両親との不仲を直し、互いに愛し合う関係になったほうが
良いです。それで、もしかしたら直ると思いますよ。ではノシ
664:デフォルトの名無しさん
07/01/27 02:30:09
怒りっぽくなったり荒れたりしてるのは、お前さんだけのように見えるが。
論理性があって計算もできる奴が、どうして
>数学出来ません。物理できません。化学の計算できません。
なんてなるのかが不思議でしょうがない。
665:デフォルトの名無しさん
07/01/27 03:07:16
663見りゃ分かるとおり、コイツは勝手に論理飛躍した上で他人の人格欠陥を指摘するタイプだ。
どこも論理的じゃないから、不思議でもなんでもない。
666:デフォルトの名無しさん
07/01/27 10:23:34
>659
「数学的思考=抽象化」ということか
オレは「数学的思考=論理的思考」だと思ってたんだが
そもそも,抽象化は考える前の「単純作業」だと思ってたし
その辺,みんなはどうよ?
>別に物事を順序だてて考えなくても、論理力が高いと言う事はある
これはさすがに違うんじゃねえか?
もう見てないのかな
667:デフォルトの名無しさん
07/01/27 10:26:52
自分の考えが否定されたり,お望みの回答が得られなかったら人格攻撃をするなんてのは
アレな人の典型のようにも思える
668:デフォルトの名無しさん
07/01/27 13:53:01
>>666
呼びたいのか?w
俺はもう帰ってきて欲しくないが
669:デフォルトの名無しさん
07/01/27 15:25:34
>>659
日本語の勉強を、中学校辺りから遣り直してください。
仮令国語の点数がよくても、このような文章としてなっていないものを書いているようではお郷が知れます。
670:デフォルトの名無しさん
07/01/27 15:30:12
>>668
大丈夫、この手の香具師は自意識過剰だから自分の話が出ないか気になって必ずヲチしている。
プライドが充分に低いか高いかしなければ二度と書き込まないでくれるはずなのだが……
671:デフォルトの名無しさん
07/01/27 17:05:37
最初は普通の受験生かと思ってたのに、こんな奴だったのかよw
672:デフォルトの名無しさん
07/01/27 21:17:51
それが論理的かどうかは別だけど、
物事をシンプルにまとめる力がないと、プログラムでは苦労するだろうな、
と、経験的に思う。
673:629
07/01/27 21:19:32
呼ばれたんで出て来ました!w
>>670さんは中々鋭いですね。私はナルシストです。
では本題に、
>>666 実際、多くの受験生が苦手としている科目が数学と物理です。
これは人が抽象的な思考をするのが苦手だからだと思います。
より具体的に説明された方が理解しやすいのは経験からも判ると思います。
ので、抽象化を'単なる'単純作業と捕らえるのは違うと思います。
しかし、出来る人からすると、単なる単純作業なんでしょうね。
>別に物事を順序だてて考えなくても、論理力が高いと言う事はある
これはさすがに違うんじゃねえか?
これについては、一例を出しますと、
ある繋がった1〜10迄の事があるとします。順序だてて考えて行くとは、
1.2.3.4.5.6.7.8.9.10と一から十迄規則的に考えて行く思考法の事です。
一方の私がそうでなくてもいける、と言ったのは、
2.5.1.4.6.3.7.9.10.8.と不規則ながらもこれを頭の中で正確に関連づける思考法が
人には出来るという事です。不規則な順序で進めても、それらを正確に関連づけて
最終的に上手く統合出来る。そしてそれは確固とした論理性であり論理力である。
と言うことが言いたかった訳です。
674:デフォルトの名無しさん
07/01/27 22:01:54
>>673
>670によると、プライドが高いか低いかどっちかだそうだけどどっち?
675:デフォルトの名無しさん
07/01/27 22:05:17
>多くの受験生が苦手としている科目が数学と物理です。
これは非常に簡単な理由がある。
こららは所謂理数系と言われる教科なのに、教えている教師は
所謂文系と言う数学物理を苦手とする傾向のある連中が多いからだ。
676:デフォルトの名無しさん
07/01/27 22:17:17
>>673
×ナルシスト
○ナルシシスト
677:デフォルトの名無しさん
07/01/27 22:52:52
高校数学物理で抽象化して捉える能力が重要だと思ったことはないなぁ
大学以降は抽象化されたものを扱う機会が増えたが、どちらかというとそういう考え方は苦手だった。
そんな自分でも高校のときは数学や物理には苦労しなかったので、
受験レベルの内容に抽象的な思考はそれほど必要ないと考えている。
>>629には数学や物理ができない原因が本当に抽象的な思考の部分にあるのかを考えてみてほしいな。
あと元々はプログラミングが役に立つかという話だったけど、
プログラミングに手を出したコストに対して得られる対価が小さいかなと思う。
もっと楽にスキルを上げる方法はありそう。
少しでも興味を持ったのなら、受験は抜きにして趣味でやってみるのもいいかもしれない。
嫌だったら辞めればいいだけの話だし。
678:デフォルトの名無しさん
07/01/27 22:57:28
青チャートやれよ
それが終わったら赤に行け
679:661
07/01/27 23:40:15
>>663
そうか、すまん。
お前が論理性があるというので、学校の数学から論理性を取り除いて残るものと言ったら計算しか思いつかなかった。
それだけのことだ。
680:デフォルトの名無しさん
07/01/28 11:10:15
ナルシス
→ナルシシズム、ナルシシスト
ナルス
→ナルシズム、ナルシスト
Wikipedia項目リンク
お前同郷かw 頑張れよw
抽象化じゃなくて一般化という用語を使えばもっと楽だろうに。
〜ist の用法を一般化したらナルシシストになりそうなことは想像できるだろう。
ナルシスを知らなければしょうがないが。
681:デフォルトの名無しさん
07/01/28 14:02:55
誤用とはいえ広く浸透してる言葉の揚げ足取っても仕方ないやね
682:デフォルトの名無しさん
07/01/28 15:52:17
-istの一般的用法だと、人名の後ろにはistでなくてianをつけないか?
○machiavellian
×machiavellist
683:デフォルトの名無しさん
07/01/28 15:56:56
暮らし安心ナルシアン
684:デフォルトの名無しさん
07/01/30 05:08:18
大学の時に数値計算法の本をたくさん勉強した。
かなり役に立った。特に微積に関してはかなり深く勉強できたと思う。
でも今はCOBOLのプログラマだ・・・orz
全く数値計算法なんて役に立たねえっす。
685:629
07/01/31 05:51:03
数値計算法の本って具体的にどんなですか?
良かったら教えてくださいまし。
686:デフォルトの名無しさん
07/01/31 10:30:54
最小二乗法ライブラリはどこにありまつか?
687:デフォルトの名無しさん
07/01/31 11:03:43
>>686
URLリンク(www.netlib.org)
688:686
07/01/31 11:13:39
サンクス>>687
LAPACKでググったら、直線のサンプルもすぐ見つかりました。
URLリンク(www.sip.eee.yamaguchi-u.ac.jp)
実際にやりたいのは真円のフィッティングだから、もうちょっと調査しないと。
689:デフォルトの名無しさん
07/01/31 11:33:59
円だと最小2乗では普通にやったら直線のように解けないよ。
数値解を繰り返しで求めるか
URLリンク(www.tensyo.com)
中心からの距離の2乗の誤差の2乗で代用すれば解けるそうだ
690:デフォルトの名無しさん
07/01/31 11:40:36
>>685
ニューメリカルレシピ・イン・シー
691:686
07/01/31 11:42:04
あ、そうですか。では、そのやり方でやります。
やりたいのは4点(真円になるか”?”)から円の中心と半径を決めたいです。
>中心からの距離の2乗の誤差の2乗で代用
ちょっと難?
関係ないけど今回の場合、
URLリンク(okwave.jp)
は参考にならないような気がしました。
692:デフォルトの名無しさん
07/01/31 12:02:12
円は3点で求まる。 >>689にも ”3点を通る円” で公式が書かれているね
4点なら最小2乗を使うほどにはデータ量が多くない。
4点から3点を取り出しては公式で中心を求めて
4つ求まった中心の平均を出したらどうだろ?
その中心から4点への平均距離を求めて、それを半径の代用としたら?
693:デフォルトの名無しさん
07/01/31 12:09:42
>>中心からの距離の2乗の誤差の2乗で代用
>ちょっと難?
これはデータの特性にもよるだろな。 使った感じでは十分だよ。
もっとも画像からのデータでデータ量は十分あったが
何より式一発で求まるのは非常にありがたい
694:691
07/01/31 12:19:57
>>693
ごめんなさい、書き方が悪かったです。
そのやり方が悪いという意味じゃなくて、文章難しくて、
その文章どおりにするには何をどうすれば良いのか考えなきゃという意味です。
>>692
その通りやってみたんですが、トンデモない円が出来て(3点だと上手く行く)。。。
どういう算数でやろう?
最小二乗法は?
「中心からの距離の2乗の誤差の2乗で代用」ってどういう意味? ← 今ここ
といった感じです。
695:デフォルトの名無しさん
07/01/31 12:22:31
>>692の方法でとんでもない円になるようなデータなら
最小2乗を使ってもとんでもない結果しか出ないよ
これがデータ100点あって1個だけ飛び離れてるような状態ならマシだけどさ
696:691
07/01/31 12:29:27
>>695
その通りなんですが、
未知データの解析なので、
「最小二乗法を使っても円にならない」ならそれもひとつの結論、
みたいな。
697:デフォルトの名無しさん
07/01/31 13:38:16
何も考えずにたった4点で最小二乗法をやるのは馬鹿げてる。
もし論文なんかで出したら一笑されるぞ。
少数観測点からデータを復元する話は GPS などの位置計測で
よくある話で、そういう場合にまともな推定をしようとすれば
観測点の状態が分かってることが必要になる。
たとえば、真の値からのずれがある確率分布に従うと仮定を
置けば、最尤推定などによって最もそれっぽい場所が出る。
正規分布に従うと仮定してよい場合は最尤推定は最小自乗法に
一致するため、多くの GPS ではこの仮定を(知ってか知らずか)置いている。
多量のデータで最小自乗法が有効なのは、中心極限定理によって
分布が正規分布に漸近するため。
698:691
07/01/31 13:40:21
あ、このページ
>★最小2乗法による円弧推定
ってそのまんまのタイトルがあった。
3点から円を求めるのもこのページから見つけたのに気付かなかったOTL
699:691
07/01/31 13:43:33
>>697
>何も考えずにたった4点で最小二乗法をやるのは馬鹿げてる。
>もし論文なんかで出したら一笑されるぞ。
了解、納得でつ。
必ずしも円になるのか分からないデータの解析なので、
逆にデータ解析結果から観測点が円にならないという結論を出しますが。
ある部分は円、ある部分は円にならず従って応力受けてる、みたいな。
700:デフォルトの名無しさん
07/01/31 13:48:36
>逆にデータ解析結果から観測点が円にならないという結論を出しますが。
これはいえない。最小自乗法では円にならなくても、ほかの方法では
円になる場合があるかもしれない。
701:699
07/01/31 13:57:36
>>700
じゃあ、ほかの方法教えて。
ところで、
>★最小2乗法による円弧推定
を読んだら、
>この3つの方程式を解けば良い.
で終わってる。
解かないといけないのか。
702:デフォルトの名無しさん
07/01/31 14:12:46
>>701
上で述べられていた任意の三点の中心の平均や重心は有力。
また、697 で述べたように、最尤推定はひとつの別の方法。
ほかにも最小自乗や最尤推定を部分に含むが、適当な
ペナルティ関数を設定して最小化問題として解く手もある。
最尤推定やペナルティ法は、円になるかどうか分からないものの
判定なら、おそらく最小自乗を用いるよりも良い結果が得られる。
(最小自乗では、一直線上のデータは半径が(ほぼ)無限大の円と
判断されるが、通常の応用ではそれを弾きたいことが多い)
703:701
07/01/31 14:33:09
>最尤推定やペナルティ法は
これらはライブラリにもなってなさそうだね。
実装難しそう...
704:701
07/01/31 18:42:23
>2a( X*X/N -XX)+ 2b(X*Y/N -XY) =X(XX+YY)/N-XXX-XYY ----1)
>2a( X*Y/N -XY)+ 2b(Y*Y/N -YY) =Y(YY+XX)/N-YYY-XXY ----2)
>r*r=(XX+YY-2.0(a*X+b*Y) )/N+a*a+b*b; ----3)
>この3つの方程式を解けば良い.
やっぱこれ何度読んでも分からないんだけど、
4点をどうやって代入するわけでしょうか?
解答が目の前にありながら使いこなせないorz
705:デフォルトの名無しさん
07/02/01 12:41:01
>>704
X → 肺i XX → 肺i*xi XXX → 肺i*xi*xi
Y → 輩i YY → 輩i*yi YYY → 輩i*yi*yi
以下略
の意じゃね? xi, yi が配列要素で直線上にない3点が最低限必要と。
706:デフォルトの名無しさん
07/02/05 17:23:56
>>704
後は、1) 2)式から a,b2変数の連立一次方程式を解けば中心が求まるでしょ?
それを3)に代入すれば半径も求まる
707:デフォルトの名無しさん
07/02/14 10:09:26
たぶん、質問者の目的には、
4点中 3点で求まる円から、 残った1点までの円からの距離2乗(|中心からの距離-半径|)を出して
それを4つ加算した結果、
またはそれを半径で割って正規化したもの
でいいんじゃないのか?
708:デフォルトの名無しさん
07/02/28 21:55:01
保守アゲと質問募集
709:デフォルトの名無しさん
07/03/25 15:02:16
幅 W、高さ H の楕円上に N個の点を等間隔に打とうと思いました。
for(i = 0; i < N; i++) {
int x = cx + sin(i * 2 * PI / N) * (W / 2);
int y = cy + cos(i * 2 * PI / N) * (H / 2);
plot(x, y);
}
ところがというか当然というか、これだと W = H の円の時にしか点が等間隔になりません。
どうしたら良いでしょうか?
知っていなくてはいけない公式などありましたら教えてくださいませ。
710:デフォルトの名無しさん
07/03/25 15:24:58
少し上のほうにあった,放物線を速さ一定で進むというのと同じ話だよ
711:デフォルトの名無しさん
07/03/25 15:26:04
あれ,と思ったけどそれは他スレか
712:デフォルトの名無しさん
07/03/25 15:44:51
楕円の円周の長さは 楕円積分という厄介な分野で
それを等間隔に分割というのは、その厄介な問題に挑戦するという事になる
数式では基本的に解けないから、数値積分で頑張るしかないよ
713:デフォルトの名無しさん
07/03/25 15:46:43
W > H > 0になるようにして
int x = cx + W * cos(i * 2 * PI / N);
int y = cy + H * sin(i * 2 * PI / N);
でどうでっしゃろ?
714:713
07/03/25 15:47:20
あ、無理だったごめん
715:デフォルトの名無しさん
07/03/25 16:06:21
楕円関数の近似式をkの値を適当に決めたルックアップテーブルみたいな形で用意しとけばいいんじゃね?
それつかって円周を求めた(ここではLとおく)として
始点(仮に中心からx軸方向に幅/2移動した点としよう)から
円周にそってl ( = n×L, nは適当な実数)分移動したときの座標(x,y)ってのは楽に求まるの?
精度気にしないのならこれでいけると思うんだけど、どうでしょうか?
716:デフォルトの名無しさん
07/03/25 16:20:25
近似でいいのなら、
Nの個数を30倍くらいに増やし一度テーブルを作成して
補間で、近似値を求めるのが一番簡単だろう
717:デフォルトの名無しさん
07/03/25 16:40:25
もう少し詳しく。
そのテーブルの中味と、
何のデータを元にして、
何の式で補間するか書いてください
お願いします(-∧-)
718:709
07/03/25 16:51:16
ありゃ、思いのほか厄介な問題だったんですね・・・
>>715 円周に沿って l の座標を求める方法がよくわからないです。すみません。
>>716 で言う方法かはわかりませんが、自分ならこうやりますがどうでしょう?
1. 30N の全ての点の座標を求たテーブルを作る
2. 隣り合う点との距離を三平方の定理で求めることを全ての点について行い、円周の近時値を計算する
3. 円周を N等分した長さを求め、これを当初の N個の頂点間の距離 d とする
4. 30N のテーブル中の頂点の中から、それぞれの点の円周上の位置(始点からの距離)に近いものを選んで点を打つ
719:デフォルトの名無しさん
07/03/25 16:53:40
補間は、とりあえず線形補間とすれば、
テーブルの中身:
double ax[N*30];
double ay[N*30];
double aL[N*30];
double L=0;
ax[i] = cx + W * cos(i * 2 * PI / N);
ay[i] = cy + H * sin(i * 2 * PI / N);
if( i != 0 ) L+= hypot(cx-ocx , cy-ocy);
aL[i]=L;
ocx=cx;
ocy=cy;
のテーブルを作るでしょ?
Lを周長の代用として、
c= L*i/N で aL[k]<=c && aL[k+1]<c になる k を見つけて比例で分割して
w = ((c-aL[k]) /(aL[k+1]-aL[k]) + k) :2*Pi/N
を角度にするという感じ
720:デフォルトの名無しさん
07/03/25 17:04:31
>>718
>円周に沿って l の座標を求める方法
楕円積分の逆関数だから、楕円関数使って求まる気がする。
もちろん、楕円関数の値は数値的に計算するものだけど。
721:719
07/03/25 17:13:07
ゴメンミス テーブルは aL だけでいい。
double aL[N*30];
double L=0;
for( i=0;i<30*N;i++}{
ax = cx + W * cos(i * 2 * PI / N);
ay = cy + H * sin(i * 2 * PI / N);
if( i != 0 ) L+= hypot(ax-oax , ay-oay);
aL[i]=L;
oax=ax;
oay=ay;
}
次のループは
for( i=0;i<N;i++}{
で while(aL[k]>c) k++;
722:719
07/03/25 17:16:37
ありゃ、元の式は 違うのか、 上の
ax = cx + sin(i * 2 * PI / N) * (W / 2);
ay = cy + cos(i * 2 * PI / N) * (H / 2);
に訂正、
続き、
w = ((c-aL[k]) /(aL[k+1]-aL[k]) + k)*2*PI/N;
int x = cx + sin(w) * (W / 2);
int y = cy + cos(w) * (H / 2);
plot(x, y);
}
723:709
07/03/25 17:30:02
>>722
丁寧にどうもありがとうございます。
よくわかりました。
>>720
まずは楕円積分というのを勉強しなくてはいけなそうです。
おいおいスキルアップしたいと思います。
>>710
よろしければそのスレを教えてもらえないでしょうか。
放物線を速さ一定で進むってのも興味あります。
724:デフォルトの名無しさん
07/03/25 17:44:59
楕円の周長なら
URLリンク(www.tensyo.com)
の後ろの方に計算方法が書いてあったけど
コレは今回の問題には応用できないな
725:しょう
07/03/25 20:12:39
ある学校の生徒数は 1年生が全体の三分の一であり、2年生と 3年生の生徒数の比は5:6である。1年生の生徒数をa人、2年生の生徒数をb人とするとき、bをaの式で表せ。 この問題誰か解いてください
726:デフォルトの名無しさん
07/03/25 20:19:03
プログラミング関係ないな。
宿題は他をあたりなさい。
727:デフォルトの名無しさん
07/03/25 20:22:52
1) a*3=b+c
2) b*6=c*5
1' a*3*5=b*5+c*5
a*3*5=b*5+b*6=b*11
b=a*3*5/11
728:デフォルトの名無しさん
07/03/25 20:23:34
うわーなんてむずかしいもんだいなんだー
729:しょう
07/03/25 20:27:12
解らないですか?
730:デフォルトの名無しさん
07/03/25 20:28:17
ヒントください
せめて何学年まであるか、一学年何クラスかぐらいはわからないと・・・
731:しょう
07/03/25 20:31:33
高校受験の問題です。問題用紙のままカキコしました。
732:デフォルトの名無しさん
07/03/25 20:34:09
……('д`)帰れリア厨
733:デフォルトの名無しさん
07/03/25 20:41:40
SPI並の難しさだな
中学生じゃ解けないよ
大学入って掃き出し法を習うまでとっておきなさい
734:デフォルトの名無しさん
07/03/25 21:04:47
厨房でも溶けるだろ
>727間違ってる
1)a*2=b+c
だな。
で、2)はb:c=5:6から出した式ですね
あとは連立方程式
735:デフォルトの名無しさん
07/03/25 21:31:43
このスレの上の方で文系は数学から逃げ〜とか言ってたけど
俺数学選択で早稲田受かったよ
736:デフォルトの名無しさん
07/03/25 21:38:14
おめでと(^O^)/
737:デフォルトの名無しさん
07/03/25 21:42:19
ありがと(^0^)/
まぁ政経だけどねwショボいけど
738:デフォルトの名無しさん
07/03/25 22:12:11
理系で数学から逃げた俺は退学して工場労働者やってるお(^o^)
739:デフォルトの名無しさん
07/03/26 00:05:29
>>723
これだった
スレリンク(gamedev板)
740:デフォルトの名無しさん
07/03/26 00:10:22
>>734
それを言うなら、 a = (a + b + c) * 1/3 だろ。実際のところ、3学年しかないという前提はどこにもないわけだが。
741:デフォルトの名無しさん
07/03/26 00:26:09
>>723
楕円の周長計算、
「使えるだけでいい」という姿勢なら
単に数値計算ライブラリからソースコピればいける気が。
742:デフォルトの名無しさん
07/03/27 01:25:31
テスト
URLリンク(www.youtube.suppa.jp)
743:デフォルトの名無しさん
07/03/27 02:01:51
>>742はコチラへ移動しました
★☆YouTubeのCMを連続動画に☆★
//ame.x0.com/main/070327015730.html
URLリンク(ame.x0.com)
744:デフォルトの名無しさん
07/03/28 11:26:38
円と曲線がどれだけズレてるかの面積?みたいなものはどうやって計算すればよいですか?
745:デフォルトの名無しさん
07/03/28 11:31:26
曲線が定義済なら、数値積分すればいいじゃない
746:デフォルトの名無しさん
07/03/28 11:37:36
あ、曲線は自由曲線(ドットというか。。。)です。
747:デフォルトの名無しさん
07/03/28 11:43:15
50レスほど戻れば、似たような話をしているよ
>>689のリンク先のページは見た?
748:デフォルトの名無しさん
07/03/28 13:40:09
>>746
その離散点使って、数値積分的なことすれば?
Σ(点から直線への距離 × 傾き)
みたいなのを。
749:デフォルトの名無しさん
07/03/28 19:00:37
曲率の分散とか?
750:デフォルトの名無しさん
07/03/28 23:08:36
>>746
>あ、曲線は自由曲線(ドットというか。。。)です。
ドットを数えろ。
751:デフォルトの名無しさん
07/03/29 08:38:46
ラジャ>>750
752:デフォルトの名無しさん
07/03/29 08:57:37
円と離散点群がどれだけズレているかなら、
案1、 (点と中心との距離-半径)^2 の平均 ÷ 半径^2
案2、 ( 点と中心との距離^2 - 半径^2 )^2 の平均 ÷ 半径^4
あたりだろう。
753:デフォルトの名無しさん
07/03/29 14:03:24
「ズレている」がきちんと定義されんとなんとも。
基準円よりも広いところで円をなす点たちと
基準円上のある点にのみ集中する点たちで
どっちが「円からズレている」かは一概には言えない。
754:デフォルトの名無しさん
07/03/29 14:22:10
そこで残差の二乗の総和ですよ
755:デフォルトの名無しさん
07/03/29 15:48:26
何が「そこで」なの?
残差自乗みたいな簡単な尺度では「(概形が)円からズレてない」
みたいな位相的な構造はとても捕まえられないはずだけども。
756:デフォルトの名無しさん
07/03/29 16:07:10
>>753 それは、 ズレを最小にする円があるかどうかの問題になるんじゃないのか?
指定された円とのズレという量があればそれを最小にする半径、中心も求められるわけで・・・
それとも何か素晴らしいアイデアをお持ちで?
757:デフォルトの名無しさん
07/03/29 16:33:07
>>756
だから「ズレている」を定義してくれと言ってるんだけどな。
一点に集中してても「ズレてない」とするなら残差自乗で十分だし、
そうでないならより輪郭線抽出などの手法が要るかもしれない。
758:デフォルトの名無しさん
07/03/29 16:37:32
欠点はあるが 簡単な定義は>>752くらいしか無いだろう?
もう少しややこしくするなら、点同士がどれだけ中心からの角度で分散しているかの数値を入れるかい?
759:デフォルトの名無しさん
07/03/29 16:44:25
なんとなく想像だけど、手書きの丸と円のずれ具合を定量化したいんじゃないのかな?
だとすれば>750で充分だと思うのだけど。
#目的も判らずに数学的な意味を見出そうとしても虚しいばかりだ。
760:デフォルトの名無しさん
07/03/29 16:52:34
ドットを数えるってどうやるの?
761:ラジアンの比較で躓いてます
07/03/29 16:57:43
別スレで スレリンク(tech板:9番) の質問をして、最終的にこちらに誘導されてきました。
質問の回答として、以下のコードを教えてもらいました。
v1 … p1→p2 のベクトル
v2 … p2→p3 のベクトル
struct point { double x, y; };
bool isJustLeft(point v1, piont v2)
{
double corssProd = v1.x * v2.y - v1.y * v2.x; //外積
double norm1 = v1.x * v1.x + v1.y * v1.y; // |v1|^2
double norm2 = v2.x * v2.x + v2.y * v2.y; // |v2|^2
if( corssProd < 0.0 ) return false; // 時計回りはダメ
if( crossProd * crossProd == norm1 * norm2 ) return true; // 直角判定
return false;
}
でも、ベクトルの外積って通常3次元のベクトルを返しますよね。上記だと
> double corssProd = v1.x * v2.y - v1.y * v2.x; //外積
とスカラー値を返しているのですが、今一つやっている意味が判りません。
URLリンク(yuki.to)
ぐぐったらこんな掲示板見つけたけど、回答者の答えがイマイチ判りません。
コードを通して、ベクトルを理解したいのですが、誰か教えてもらえませんか?
762:デフォルトの名無しさん
07/03/29 17:08:28
v1,v2の外積の結果は、その2つに直角な方向ですが、
v1,v2が平面上なのでZ成分のみとなります。 だから省略したのでしょう
763:デフォルトの名無しさん
07/03/29 17:24:43
外積の定義って曖昧というか、人によって違うというか。
1つは、>>762 の言うように、3次元ベクトルの外積の考え方を使って、
(x1, y1, 0) × (x2, y2, 0) = (0, 0, x1 y2 - x2 y1) の z 成分のみを取ったもの。
もう1つは、n 次元のベクトルは、n - 1 本あれば、それらに垂直なベクトルが決まるので、
n - 1 本のベクトル → 1 本の n 次元ベクトルを求める演算を外積と呼ぶ。
こっちの流儀だち、2次元ベクトルの外積は1本→1本の演算になって、
「積」というとちょっと微妙。
まあ、x1 y2 - x2 y1 は、外積の値というか、
符号付面積、あるいは行列式よね。
3次元ベクトルの外積は、その絶対値が符号付面積になってるから、
その類推で、2次元ベクトル2本の貼る平行四辺形の符号付面積を外積と呼ぶのかも。
764:ラジアンの比較で躓いてます
07/03/29 17:36:19
>762
なるほど・・・時計回りだとZ値が下方向
反時計回りだと上方向になる性質を利用して、
Z値だけで判断すればいいという事ですね!!
765:ラジアンの比較で躓いてます
07/03/29 17:39:31
もうひとつ質問ですが、ここは何をやっているのでしょうか?
double norm1 = v1.x * v1.x + v1.y * v1.y; // |v1|^2
double norm2 = v2.x * v2.x + v2.y * v2.y; // |v2|^2
766:デフォルトの名無しさん
07/03/29 17:47:02
>>765
え、えっと、変数名もnormだし、コメントもnormだし、normを計算しているんじゃないかなあ。
767:デフォルトの名無しさん
07/03/29 17:53:54
直角であるかどうかは 内積x1*x2+y1*y2 が0になる事
(v1.x * v2.y - v1.y * v2.x)^2 -(v1.x * v1.x + v1.y * v1.y)*( v2.x * v2.x + v2.y * v2.y)
を変形してくと・・・・
って内積計算した方が計算量少ないかもしれないが
まあ、折角 外積計算したからって所じゃないのかな
768:ラジアンの比較で躓いてます
07/03/29 18:03:57
>766
一瞬正規化?とか思っちゃいましたが、「ノルム」でしたか・・・orz
769:デフォルトの名無しさん
07/03/29 18:19:33
>「ノルム」
って日本語の数学では何だっけ?
770:デフォルトの名無しさん
07/03/29 18:27:37
世の中には日本語の数学と英語の数学があるらしい。
771:デフォルトの名無しさん
07/03/29 18:37:01
定まった和訳は無く、日本語をあててる本も特に知らないなあ。
参考までに、中国語では「范数」と書くそうな。
772:デフォルトの名無しさん
07/03/29 18:41:31
>>769
ノルムはノルムじゃない?
数学用語としてじゃなくて、一般には基準とか模範って訳すけど。
ノルムに似たので(というか、絶対値の一般化)付値ってのがあるけど、
それは英語でも valuation。
773:デフォルトの名無しさん
07/03/30 08:56:16
則(のり)じゃなかったか?
片方を90度回転したベクトルで内積をとっても、時計回り判定はできる。
90度回転操作を (x, y) → (-y, x) とすると、外積とコメントされた式と同じになる。
好きな方で解釈するといい。
774:デフォルトの名無しさん
07/03/30 09:20:27
内積外積を使わなくてもこれは解ける
片方のベクトルが水平(y成分が0)になるように回転変換し、
もう一方のベクトルのx成分が0なら垂直で y成分の符号を見ればいい
でも、それが内積と外積になっちゃうんだけどね
775:デフォルトの名無しさん
07/03/30 11:56:04
プログラミングの学習を先にはじめて、その必要に迫られて
その都度、数学の教養を身に着ける順序でも遅くなくねえ?
問題集をひたすら解くだけの抽象的な数学の本ばかり読んで
いると、生きることの意味がわからなくなってくるよ。
776:デフォルトの名無しさん
07/03/30 11:57:48
既出でしたら、ごめんなさい
半径10センチの球表面の座標(XYZ)をファイルに出力したいと考えております
点の間隔は0.1センチぐらいでいいかな、と
ファイルに落とす部分は、わかっているんですが
座標を算出するアルゴリズムが、さっぱりわからなくて
お分かりになる方、御教授いただけると助かります
777:デフォルトの名無しさん
07/03/30 12:20:47
>>755
それが許されればな。
>>756
3次元空間なら
x^2 + y^2 + z^2 = 半径^2
を満す実数だったと。
ざっぱになら x と y で for ループ回しながら z の値を算出すすとか。
もしくは 三次元空間の極座標
x = 半径 * sin(th1) * sin(th2)
y = 半径 * sin(th1) * cos(th2)
z = 半径 * cos(th1)
解説: URLリンク(hp.vector.co.jp)
で角度(th1, th2)でループまわすことも考えられる。
角度で回すのなら、球面三角法
Wikipedia項目リンク
も見おくべし。
778:776
07/03/30 12:56:17
>>>777
ありがとうございます。できたっぽいです
たすかりました
779:デフォルトの名無しさん
07/03/30 20:41:06
そのような極座標だと、目の細かい場所と粗い場所ができないか
できてもさしつかえないならいいけど、もしさしつかえあるなら
ユニバーサルメルカトル図法みたいな雰囲気で局所座標系を
とったりするとよさそうな気が
780:デフォルトの名無しさん
07/03/31 01:53:29
等間隔にするならジオデシックスフィア(日本語でなんて言うのか知らん)の頂点として出すとか
781:デフォルトの名無しさん
07/03/31 02:39:25
まあ、やっぱり極付近ほど密になるけど、↓みたいなのはある。
URLリンク(www.cubido.at)
ジオデシックドームの頂点求めるんだたら↓これ?
URLリンク(www2.tokai.or.jp)
782:デフォルトの名無しさん
07/03/31 04:54:50
正20面体に重心細分を繰り返して得られる多面体とかではどうかね
783:デフォルトの名無しさん
07/04/11 11:07:50
自由な曲線(ベジェ曲線か、折れ線の点列)を円弧のあつまりで近似したいんですが、
ヒントはないでしょうか?
784:デフォルトの名無しさん
07/04/11 11:16:08
円弧は半径が決まっているの? つまりフライスのようなので削るというような場合?
単純に円弧で近似したいのがどういう状況か判らないのだけど
曲線の場合は、微分が一致するように接続してゆけばいいのだけど
円弧の場合は2点と半径で求まってしまうので、
どうやっても接続点が尖がってしまう
785:デフォルトの名無しさん
07/04/12 00:12:15
円弧と線分ならどうにかそれっぽくなるかも
786:デフォルトの名無しさん
07/04/12 08:40:07
円弧の半径に制限無かったら、無限小の円弧になるだけだろ。
787:デフォルトの名無しさん
07/04/13 04:39:53
無限小の円弧の集合では曲線は近似できないのでは。
788:784
07/04/13 06:06:45
まてよ。
接続点で中心の方向が一致すればいいと解けば
接続点が尖らないように出来るか
789:デフォルトの名無しさん
07/04/13 06:16:25
>>788
)
(
)
(
こういうこと?
790:デフォルトの名無しさん
07/04/13 13:54:27
円弧も極小の長さで繋いでゆけばどんな曲線でも表現出来るし、
直線も半径を限りなく大きな値にすれば可能っぽいね。
適当に曲線から3点抽出して、3点を通る円を求めればいいんじゃね?
必要精度に達していなければ間隔を短くし、足りてれば長くして情報量を落とせばいけそう。
791:デフォルトの名無しさん
07/04/13 20:32:08
半径無限大に飛ばせば曲率ゼロだしな。
792:デフォルトの名無しさん
07/04/14 00:14:38
よくあるフォームの座標系を
0|
―+――→x
|
|
↓
y
を、
y
↑
|
|
―+――→x
0 |
に変換する行列教えてください。
793:デフォルトの名無しさん
07/04/14 00:26:24
1, 0; 0, -1
794:デフォルトの名無しさん
07/04/14 15:36:47
>「network.standard-url.escape-utf8」を「false」にしてください。
>about:configで「network.standard-url.encode-utf8」を「true」にします。
上記の設定で、無事、日本語になりました。
気になるのは、IE7では、『"』⇒『"』でしたが、
URLリンク(forum.mozilla.gr.jp)'国際化'
URLリンク(forum.mozilla.gr.jp)国際化"
FireFox2では、『"』⇒『%22』になっていました、少々オシイです。
URLリンク(forum.mozilla.gr.jp)'国際化'
URLリンク(forum.mozilla.gr.jp)国際化%22
『%22』を『"』に戻す作業が残ってしまいます。
共通化としてOpera9の国際化URL設定も分かると良いと思います。
795:デフォルトの名無しさん
07/04/18 10:03:30
数学的要素が少ないプログラムの分野は何ですか?
ゲームプログラムは数学的要素満載だと思うのですが。
796:デフォルトの名無しさん
07/04/18 10:46:25
事務web系
797:デフォルトの名無しさん
07/04/18 13:57:03
>>795
どんな分野であっても、スレタイが読める程度の日本語力は必要。
798:デフォルトの名無しさん
07/04/18 21:51:26
>>796
事務web系って何ですか?
799:デフォルトの名無しさん
07/04/18 22:46:08
全国の支社から出退勤のデータを収集して給与を計算するとか
ネット通販の注文を受け付けて倉庫に発送を指示するとか
800:デフォルトの名無しさん
07/04/19 02:44:55
そういうのって地味だから長く働けそうですね。
801:デフォルトの名無しさん
07/04/19 02:48:30
追記
出来るだけ長く働ける分野が良いんです
802:デフォルトの名無しさん
07/04/19 11:29:46
息子が大学に行く直前まで働ける職種でおk?
803:デフォルトの名無しさん
07/04/19 11:38:45
数学、算数はプログラムに必要か?
スレリンク(tech板)
を汚した奴だろ?
あちこち汚してゆくような奴が奴隷の待遇の上下を聞いたって嫌われるだけだろうに
804:デフォルトの名無しさん
07/04/19 23:48:04
就職先探すのとかは完全にすれ違い。帰れ。
805:デフォルトの名無しさん
07/04/21 06:19:39
>>802
あなたの息子を舐め舐めしますよ
806:デフォルトの名無しさん
07/04/21 09:01:30
これから数学の勉強始めてみようと思ってるんだが、プログラミングに役立つ
勉強方法が知りたい。大学受験レベルの数学問題をひたすら解くのがいいのか、
公式を理解しつつ大学レベルの数学を勉強するのがいいのか。
どんな風にすればいいか教えてください。。。。。
807:デフォルトの名無しさん
07/04/21 09:31:49
大学レベルの数学もいろいろあって、いまのあなたの
プログラミング・数学の能力と、役立てようとしている
方面によって勉強すべきものは変わる。
目的に近いところを読んでから、不足してそうな部分を
適宜補うってのが順当なごく普通の勉強の仕方。
どんなのがやりたいか言ってくれれば本などは紹介するよ。
因みに受験レベルの数学は単純計算すら覚束ないなら
仕方が無いけれど、そうでなければやる必要なしと思う。
808:デフォルトの名無しさん
07/04/21 16:00:13
> プログラミングに役立つ勉強方法が知りたい。
これは例えるなら「スポーツに役立つ練習方法を知りたい」と言ってるようなもの。
スポーツの種目によって練習方法が違うように、プログラミングの分野によって役立つ
数学の分野も違う。
# プログラミングで飯を食っていきたいなら、数学より簿記でもやった方が潰しがきくような気がしないでもない。
809:806
07/04/22 13:35:06
>>807-808
レスサンクス。
プログラミングはCの基本的な文法を理解している程度で、数学に関しては
高校レベルもサパーリな状況です。
簿記の知識って業務系だとそんなに役に立つのか。。。。
それなら一応日商の簿記一級を持ってるんで、この知識を生かして業務系に
進んだほうがいいのかなと思ってるんだが、
「生涯現役でプログラマなんだぜ?」
な漏れとしては組込み系や制御系のほうがいいのかなと考えたり、、、
今現在はどの分野にいこうか迷ってるところです。
どうやらプログラミングに必要な数学は各分野ごとにまちまちで、漏れの
やりたいこと自体もまだ定まってないので、とりあえず高校レベルの数学を
勉強する。そしてその時の勉強法としては大学受験を目指す感じのやり方
じゃなく、基本的な公式を理解する程度でよいってことでFA?
810:デフォルトの名無しさん
07/04/22 21:45:37
人に分からないことは全く問題ないけど、
全部頼るのは良くない。
自分で決める、たぶんそれが一番大事だ。
811:デフォルトの名無しさん
07/04/22 22:39:13
>人に分からないことは全く問題ないけど、
日本語でOK。
812:デフォルトの名無しさん
07/04/24 00:45:08
進路相談は完全に板違いなんでとっとと消えろな
毎年毎年現れる上に、人によって状況が違うし、いちいち答えてたらキリが無い
813:全知全能者
07/04/25 05:10:58
いつの世も物を言うのは「力」だ。
原始時代は「筋力」
江戸時代は「家柄」
そして現代は「金」
現代社会では金を持っている人間が強い。
革新的なパラダイムの転換が無い限りこの価値観は変わらない。
814:デフォルトの名無しさん
07/04/25 15:49:14
そして、この先は『人柄』が力となる。
815:デフォルトの名無しさん
07/04/29 00:22:43
ピクセルのフェード計算についての質問をさせてください。
実行したいのは以下の式です。
// dst[0 〜 255]: 転送先ピクセルの色要素)
// src[0 〜 255]: 転送元ピクセルの色要素)
// rate[0 〜 255]; srcの比率 )
// (すべてbyte型です)
//
フェード式
= (dst * (255 - rate) + src * rate) >> 8;
~= dst + (((src - dst) * rate) >> 8);
(~= はニアリーイコールです)
これを実現するために以下のような計算方法がよく使われています。
1) short tmp = (short)src - (short)dst; //< 符号付き2バイト数に拡張します
2) tmp = (short)(tmp * rate); //< 演算結果の下位2バイトを結果として受け取ります
3) tmp = (word)tmp >> 8; //< 無符号型としてシフト()
4) byte result = (byte)(dst + (byte)tmp); //< tmpの下位1バイトのみを足し込みます
これだけ見ると変に複雑に見えますが、
実は計算にはmmxを使っていて4要素まとめて演算します。
そこで、1要素につき2バイトの範囲内で
(src - dst){-255 〜 255} * rate{0 〜 255}
の符号付き乗算をしないといけないため、このようなことになっています。
816:815
07/04/29 00:24:22
>>815の続きです^^
例えば、src=0, dst=255, rate=255の場合、
結果としては0が期待されますが、実際に計算してみると
1) tmp = -255 = 0xff01
2) tmp = (short)(0xff01 * 0xff) = (short)0xfff01ff = 0x01ff
3) tmp = 0x01
4) result = (byte)(0xff + 0x01) = 0x00
となり正しい結果が得られます。
また、src=200, dst=225, rate=200の場合は、
204程度が望まれますが、実際に計算してみると
1) tmp = -25 = 0xffe7
2) tmp = (short)(0xffe7 * 0xc8) = (short)0xc7ec78 = 0xec78
3) tmp = 0xec
4) result = (byte)(0xe1 + 0xec) = 0xcd = 205
とほぼ正しい結果が得られます。
上の式は有名なライブラリで使われている式でもあり、
正しいことはほとんど保証されているのですが、
これがなぜ正しいのか証明できる方はいませんか?
少なくとも自分には理解できないです。
文献でもいいです。よろしくお願いします。
817:デフォルトの名無しさん
07/04/29 00:48:54
>>815
どうしてもなにも、定義そのままの計算式じゃん。
> 1) short tmp = (short)src - (short)dst; //< 符号付き2バイト数に拡張します
(src-dst) は、-255〜+255 なので、short に納まる。
> 2) tmp = (short)(tmp * rate); //< 演算結果の下位2バイトを結果として受け取ります
(src-dst)*rate は、-65280〜+65280 なので、2の補数で17ビット必要→shortだと1bit足りない→後述
> 3) tmp = (word)tmp >> 8; //< 無符号型としてシフト()
((src-dst)*rate)>>8 は -255〜+255なので、2の補数で9ビット必要だが、2)の時点で9ビット目の情報は落ちている
> 4) byte result = (byte)(dst + (byte)tmp);
ここで、8ビット整数で計算するのだから、上記3)の所で、結果は8ビットあれば十分。9ビット目の値は要らない。
8ビットで演算するのに「-1(0xff)を足す」のも「255(0xff)を足す」のも、まったく同じ結果になることに気付けばOK。
3)の結果で、-255 が出てきたのを、+1 として処理してもまったく問題ない。
→ -255〜-1 を +1〜+255 で処理しても結果は同じ。
818:デフォルトの名無しさん
07/04/29 14:31:47
>>817
おお!
8ビットまで精度を保証すればうまくいくってことね^^
どうもありがとう
819:デフォルトの名無しさん
07/04/29 18:19:52
数学の知識はそりゃあった方が良いと思うけど、
一番大事なのは物事を合理的に考える事が出来るか。
820:デフォルトの名無しさん
07/04/29 19:08:45
合理的に考えれば2chで質問するほど無駄なことは無い訳だが
821:デフォルトの名無しさん
07/04/29 19:46:50
自由な曲線(ベジェ曲線か、折れ線の点列)を円弧のあつまりで近似したいんですが、
ヒントはないでしょうか? と、質問した者です。
点列が1個の円や直線にフィットするかどうかは、最小二乗法などで、
解決できると思います。
したがって、どういう風なグループで円弧や直線にすると、さらに最小になるか、
という問題になるような気がするのですが、そういう問題には、どのような考え方で臨めばよいでしょうか。
822:デフォルトの名無しさん
07/04/29 20:18:42
やりたい事が判らないから困ってしまうのだけど、
円は3点で決まるから、3点毎に円弧を描いても、近似と言い張れば近似になる。
823:デフォルトの名無しさん
07/04/29 20:40:03
4点あるときにどの3点を選んで円弧にするかっていう話?
824:デフォルトの名無しさん
07/04/30 01:30:11
円弧だけじゃなくて、適宜直線も使いたいってことかい?
825:デフォルトの名無しさん
07/05/02 18:06:14
たとえば、N点(3000点とか)からなる折れ線の図形があったとして、人間は図をかけば、適度にこの部分は円弧だろうとか、直線だろうとか、あてはめることができます。
それを、精度をあたえることで、コンピュータに計算で円弧+直線に解かせられないでしょうかね。
826:デフォルトの名無しさん
07/05/02 18:27:41
使う円弧の数に制限が無いのなら、>>822の方法で指定点での誤差ゼロで描ける
使う円弧の数を減らしたいという要求があるなら
単純に端から3点でフィッティングして、次の点が誤差の範囲内ならと処理してもいいし
最小2乗円を求めては、誤差の範囲が収まるならとやってもいいとおもう
ただし、誤差だけでは、つなぎ目がガクガクに見えるという事になる
だから、それが嫌なら、点との誤差が幾ら以内で、接続が滑らかであるというような条件を追加しないといけない
827:デフォルトの名無しさん
07/05/02 19:42:29
>>825
用途を書いてくれればもう少し具体的なアドバイスが出てくると思われ
828:デフォルトの名無しさん
07/05/02 20:19:07
>>825
滑らかじゃなくていいなら既に色々レスついてるからそれ参照。誤差ゼロ。
滑らかである必要があるなら、確かに精度(許容誤差)を与える必要はあるだろう。
滑らかって何とか言うならもっと勉強しなさい。
829:デフォルトの名無しさん
07/05/04 00:50:19
ペゾルドにかいてなかったっけ?
830:デフォルトの名無しさん
07/05/15 23:20:02
URLリンク(www.emit.jp)
の高速除算なのですが、
どうしてこれで正しく計算できるのか分かる方いませんか?
あと、割られる数が負数のときでも上手くいくような
つまり
X / D = Q (Qは整数)
のときに
-X / D = -Q
となるような高速除算の方法を知っている方はいますか?
831:デフォルトの名無しさん
07/05/16 01:13:49
830のリンク先はなーんか誤差が出そうなやり方だなー。
定数除算なら、誤差項を1ビット誤差以下に抑えればいいから、こういうことは出来るけど。
32bit同士の乗算がオーバーフローせずに使える場合。
X/3 = [X/3 + 2n/(3*2^32)] (∵ 2n/(3*2^32) < 1bit )
= [ (2^32 + 2)/3 * (n/2^32) ]
= 1431655766 * n / 2^32
= 1431655766 * n >> 32
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5374日前に更新/259 KB
担当:undef