C言語で使える3次元動画関数(空間をビュンビュン飛び回るもの)




2014年10月より個人の方を対象に、Study C無料提供を開始しました。
C言語を勉強中の方は、学習・教育に最適なC言語インタープリタのStudy Cを使ってみてください(個人の方は無料です)。
大学・高専・高校などの教育機関での採用実績も多数あるロングセラー商品Study Cが、個人向けに無料提供を始めました。
インタープリタの手軽さに加え、ゲームや3Dタートルグラフィックで楽しく勉強したりと、C言語の学習を強力にサポートします。
ブロック崩しゲーム 3Dツリー クリスマスツリー
また、このようなボタンの用意されているページでは、掲載しているプログラムをStudy Cに直接ロードし実行したりすることができます。
Study Cにロードする Study Cにロードし編集する Study Cにロードし実行する
Study C無料利用についての詳細は、このページを参照してください。



・柱の立ち並ぶ空間に急降下し飛び回ります。
・このコーナーのプログラムはLogomotion作者の佐藤氏作または東京女子大マイコンサークルMOVEの皆さんのによって作成(オリジナルはLOGO言語で作成)されたものをC言語に書き換えたものです。
・Logomotionなどに関する詳細は3Dタートル美術館を参照してください。

急降下 低空旋回 きりもみ

void	tow(void);
void	tower(void);
void	horizon(void);
void	ship(void);


main()
{
	tg_openwin(640, 640);
	tg_init();
	tg_ht();
	horizon();
	tower();
	ship();
}

void	tow()
{
	int	i1;

	for(i1 = 0; i1 < 4; i1++){
		tg_mu(50.0);
		tg_pd();
		tg_mr(30.0);
		tg_md(50.0);
		tg_rt(90.0);
		tg_pu();
	}
}

void	tower()
{
	int	i1, i2;

	tg_pu();
	tg_home();
	tg_md(400.0);
	tg_ml(400.0 + 15);
	tg_fd(400.0 + 15);
	tg_setpc(5);

	for(i1 = 0; i1 < 5; i1++){
		for(i2 = 0; i2 < 5; i2++){
			tow();
			tg_mr(200.0);
		}
		tg_bk(200.0);
		tg_ml(1000.0);
	}
}

void	horizon()
{
	int	i1, i2;

	tg_pu();
	tg_home();
	tg_md(400.0);
	tg_ml(500.0);
	tg_fd(500.0);
	for(i1 = 0; i1 < 11; i1++){
		tg_pd();
//		for(i2 = 0; i2 < 10; i2++)
//			tg_mr(100.0);
		tg_mr(1000.0);
		tg_pu();
		tg_bk(100.0);
		tg_ml(1000.0);
	}

	tg_fd(100.0);
	for(i1 = 0; i1 < 11; i1++){
		tg_pd();
//		for(i2 = 0; i2 < 10; i2++)
//			tg_fd(100.0);
		tg_fd(1000.0);
		tg_pu();
		tg_mr(100.0);
		tg_bk(1000.0);
	}
}

void	ship()
{
	int	i1;

	tg_view();
	tg_pu();
	tg_manual();
	for(i1 = 0; i1 < 47; i1++){ tg_fd(25.0); tg_rr(5.0); tg_refresh(); }
	for(i1 = 0; i1 < 10; i1++){ tg_up(9.0); tg_refresh(); }
	for(i1 = 0; i1 < 30; i1++){ tg_fd(10.0); tg_refresh(); }
	for(i1 = 0; i1 < 10; i1++){ tg_lt(9.0); tg_fd(3.0); tg_refresh(); }
	tg_up(2.0);
	for(i1 = 0; i1 < 90; i1++){ tg_fd(10.0); tg_lt(2.0); tg_refresh(); }
	tg_dn(2.0);
	for(i1 = 0; i1 < 90; i1++){ tg_fd(10.0); tg_lt(2.0); tg_refresh(); }
	for(i1 = 0; i1 < 10; i1++){ tg_dn(9.0); tg_refresh(); }
	for(i1 = 0; i1 < 70; i1++){ tg_bk(50.0); tg_rr(8.0); tg_refresh(); }
	for(i1 = 0; i1 < 9; i1++){ tg_up(5.0); tg_refresh(); }
	tg_home();
	tg_bk(1000.0);
	for(i1 = 0; i1 < 19; i1++){ tg_md(20.0); tg_refresh(); }
	for(i1 = 0; i1 < 75; i1++){ tg_fd(20.0); tg_rr(7.2); tg_refresh(); }
}
Study Cにロードする Study Cにロードし編集する Study Cにロードし実行する ブラウザとの連携機能が使用可能なStudy Cのバージョンなどについて...
・STAR(ソースプログラムのダウンロード)

tow関数 水色の塔を一つ描画します。
tower関数 tow関数を使って塔を描画していきます。
horizon関数 水平面(碁盤の目)を描画します。
ship関数 視点を移動して飛び回ります。

・STARをコンパイルしたEXEファイルのダウンロードNew
3DタートルをVisual C++やBorland Cからも使用できるようにするためのライブラリを作成しました(特別C言語講座にアクセス可能な方は、こちらからダウンロードしてください)。 コンパイルしたEXEを上記からダウンロードできます(普通のEXEファイルなのでそのまま実行することができます)。 詳細はダウンロードのページをご覧ください。