円に沿ったsinカーブ

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

円に沿ったsinカーブ

#1

投稿記事 by anz » 10年前

C言語初級者です。
学校の自由課題で円に沿ったsinカーブを描きたいのですがsinカーブを円の形に曲げれません。
どうかご指南お願いいたします

コード:

#include <stdio.h>
#include <math.h>
#include <eggx.h>
#define PI 3.141592
#define COLOR 10000

int main() {
    
    int x, win;
    int color = 2 * COLOR;
    double r, y;
    
    win=gopen(400,400); //描画ウィンドウを開く
    winname(win, "sample 1"); //名前をつける
    
    
    for(r = 0; r <= 2 * PI; r += 0.0001) {//円を描く
        
        if (color > 8 * COLOR)//色を戻す
                color = 2 * COLOR;
        
        x = 190 * cos(r);//描く式
        y = 10 * sin(r*20);
        
        newpen(win, color / COLOR);//色指定
        
        pset(win, x + 200.0, y + 200.0);
        
        color++;
    }
    
    ggetch(); //キー入力を待つ
    gclose(win); //描画ウィンドウを閉じる
    
    return 0;
}

たいちう
記事: 418
登録日時: 13年前

Re: 円に沿ったsinカーブ

#2

投稿記事 by たいちう » 10年前

rは半径を表わすのが一般的ですので、
角度はthにしてみました。

コード:

for (th = 0; th <= 2 * PI; th += 0.0001) {
	r = 190 + 10 * sin(th * 定数);
	x = x0 + r * cos(th);
	y = y0 + r * sin(th);
	pset(win, x, y);
}

anz

Re: 円に沿ったsinカーブ

#3

投稿記事 by anz » 10年前

教えて頂いたように↓のように書いてみましたが実行すると一つの点が点滅しているだけになってしまいました…
定数と書いてあった部分に色々数字入れてみたんですがダメでした。

コード:


#include <stdio.h>
#include <math.h>
#include <eggx.h>
#define PI 3.141592
#define COLOR 10000

int main() {
    
    int th, x, win;
    int color = 2 * COLOR;
    double r, y;
    
    win=gopen(400,400); //描画ウィンドウを開く
    winname(win, "sample 1"); //名前をつける
    
    
      for(th = 0; th <= 2 * PI; th += 0.0001) {//円を描く
        
        if (color > 8 * COLOR)//色を戻す
                color = 2 * COLOR;
        
          r = 190 + 10 * sin(th * 200.0);
          x = 200.0 + r * cos(th);//描く式
          y = 200.0 + r * sin(th);
          
          newpen(win, color / COLOR);//色指定
          
          pset(win, x, y);
          
          color++;
      }
    

    ggetch(); //キー入力を待つ
    gclose(win); //描画ウィンドウを閉じる
    
    return 0;
}

たいちう
記事: 418
登録日時: 13年前

Re: 円に沿ったsinカーブ

#4

投稿記事 by たいちう » 10年前

デバッグしてください。
(x, y)は期待通りの値でしたか?rは?thは?

それとも、何を期待したらよいかも判りませんか?
そうでなければ、上記の事を順に確認したら何が問題なのか絞り込めると思います。

初級者
記事: 200
登録日時: 13年前

Re: 円に沿ったsinカーブ

#5

投稿記事 by 初級者 » 10年前

仕様上の話として、そもそも、
x と y の型が異なっているのは
正しいのでしょうか。

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: 円に沿ったsinカーブ

#6

投稿記事 by みけCAT » 10年前

「円に沿ったsinカーブ」とはどのような図形ですか?
たとえばこのような感じですか?
sincircle_test.png
円に沿ったsinカーブ?
sincircle_test.png (11.69 KiB) 閲覧数: 3255 回
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

anz

Re: 円に沿ったsinカーブ

#7

投稿記事 by anz » 10年前

初級者さん>>学校の例題で書いてたのでコピペしてました…もう一度考えてみます!

みけCATさん>>まさにそれです!!!
       ありがとうございますー

anz

Re: 円に沿ったsinカーブ

#8

投稿記事 by anz » 10年前

解決しわすれてました…
教えてくださった方々ありがとうございました!

閉鎖

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