[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 20:18 / Filesize : 259 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラミングの為の数学と算数 vol.2



1 名前:デフォルトの名無しさん [04/09/05 16:22]
プログラムに必要な数学、算数に関する話題について
語りましょう。TIPS/Q&Aスレです。

717 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 16:40:25 ]
もう少し詳しく。
そのテーブルの中味と、
何のデータを元にして、
何の式で補間するか書いてください
お願いします(-∧-)

718 名前:709 mailto:sage [2007/03/25(日) 16:51:16 ]
ありゃ、思いのほか厄介な問題だったんですね・・・
>>715 円周に沿って l の座標を求める方法がよくわからないです。すみません。
>>716 で言う方法かはわかりませんが、自分ならこうやりますがどうでしょう?

 1. 30N の全ての点の座標を求たテーブルを作る
 2. 隣り合う点との距離を三平方の定理で求めることを全ての点について行い、円周の近時値を計算する
 3. 円周を N等分した長さを求め、これを当初の N個の頂点間の距離 d とする
 4. 30N のテーブル中の頂点の中から、それぞれの点の円周上の位置(始点からの距離)に近いものを選んで点を打つ


719 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 17:04:31 ]
>>718
>円周に沿って l の座標を求める方法
楕円積分の逆関数だから、楕円関数使って求まる気がする。
もちろん、楕円関数の値は数値的に計算するものだけど。

721 名前:719 mailto:sage [2007/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 mailto:sage [2007/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 mailto:sage [2007/03/25(日) 17:30:02 ]
>>722
丁寧にどうもありがとうございます。
よくわかりました。

>>720
まずは楕円積分というのを勉強しなくてはいけなそうです。
おいおいスキルアップしたいと思います。

>>710
よろしければそのスレを教えてもらえないでしょうか。
放物線を速さ一定で進むってのも興味あります。

724 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 17:44:59 ]
楕円の周長なら
ttp://www.tensyo.com/urame/prog/ALGO.HTM
の後ろの方に計算方法が書いてあったけど
コレは今回の問題には応用できないな

725 名前:しょう [2007/03/25(日) 20:12:39 ]
ある学校の生徒数は 1年生が全体の三分の一であり、2年生と 3年生の生徒数の比は5:6である。1年生の生徒数をa人、2年生の生徒数をb人とするとき、bをaの式で表せ。   この問題誰か解いてください




726 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 20:19:03 ]
プログラミング関係ないな。
宿題は他をあたりなさい。

727 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 20:23:34 ]
うわーなんてむずかしいもんだいなんだー

729 名前:しょう [2007/03/25(日) 20:27:12 ]
解らないですか?

730 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 20:28:17 ]
ヒントください
せめて何学年まであるか、一学年何クラスかぐらいはわからないと・・・

731 名前:しょう [2007/03/25(日) 20:31:33 ]
高校受験の問題です。問題用紙のままカキコしました。


732 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 20:34:09 ]
……('д`)帰れリア厨

733 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 20:41:40 ]
SPI並の難しさだな
中学生じゃ解けないよ
大学入って掃き出し法を習うまでとっておきなさい

734 名前:デフォルトの名無しさん [2007/03/25(日) 21:04:47 ]
厨房でも溶けるだろ
>727間違ってる
1)a*2=b+c
だな。
で、2)はb:c=5:6から出した式ですね
あとは連立方程式

735 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 21:31:43 ]
このスレの上の方で文系は数学から逃げ〜とか言ってたけど
俺数学選択で早稲田受かったよ



736 名前:デフォルトの名無しさん [2007/03/25(日) 21:38:14 ]
おめでと(^O^)/

737 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 21:42:19 ]
ありがと(^0^)/
まぁ政経だけどねwショボいけど

738 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 22:12:11 ]
理系で数学から逃げた俺は退学して工場労働者やってるお(^o^)

739 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 00:05:29 ]
>>723
これだった
pc11.2ch.net/test/read.cgi/gamedev/1170387853/

740 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 00:10:22 ]
>>734
それを言うなら、 a = (a + b + c) * 1/3 だろ。実際のところ、3学年しかないという前提はどこにもないわけだが。

741 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 00:26:09 ]
>>723
楕円の周長計算、
「使えるだけでいい」という姿勢なら
単に数値計算ライブラリからソースコピればいける気が。

742 名前:デフォルトの名無しさん [2007/03/27(火) 01:25:31 ]
テスト
www.youtube.suppa.jp/?uk5LgzILKQU59%+0kBtqQp0RJf30%+8rTFpttjtSU89%+eKWwj9JoAln29%+OSjDO5IUnWJ14%+amKCPh1YrDR14%+KmClRwiAMOy29%+4gIU8IV2hvR14%+CxM26WyV1_d29%+mIBUzAsDgyE132%+@1@_AutomaticPlay

743 名前:デフォルトの名無しさん [2007/03/27(火) 02:01:51 ]
>>742はコチラへ移動しました
★☆YouTubeのCMを連続動画に☆★
//ame.x0.com/main/070327015730.html
ame.x0.com/main/070327015730.html


744 名前:デフォルトの名無しさん [2007/03/28(水) 11:26:38 ]
円と曲線がどれだけズレてるかの面積?みたいなものはどうやって計算すればよいですか?

745 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 11:31:26 ]
曲線が定義済なら、数値積分すればいいじゃない



746 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 11:37:36 ]
あ、曲線は自由曲線(ドットというか。。。)です。

747 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 11:43:15 ]
50レスほど戻れば、似たような話をしているよ
>>689のリンク先のページは見た?

748 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 13:40:09 ]
>>746
その離散点使って、数値積分的なことすれば?
Σ(点から直線への距離 × 傾き)
みたいなのを。

749 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 19:00:37 ]
曲率の分散とか?

750 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 23:08:36 ]
>>746
>あ、曲線は自由曲線(ドットというか。。。)です。 

ドットを数えろ。


751 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 08:38:46 ]
ラジャ>>750

752 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 08:57:37 ]
円と離散点群がどれだけズレているかなら、
案1、 (点と中心との距離-半径)^2 の平均 ÷ 半径^2
案2、 ( 点と中心との距離^2 - 半径^2 )^2 の平均 ÷ 半径^4

あたりだろう。


753 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 14:03:24 ]
「ズレている」がきちんと定義されんとなんとも。
基準円よりも広いところで円をなす点たちと
基準円上のある点にのみ集中する点たちで
どっちが「円からズレている」かは一概には言えない。

754 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 14:22:10 ]
そこで残差の二乗の総和ですよ

755 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 15:48:26 ]
何が「そこで」なの?

残差自乗みたいな簡単な尺度では「(概形が)円からズレてない」
みたいな位相的な構造はとても捕まえられないはずだけども。



756 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 16:07:10 ]
>>753 それは、 ズレを最小にする円があるかどうかの問題になるんじゃないのか?

指定された円とのズレという量があればそれを最小にする半径、中心も求められるわけで・・・

それとも何か素晴らしいアイデアをお持ちで?

757 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 16:33:07 ]
>>756
だから「ズレている」を定義してくれと言ってるんだけどな。
一点に集中してても「ズレてない」とするなら残差自乗で十分だし、
そうでないならより輪郭線抽出などの手法が要るかもしれない。

758 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 16:37:32 ]
欠点はあるが 簡単な定義は>>752くらいしか無いだろう?

もう少しややこしくするなら、点同士がどれだけ中心からの角度で分散しているかの数値を入れるかい?


759 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 16:44:25 ]
なんとなく想像だけど、手書きの丸と円のずれ具合を定量化したいんじゃないのかな?
だとすれば>750で充分だと思うのだけど。
#目的も判らずに数学的な意味を見出そうとしても虚しいばかりだ。

760 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 16:52:34 ]
ドットを数えるってどうやるの?

761 名前:ラジアンの比較で躓いてます mailto:sage [2007/03/29(木) 16:57:43 ]
別スレで pc11.2ch.net/test/read.cgi/tech/1175129517/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; //外積

とスカラー値を返しているのですが、今一つやっている意味が判りません。

yuki.to/math_cgi/prybbs.html?log=3&mode=res&no=36824

ぐぐったらこんな掲示板見つけたけど、回答者の答えがイマイチ判りません。
コードを通して、ベクトルを理解したいのですが、誰か教えてもらえませんか?

762 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 17:08:28 ]
v1,v2の外積の結果は、その2つに直角な方向ですが、
v1,v2が平面上なのでZ成分のみとなります。 だから省略したのでしょう


763 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:ラジアンの比較で躓いてます mailto:sage [2007/03/29(木) 17:36:19 ]
>762
なるほど・・・時計回りだとZ値が下方向
反時計回りだと上方向になる性質を利用して、
Z値だけで判断すればいいという事ですね!!

765 名前:ラジアンの比較で躓いてます mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 17:47:02 ]
>>765
え、えっと、変数名もnormだし、コメントもnormだし、normを計算しているんじゃないかなあ。

767 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:ラジアンの比較で躓いてます mailto:sage [2007/03/29(木) 18:03:57 ]
>766
一瞬正規化?とか思っちゃいましたが、「ノルム」でしたか・・・orz

769 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 18:19:33 ]
>「ノルム」

って日本語の数学では何だっけ?

770 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 18:27:37 ]
世の中には日本語の数学と英語の数学があるらしい。

771 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 18:37:01 ]
定まった和訳は無く、日本語をあててる本も特に知らないなあ。
参考までに、中国語では「范数」と書くそうな。

772 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 18:41:31 ]
>>769
ノルムはノルムじゃない?
数学用語としてじゃなくて、一般には基準とか模範って訳すけど。

ノルムに似たので(というか、絶対値の一般化)付値ってのがあるけど、
それは英語でも valuation。

773 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 08:56:16 ]
則(のり)じゃなかったか?

片方を90度回転したベクトルで内積をとっても、時計回り判定はできる。
90度回転操作を (x, y) → (-y, x) とすると、外積とコメントされた式と同じになる。
好きな方で解釈するといい。

774 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 09:20:27 ]
内積外積を使わなくてもこれは解ける
片方のベクトルが水平(y成分が0)になるように回転変換し、
もう一方のベクトルのx成分が0なら垂直で y成分の符号を見ればいい
でも、それが内積と外積になっちゃうんだけどね

775 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 11:56:04 ]
プログラミングの学習を先にはじめて、その必要に迫られて
その都度、数学の教養を身に着ける順序でも遅くなくねえ?

問題集をひたすら解くだけの抽象的な数学の本ばかり読んで
いると、生きることの意味がわからなくなってくるよ。



776 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 11:57:48 ]
既出でしたら、ごめんなさい

半径10センチの球表面の座標(XYZ)をファイルに出力したいと考えております
点の間隔は0.1センチぐらいでいいかな、と

ファイルに落とす部分は、わかっているんですが
座標を算出するアルゴリズムが、さっぱりわからなくて

お分かりになる方、御教授いただけると助かります

777 名前:デフォルトの名無しさん mailto:sage [2007/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)
解説: hp.vector.co.jp/authors/VA030421/fdd06.htm
で角度(th1, th2)でループまわすことも考えられる。

角度で回すのなら、球面三角法
ja.wikipedia.org/wiki/%E7%90%83%E9%9D%A2%E4%B8%89%E8%A7%92%E6%B3%95
も見おくべし。


778 名前:776 mailto:sage [2007/03/30(金) 12:56:17 ]
>>>777

ありがとうございます。できたっぽいです
たすかりました

779 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 20:41:06 ]
そのような極座標だと、目の細かい場所と粗い場所ができないか
できてもさしつかえないならいいけど、もしさしつかえあるなら
ユニバーサルメルカトル図法みたいな雰囲気で局所座標系を
とったりするとよさそうな気が

780 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 01:53:29 ]
等間隔にするならジオデシックスフィア(日本語でなんて言うのか知らん)の頂点として出すとか

781 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 02:39:25 ]
まあ、やっぱり極付近ほど密になるけど、↓みたいなのはある。
www.cubido.at/Blog/tabid/176/EntryID/86/Default.aspx

ジオデシックドームの頂点求めるんだたら↓これ?
www2.tokai.or.jp/tomo-kun/readmeJ.html

782 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 04:54:50 ]
正20面体に重心細分を繰り返して得られる多面体とかではどうかね

783 名前:デフォルトの名無しさん [2007/04/11(水) 11:07:50 ]
自由な曲線(ベジェ曲線か、折れ線の点列)を円弧のあつまりで近似したいんですが、
ヒントはないでしょうか?

784 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 11:16:08 ]
円弧は半径が決まっているの? つまりフライスのようなので削るというような場合?

単純に円弧で近似したいのがどういう状況か判らないのだけど
曲線の場合は、微分が一致するように接続してゆけばいいのだけど
円弧の場合は2点と半径で求まってしまうので、
どうやっても接続点が尖がってしまう

785 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 00:12:15 ]
円弧と線分ならどうにかそれっぽくなるかも



786 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 08:40:07 ]
円弧の半径に制限無かったら、無限小の円弧になるだけだろ。

787 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 04:39:53 ]
無限小の円弧の集合では曲線は近似できないのでは。

788 名前:784 mailto:sage [2007/04/13(金) 06:06:45 ]
まてよ。
接続点で中心の方向が一致すればいいと解けば
接続点が尖らないように出来るか 


789 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 06:16:25 ]
>>788
 )

 )


こういうこと?

790 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 13:54:27 ]
円弧も極小の長さで繋いでゆけばどんな曲線でも表現出来るし、
直線も半径を限りなく大きな値にすれば可能っぽいね。
適当に曲線から3点抽出して、3点を通る円を求めればいいんじゃね?
必要精度に達していなければ間隔を短くし、足りてれば長くして情報量を落とせばいけそう。

791 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 20:32:08 ]
半径無限大に飛ばせば曲率ゼロだしな。

792 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 00:14:38 ]
よくあるフォームの座標系を
0|
―+―――→x
 |
 |
 ↓
y
を、
  y
  ↑
  |
  |
―+―――→x
 0 |
に変換する行列教えてください。

793 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 00:26:24 ]
1, 0; 0, -1

794 名前:デフォルトの名無しさん mailto:age [2007/04/14(土) 15:36:47 ]
>「network.standard-url.escape-utf8」を「false」にしてください。
>about:configで「network.standard-url.encode-utf8」を「true」にします。

上記の設定で、無事、日本語になりました。

気になるのは、IE7では、『"』⇒『"』でしたが、
forum.mozilla.gr.jp/?mode=new&no=0&X='国際化'
forum.mozilla.gr.jp/?mode=new&no=0&X="国際化"

FireFox2では、『"』⇒『%22』になっていました、少々オシイです。
forum.mozilla.gr.jp/?mode=new&no=0&X='国際化'
forum.mozilla.gr.jp/?mode=new&no=0&X=%22国際化%22

『%22』を『"』に戻す作業が残ってしまいます。
共通化としてOpera9の国際化URL設定も分かると良いと思います。


795 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 10:03:30 ]
数学的要素が少ないプログラムの分野は何ですか?
ゲームプログラムは数学的要素満載だと思うのですが。



796 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 10:46:25 ]
事務web系

797 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 13:57:03 ]
>>795
どんな分野であっても、スレタイが読める程度の日本語力は必要。

798 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 21:51:26 ]
>>796
事務web系って何ですか?

799 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:46:08 ]
全国の支社から出退勤のデータを収集して給与を計算するとか
ネット通販の注文を受け付けて倉庫に発送を指示するとか

800 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 02:44:55 ]
そういうのって地味だから長く働けそうですね。

801 名前:デフォルトの名無しさん [2007/04/19(木) 02:48:30 ]
追記

出来るだけ長く働ける分野が良いんです

802 名前:デフォルトの名無しさん [2007/04/19(木) 11:29:46 ]
息子が大学に行く直前まで働ける職種でおk?

803 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 11:38:45 ]
数学、算数はプログラムに必要か?
pc11.2ch.net/test/read.cgi/tech/1171457185/
を汚した奴だろ?

あちこち汚してゆくような奴が奴隷の待遇の上下を聞いたって嫌われるだけだろうに

804 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 23:48:04 ]
就職先探すのとかは完全にすれ違い。帰れ。

805 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 06:19:39 ]
>>802
あなたの息子を舐め舐めしますよ



806 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 09:01:30 ]
 これから数学の勉強始めてみようと思ってるんだが、プログラミングに役立つ
勉強方法が知りたい。大学受験レベルの数学問題をひたすら解くのがいいのか、
公式を理解しつつ大学レベルの数学を勉強するのがいいのか。

どんな風にすればいいか教えてください。。。。。

807 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 09:31:49 ]
大学レベルの数学もいろいろあって、いまのあなたの
プログラミング・数学の能力と、役立てようとしている
方面によって勉強すべきものは変わる。

目的に近いところを読んでから、不足してそうな部分を
適宜補うってのが順当なごく普通の勉強の仕方。

どんなのがやりたいか言ってくれれば本などは紹介するよ。


因みに受験レベルの数学は単純計算すら覚束ないなら
仕方が無いけれど、そうでなければやる必要なしと思う。

808 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 16:00:13 ]
> プログラミングに役立つ勉強方法が知りたい。
これは例えるなら「スポーツに役立つ練習方法を知りたい」と言ってるようなもの。
スポーツの種目によって練習方法が違うように、プログラミングの分野によって役立つ
数学の分野も違う。

# プログラミングで飯を食っていきたいなら、数学より簿記でもやった方が潰しがきくような気がしないでもない。

809 名前:806 mailto:sage [2007/04/22(日) 13:35:06 ]
>>807-808
レスサンクス。

プログラミングはCの基本的な文法を理解している程度で、数学に関しては
高校レベルもサパーリな状況です。

簿記の知識って業務系だとそんなに役に立つのか。。。。
それなら一応日商の簿記一級を持ってるんで、この知識を生かして業務系に
進んだほうがいいのかなと思ってるんだが、
「生涯現役でプログラマなんだぜ?」
な漏れとしては組込み系や制御系のほうがいいのかなと考えたり、、、
今現在はどの分野にいこうか迷ってるところです。

どうやらプログラミングに必要な数学は各分野ごとにまちまちで、漏れの
やりたいこと自体もまだ定まってないので、とりあえず高校レベルの数学を
勉強する。そしてその時の勉強法としては大学受験を目指す感じのやり方
じゃなく、基本的な公式を理解する程度でよいってことでFA?


810 名前:デフォルトの名無しさん mailto:sage [2007/04/22(日) 21:45:37 ]
人に分からないことは全く問題ないけど、
全部頼るのは良くない。
自分で決める、たぶんそれが一番大事だ。

811 名前:デフォルトの名無しさん mailto:sage [2007/04/22(日) 22:39:13 ]
>人に分からないことは全く問題ないけど、
日本語でOK。

812 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 00:45:08 ]
進路相談は完全に板違いなんでとっとと消えろな
毎年毎年現れる上に、人によって状況が違うし、いちいち答えてたらキリが無い

813 名前:全知全能者 [2007/04/25(水) 05:10:58 ]
いつの世も物を言うのは「力」だ。

原始時代は「筋力」
江戸時代は「家柄」
そして現代は「金」

現代社会では金を持っている人間が強い。
革新的なパラダイムの転換が無い限りこの価値観は変わらない。

814 名前:デフォルトの名無しさん [2007/04/25(水) 15:49:14 ]
そして、この先は『人柄』が力となる。

815 名前:デフォルトの名無しさん mailto:sage [2007/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 mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/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 で処理しても結果は同じ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<259KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef