ページ 11

ベクトル

Posted: 2010年11月23日(火) 04:34
by ねこkk
いまベクトルを構造体で作って下のような感じになってるんですが、


typedef struct{
double x;
double y;
double z;
}vec;

vec add(vec a,vec b){
vec v;
v.x = a.x + b.x;
v.y = a.y + b.y;
v.z = a.z + b.z;
return v;
}

ベクトルの足し算を行うadd関数を使うと どうしても記述が冗長になってしまいます。

なのでベクトル同士をそのまま
vec1 = vec2 + vec3;
のような感じに演算できればと思うのですが どのようにすれば実現できるでしょうか?

あとベクトル構造体について「もっとこうした方がよい」といった御指摘を頂けるとすごく嬉しいです。

Re:ベクトル

Posted: 2010年11月23日(火) 04:55
by Poco
C++なら演算子のオーバーロードを使用すれば可能です。

Re:ベクトル

Posted: 2010年11月23日(火) 05:45
by ねこkk
返信ありがとうございます。

演算子をオーバーロード出来たんですね!

ちょっとググってみたのですがこれを使えば内積,外積などといったものも簡単に表現できそうですね。
とても勉強になりました。ありがとうございました。