![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
こんにちは!
先週C言語のプログラミングの課題が出て土日もずっと考えたのですが全く意味が分かりません><
どなたか教えてください泣
内容は、スキャンライン法で二次元三角形を作り(三角形の塗りつぶし)、BMPファイルへ出力せよというものです。
1. 3角形を囲む長方形・ (xmin,xmax,ymin,ymax)
2. Y座標をymax~yminまで, 1ずつ減らしながら以下を繰り返す
(a)スキャンラインSL(Y=y)発生
(b)SLと3角形との交点(線形補間)
(c)交点間の画素を 表示色(r,g,b)で塗る
*端点や水平線に注意
よろしくお願いします><
No.3ベストアンサー
- 回答日時:
>スキャンラインY=yが何を意味するのか分からないし
スキャンラインSLのY座標をyとする、ということです。
スキャンラインSLは、水平な直線です。
そのY座標をyとした時に、SLと三角形の辺との交点を求めます。
交点が2つ有る場合、交点の座標は(x1,y)と(x2,y)になるので
2つの交点の間を塗りつぶす(=2つの交点の間に線を引く)
この処理を、Y座標をyminからymaxまで変えながら行う。
No.2
- 回答日時:
海苔巻きを作るときに使用する「すだれ」を竹の棒が横になるようにぶら下げて水彩絵の具ですだれに絵を描いてみてください。
竹の棒の一本一本がスキャンラインです。筆を左右上下に動かして、すだれ全体に絵を描くのではなく、竹の棒を一本一本塗る感じで絵を書く感じです。
線形補間というのは比例を使用した補間です。早い話が、すだれの左下を原点として竹の棒の向きをx軸として考えてすだれの上に三角形を書くと、三角形の各辺はy=ax+bの形に表すことができます。頂点を除いて、それぞれの竹の棒は三角形の2つの辺と交差すると思いますから、2つの辺の交点を求めて、竹の棒のその間を塗っていけばいいでしょう?
No.1
- 回答日時:
わからない箇所はどこでしょう?
方眼紙を用意してください。
そこに三角形を書いてください。
その三角形が収まるマスが「1」
ある横方向に並んだマス目に注目して、三角形の辺があるマスに色を塗るのが 「2」
二つの頂点を通る直線と、Y=yの交点を求めるのは、算数か数学でやったはず。
むずかしいのはBMPファイルの出力で、C言語の標準では、そのものずばりのものはありません。
この回答への補足
見ていただいてありがとうございます!
最初に以下のソースファイルとヘッダファイル1つとwriteBmp.cというファイルが渡されたのでBMPファイルが出力できるのだと思います。
課題はこのソースファイルに付け足すというものです!
スキャンラインY=yが何を意味するのか分からないし、線形補間が何かを調べたんですが理解ができなくて困っています><
/*
24ビットBMPファイルの書き込み
*/
#include "cg.h"
#include "writeBmp.c"
/* ビットマップデータの生成 */
void mbitmap(int width, int height)
{
int i, j;
for (i=0; i<height; i++)
for (j=0; j<width; j++) {
Pixel[i][j][0] = (unsigned char)255;
Pixel[i][j][1] = (unsigned char)255;
Pixel[i][j][2] = (unsigned char)0;
}
}
void main(void)
{
int width = 640,
height = 480;
/* ビットマップデータの生成 */
mbitmap(width, height);
/* 24ビット-ビットマップファイルへの書き込み */
bmpout("sample.bmp", width, height);
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 中3 円周角の定理の問題です 3 2022/06/29 22:21
- 数学 角度当てクイズVol.225の解き方おしえてください 1 2023/06/23 17:45
- 数学 数学の質問です。 △ABCにおいて, ∠Aの二等分線が BC と交わる点をRとする。 辺BC, CA 2 2023/07/13 23:58
- 数学 三角形の3つの頂点から出る3本の直線が1点で交わる条件で 「少なくとも1本の直線は、角の二等分線であ 2 2023/02/21 21:24
- 数学 複素数平面についての問題です。 2点α、βが定められており、それらともう1点γと結ぶ三角形が直角二等 6 2023/06/30 09:47
- 高校 数学Aの問題で、円に内接するN角形(N>4)の対角線の総数は ア 本である。また、Fの頂点三つからで 1 2023/04/13 17:47
- 数学 場合の数、確率 29 導入問題 ( 円周上の鋭角三角形) 4 2023/07/06 18:00
- 数学 画像の中学2年生の数学の問題について教えていただきたいです。 三角形ADCが二等辺三角形であることと 2 2023/01/29 16:14
- 大学・短大 三角形ABCにおいてBCの中点をM、AB>=ACとする。この時AからBCに下ろした垂線とBCとの交点 1 2023/05/10 20:20
- 数学 『弧は弦より長し』 8 2022/04/18 10:23
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
以下のプログラムは重心を求め...
-
エクセルである点からの距離で...
-
3次元空間上の2つの座標から...
-
ガウシアンフィルタのCプログラム
-
矩形同士の当たり判定 C#
-
位置座標からx軸となす角度(ラ...
-
シーケンサー(PLC?)で制...
-
2つの座標と角度から交点座標の...
-
C言語 配列で座標
-
c++でのプログラミングについて
-
Fortranで直交座標から極座標変...
-
ワード上Shapeの位置情報を統一...
-
6点からの楕円の近似計算(最...
-
マインクラフト(pc版)で座標...
-
一番近い点を見つけたい。
-
オブジェクトの重心について
-
複数コントロール(ラベル)を...
-
エクセルでの座標計算の質問
-
ゲームプログラミングにおけるs...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
エクセルである点からの距離で...
-
エクセルで回転する座標の出し方
-
3次元空間上の2つの座標から...
-
始点、終点の二つの座標と半径...
-
c言語でキーボードから2点の座...
-
閉図形の座標の配列が右回りか...
-
以下のプログラムは重心を求め...
-
交差する2線分の交点座標の求め方
-
y=x^2の座標をプロットするプロ...
-
ダイアログ内コントロールの位...
-
シーケンサー(PLC?)で制...
-
ガウシアンフィルタのCプログラム
-
多角形の内部かどうか判定する方法
-
直線上にある点の座標の求め方
-
エクセルシート上のマウスポイ...
-
OpenCvSharp4による画像判定解...
-
C言語 配列で座標
-
ピクチャボックスの座標取得
おすすめ情報