課題

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ナーミー

課題

#1

投稿記事 by ナーミー » 9年前

大学から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週間後です。

hide

Re: 課題

#2

投稿記事 by hide » 9年前

何がわからないのかはっきり書かないと手伝いしづらいです。

あと、ソースを載せるときはcodeタグを使うのがルールなので。よろしくお願いします。

hide

Re: 課題

#3

投稿記事 by hide » 9年前

質問欄に記載したアルゴリズムから、緑、青、赤の円を透明度を持たせて、それぞれの円が重なる部分を水色、黄色、紫色、白色となるように書き換えるアルゴリズムが知りたいです。

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 14年前
住所: 北海道札幌市
連絡を取る:

Re: 課題

#4

投稿記事 by Dixq (管理人) » 9年前

No.1のナーミーさんとNo.2さんのhideさんとNo.3のhideさんはどういう関係なんでしょうか?
名前と流れが一致しないのですが。

ナーミー

Re: 課題

#5

投稿記事 by ナーミー » 9年前

私が名前を記述し間違えました。No.3はナーミーです。

アバター
little
記事: 44
登録日時: 13年前
連絡を取る:

Re: 課題

#6

投稿記事 by little » 9年前

※ソース等
► スポイラーを表示
ナーミー さんが書きました:上記のプログラムで色の混色が示されていない、緑色の円と青色の円と赤色の円が三角形状に重なっているだけの図が描けるのですが、この図に手を加えて、緑の円と青の円の共通部分が水色、青の円と赤の円の共通部分が紫色、緑の円と赤の円の共通部分が黄色、緑と青と赤の円の共通部分が白色となるようにプログラムを書き換えるというプログラミング課題なのですが、どう書き換えればいいのか分かりません。
混合処理をしたいということだと思いますが、wingxa.hが不透明すぎてなんともいえません。
もしこれだとすれば→wingxa.h

少し見ましたが…ドキュメントが無く触ったこと無い私には厳しいです。(Blendが見当たらないんだが・・・きっと古いんだよね・・・)
講師か友達に聞いたほうがいいと思います。

OpenGLで実装する場合→混合処理
例を円描画に直して終わりです。
ナーミー さんが書きました:水色、黄色、紫色、白色となるように書き換えるアルゴリズム
wingxa.hの内容次第だと思います。
百聞は~

ナーミー

Re: 課題

#7

投稿記事 by ナーミー » 9年前

ネットで検索すると、RGBAというのが出てきました。
それに従うと、
rgb(255,0,0)を
]rgba(255,0,0,0.5)というように書き換え、透明度を与え、他の2色も同じように記述し、黄色、水色、紫色、白色と混合色を記述すると、円の重なった部分が混合色が示せますか?
それとも、R,G,Bそれぞれに透明度をあたえるだけで、円の重なった部分の混合色は示せますか?

アバター
little
記事: 44
登録日時: 13年前
連絡を取る:

Re: 課題

#8

投稿記事 by little » 9年前

ナーミー さんが書きました:ネットで検索すると、RGBAというのが出てきました。
それに従うと、
rgb(255,0,0)を
]rgba(255,0,0,0.5)というように書き換え、透明度を与え、他の2色も同じように記述し、黄色、水色、紫色、白色と混合色を記述すると、円の重なった部分が混合色が示せますか?
それとも、R,G,Bそれぞれに透明度をあたえるだけで、円の重なった部分の混合色は示せますか?
実行すると結果が出ます。
オフトピック
問連を投げた時にやたら時間をかけて(1~2週間)、チケットの返信内容が「質問の意図がわかりません」と一文で返信されますがそうしたい状況です。
百聞は~

閉鎖

“C言語何でも質問掲示板” へ戻る