大学からCGのプログラミング課題が出されたのですが、分からないので、協力お願いします。
C言語のOpenGLで、wingxa.hというヘッダファイルを使って、プログラミングとをしなさいと言われたのですが、もう時間が迫っています。
課題は、以下のようなものです。
まず、基となるプログラムを表記します。
int x1,y1,x2,y2,x3,y3,r=100; //半径100の円盤
gwinsize(600,400); //画面のサイズを指定
ginit(1);
gsetorg(300,100); //スクリーン内の原点座標を指定
X1=-0.5*r,y1=r*(1-sqrt(3)/4); 緑の円盤の中心
x2=0.5*r;y2=r*(1-sqrt(3)/4); 青の円盤の中心
x3=0;y3=r*(1+sqrt(3)/4); 赤の円盤の中心
gcolor(0,255,0); 色(ここではgreen)の指定
gcirc(X11,y1,r); 円盤の描画
gcolor(0,0,255); 色(ここではblue)の指定
gcirc(x2,y2,r);
gcolor(255,0,0); 色(ここではred)の指定
gcirc(x3,y3,r);
上記のプログラムで色の混色が示されていない、緑色の円と青色の円と赤色の円が三角形状に重なっているだけの図が描けるのですが、この図に手を加えて、緑の円と青の円の共通部分が水色、青の円と赤の円の共通部分が紫色、緑の円と赤の円の共通部分が黄色、緑と青と赤の円の共通部分が白色となるようにプログラムを書き換えるというプログラミング課題なのですが、どう書き換えればいいのか分かりません。C言語は数年前に授業でやったのですが、忘れてしまいました。
お手伝いして頂けたら嬉しいです。
よろしくお願いします。
因みに〆切は3週間後です。
課題
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 14年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: 課題
No.1のナーミーさんとNo.2さんのhideさんとNo.3のhideさんはどういう関係なんでしょうか?
名前と流れが一致しないのですが。
名前と流れが一致しないのですが。
Re: 課題
※ソース等
もしこれだとすれば→wingxa.h
少し見ましたが…ドキュメントが無く触ったこと無い私には厳しいです。(Blendが見当たらないんだが・・・きっと古いんだよね・・・)
講師か友達に聞いたほうがいいと思います。
OpenGLで実装する場合→混合処理
例を円描画に直して終わりです。
► スポイラーを表示
混合処理をしたいということだと思いますが、wingxa.hが不透明すぎてなんともいえません。ナーミー さんが書きました:上記のプログラムで色の混色が示されていない、緑色の円と青色の円と赤色の円が三角形状に重なっているだけの図が描けるのですが、この図に手を加えて、緑の円と青の円の共通部分が水色、青の円と赤の円の共通部分が紫色、緑の円と赤の円の共通部分が黄色、緑と青と赤の円の共通部分が白色となるようにプログラムを書き換えるというプログラミング課題なのですが、どう書き換えればいいのか分かりません。
もしこれだとすれば→wingxa.h
少し見ましたが…ドキュメントが無く触ったこと無い私には厳しいです。(Blendが見当たらないんだが・・・きっと古いんだよね・・・)
講師か友達に聞いたほうがいいと思います。
OpenGLで実装する場合→混合処理
例を円描画に直して終わりです。
wingxa.hの内容次第だと思います。ナーミー さんが書きました:水色、黄色、紫色、白色となるように書き換えるアルゴリズム
百聞は~
Re: 課題
実行すると結果が出ます。ナーミー さんが書きました:ネットで検索すると、RGBAというのが出てきました。
それに従うと、
rgb(255,0,0)を
]rgba(255,0,0,0.5)というように書き換え、透明度を与え、他の2色も同じように記述し、黄色、水色、紫色、白色と混合色を記述すると、円の重なった部分が混合色が示せますか?
それとも、R,G,Bそれぞれに透明度をあたえるだけで、円の重なった部分の混合色は示せますか?
オフトピック
問連を投げた時にやたら時間をかけて(1~2週間)、チケットの返信内容が「質問の意図がわかりません」と一文で返信されますがそうしたい状況です。
百聞は~