C言語関係掲示板

過去ログ

No.1119 アルゴリズムの教本に載っているグラフィック関係のソースを試したい

[戻る] [ホームページ]
No.1946

グラフィックスのコードがコンパイル出来ない
投稿者---C独学中の者です(2004/06/06 11:33:00)


 『C言語によるはじめてのアルゴリズム入門』や『C言語によるアルゴリズム事典』に載っているグラフィックス関係のソースをコンパイルできないのです。他のコードはコンパイルできています。 

ネットでいろいろと調べてみましたが、Cではグラフィックスを扱うことは難しいことだとは解りました。Glibw32もダウンロードしてソースを見てみましたが、上記の本のグラフィックライブラリとはかなり違っていて、結局のとことなんだかわからない状況です。どなたか、アドバイスをお願いします。



No.1947

Re:グラフィックスのコードがコンパイル出来ない
投稿者---おでん(2004/06/06 11:53:29)


> 『C言語によるはじめてのアルゴリズム入門』や『C言語によるアルゴリズム事典』に載っているグラフィックス関係のソースをコンパイルできないのです。

『C言語によるはじめてのアルゴリズム入門』
うろ覚えですが、上記の本のグラフィック関連てPC98(NEC)での
TurboC(?)の解説じゃなかったですか?
だと、Windows環境では無理だと思いますが。
・・・改訂されてるのかなぁ〜?




No.1951

Re:グラフィックスのコードがコンパイル出来ない
投稿者---C独学中の者です(2004/06/06 13:41:29)


上記の本のグラフィック関連てPC98(NEC)での
>TurboC(?)の解説じゃなかったですか?
>だと、Windows環境では無理だと思いますが。
>・・・改訂されてるのかなぁ〜?

 確かにTurboCの解説です。Windows環境では不可能なんですね!! 『アルゴリズム事典』の方もそうなんですか? 

 それにしても現在圧倒的多数の人がWindows環境のパソコンを使っているのに、使えないサンプルソースを載せるとは、ちょっと理解に苦しみますね。




No.1952

Re:グラフィックスのコードがコンパイル出来ない
投稿者---たか(2004/06/06 13:53:45)


> 確かにTurboCの解説です。Windows環境では不可能なんですね!! 『アルゴリズム事典』の方もそうなんですか? 
>
> それにしても現在圧倒的多数の人がWindows環境のパソコンを使っているのに、使えないサンプルソースを載せるとは、ちょっと理解に苦しみますね。

Turbo-Cがもうほとんど使われていないのに改訂されないとは困ったもの
ですね。しかし、Glibw32を使われようとされているなら、まだ救いは
あります。それは、「移植」です。Glibw32はWindowsというよりはコンソー
ル画面に近いグラフィック画面を持てますので、Turbo-CとGlibw32のグラ
フィック命令をご自分の頭の中で一対一に対応することができれば、Turbo-C
のプログラムでも十分役に立つと思います。

VC7.1のようにMFCやWin32の知識を必要とする言語ではかなり苦労される
かもしれませんが、Borland C++ BuilderであればDelphi直系のVCLがその
まま使えますので鼻歌を歌いながら移植できます。(私は別にBorlandの
回し者ではありませんが^^;)。


No.1953

Re:グラフィックスのコードがコンパイル出来ない
投稿者---たか(2004/06/06 13:58:24)


ちなみに私の手元にある「改訂C言語によるはじめてのアルゴリズム入門」は
CD-ROMが付属しており、MFCの知識がなくてもVisual C++さえあれば簡単に
グラフィックが楽しめるようになっています。


No.1954

Re:グラフィックスのコードがコンパイル出来ない
投稿者---C独学中の者です(2004/06/06 14:06:35)


 早速いろいろアドバイスをいただきありがとうございました。

 TurboCとWindows環境の違いに思い至らず、何日もWebを探し回っていた滑稽さに、われながら笑ってしまいます。
 Glibw32の方を少し勉強してみようと思います。


No.1967

Re:グラフィックスのコードがコンパイル出来ない
投稿者---たか(2004/06/07 13:04:22)


んーと、今見てみたらかなり他の投稿が多かったのですが、私が前に作った
GlibW32を利用した簡単なタートルグラフィックスの例を挙げておきます。
これはBCC用ですが、gccにもVCにも簡単に移植できるはずです。
これだと、Turbo-C用のプログラムでもそのまま使えるような気になりま
せんか?

#include "glibw32.h"
#include <cmath>

class Turtle {
  double x, y;
  double deg;
public:
  Turtle(double x1 = 0, double y1 = 0, double deg1 = 90) : x(x1), y(y1), deg(deg1 * M_PI / 180) {}
  void Right(double deg1) { deg -= deg1 * M_PI / 180; }
  void Left(double deg1) { Right(-deg1); }
  void Move(double len) {
    x += len * std::cos(deg);
    y += len * std::sin(deg);
  }
  void Line(GRAPH& g, double len) {
    double x1, y1;
    x1 = x + len * std::cos(deg);
    y1 = y + len * std::sin(deg);
    g.line(x, y, x1, y1);
    x = x1; y = y1;
  }
};

void tree(Turtle& tt, GRAPH& g, double len, double minlen);

int main()
{
  ginit(800, 600);
  GRAPH g;
  g.window(0, 0, 800, 600);
  g.setcolor(WHITE);
  
  Turtle tt(400, 0);
  tree(tt, g, 200, 5);

  gend();
}

void tree(Turtle& tt, GRAPH& g, double len, double minlen)
{
  if (len < minlen)
    return;
  tt.Line(g, len);
  tt.Left(45);
  tree(tt, g, len * 0.7, minlen);
  tt.Right(90);
  tree(tt, g, len * 0.7, minlen);
  tt.Right(180 - 45);
  tt.Move(len);
  tt.Left(180);
}



No.1972

Re:グラフィックスのコードがコンパイル出来ない
投稿者---C独学中の者です(2004/06/07 20:23:20)



 たかさん、Sampleプログラムをありがとうございます。

 昨日Glibw32に取り掛かってみて、習得までに少し時間がかかりそうな感じがしていましたが、示していただいたプログラムをお手本に、本のコードとつき合わせて学べば、近いうちに何とかなりそうな気になってきました。



No.1957

Re:グラフィックスのコードがコンパイル出来ない
投稿者---nop(2004/06/07 09:06:38)


> それにしても現在圧倒的多数の人がWindows環境のパソコンを使っているのに、使えないサンプルソースを載せるとは、ちょっと理解に苦しみますね。


まず、グラフィック関係は環境に依存します。
それから、あなたが使用している本は、恐らく以前の PC-88/PC-98 シリーズ全盛期に書かれたのもでしょう。
ご自分の環境に合わせた本を選ぶのも重要なことです。

>使えないサンプルソースを載せるとは、ちょっと理解に苦しみますね。

などと仰ってますが、その本が執筆された当初は大変役に立ったものでした。
しかし、この業界は進歩が早いものです。
その進歩に合わせて本を選ぶのはあなたの責任です。
自分の勝手な見方で「使えない」などと仰るのは如何なものかと思います。



No.1961

nop様
投稿者---C独学中の者です(2004/06/07 11:54:38)



>あなたが使用している本は、恐らく以前の PC-88/PC-98 シリーズ全盛期に書かれたのもでしょう。
>ご自分の環境に合わせた本を選ぶのも重要なことです。
>
その本が執筆された当初は大変役に立ったものでした。
>しかし、この業界は進歩が早いものです。
>その進歩に合わせて本を選ぶのはあなたの責任です。
>自分の勝手な見方で「使えない」などと仰るのは如何なものかと思います。

 『C言語によるはじめてのアルゴリズム入門』は数年前に買って置いた本です。その当時でもWindowsを使っている人が多数でしたが、小さな本屋さんだったため古い版が残っていたのでしょう。その後改訂版が出て、グラフィックスの所も改善されたことが「たかさん」の返信でわかりました。

 ただ、この本を手にする人はプログラミング入門者が多いだろうし、グラフィックスの事など知らない可能性が高く、すべてを立ち読みして買う人もいないので、nopさんの非難は少々的はずれだと思う。
 せっかく返信を下さるのであれば、もっと建設的なアドバイスをしていただきたい。




No.1962

Re:nop様
投稿者---blackwind(2004/06/07 12:07:09)


> 『C言語によるはじめてのアルゴリズム入門』は数年前に買って置いた本です。その当時でもWindowsを使っている人が多数でしたが、小さな本屋さんだったため古い版が残っていたのでしょう。その後改訂版が出て、グラフィックスの所も改善されたことが「たかさん」の返信でわかりました。
>
> ただ、この本を手にする人はプログラミング入門者が多いだろうし、
なぜ、そう思うのでしょう?
勝手に決め付けるのは良くないと思いますが。

> グラフィックスの事など知らない可能性が高く、すべてを立ち読みして買う人もいないので、nopさんの非難は少々的はずれだと思う。

nop様から引用
>>その進歩に合わせて本を選ぶのはあなたの責任です。
あなたのほうが的外れです。

> せっかく返信を下さるのであれば、もっと建設的なアドバイスをしていただきたい。
何を返信するかは個人の自由でしょう。




No.1964

Re:nop様
投稿者---円零(2004/06/07 12:28:53)


進歩の早い分野の本を買う時って、普通買う前に奥付の日付くらいは確認しませんか?
いずれにせよ昔の本に昔のことが書いてあるのは当たり前であって、理解に苦しむようなことではないと思いますが。



No.1966

Re:nop様
投稿者---ぽこ(2004/06/07 12:47:13)


> せっかく返信を下さるのであれば、もっと建設的なアドバイスをしていただきたい。

初心者であれば、目的に沿ったお勧めの本や良書にどんなものがあるか
聞いた方が良かったかも知れませんね。



No.1970

Re:nop様
投稿者---monkey(2004/06/07 18:17:08)


> せっかく返信を下さるのであれば、もっと建設的なアドバイスをしていただきたい。

nopさんの次の言葉は,これから参考書を探したりするにあたって十分に建設的なアドバイスだと思いますよ.

>> ご自分の環境に合わせた本を選ぶのも重要なことです。
>> しかし、この業界は進歩が早いものです。
>> その進歩に合わせて本を選ぶのはあなたの責任です。