FC2ブログ
*admin*entry*file*plugin| 文字サイズ  

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。



ポケコンを入手したので早速以前入れていた計算式を
再度入力しようとしたのですが、早くも問題が。
前のポケコンはBASICだけでしたが折角なのでCで書こう
としたわけですが。どうもおかしい様子。

とりあえず公式


3点から円の中心を求めるだけの至ってシンプルなもの
のはずなのですが、が、計算結果が違うんだけど?
調べてみるとどうもメモリが関係しているとかなんとか、
(変数はメモリに蓄積されるため?)
試しにPCでもちょちょっと組んでみました。



#include //標準入出力

int main(void){
printf("3点から円の中心を求めるよ\n");
float X1,Y1,X2,Y2,X3,Y3,G,X,Y;//変数宣言

printf("X1=");std::cin >> X1;//入力待ち
printf("Y1=");std::cin >> Y1;
printf("X2=");std::cin >> X2;
printf("Y2=");std::cin >> Y2;
printf("X3=");std::cin >> X3;
printf("Y3=");std::cin >> Y3;

G=Y2*X1-Y1*X2+Y3*X2-Y2*X3+Y1*X3-Y3*X1;

X=((X1*X1+Y1*Y1)*(Y2-Y3)+(X2*X2+Y2*Y2)*(Y3-Y1)+(X3*X3+Y3*Y3)*(Y1-Y2))/(2*G);
Y=((X1*X1+Y1*Y1)*(X2-X3)+(X2*X2+Y2*Y2)*(X3-X1)+(X3*X3+Y3*Y3)*(X1-X2))/(2*G);

printf("X=%f\nY=%f\n",X,Y);

std::cin >> X1;//入力待ち

return 0;
}


なんかタブがおかしくなっちょる、まぁいっか。

実行してみる


特に何か組むわけではないので、Win32コンソールアプリケーション
の空のプロジェクトを作って上記のソース書いただけです。
うむ、間違ってないね、ちゃんと数字はあってる。
floatでもちゃんと数字出てるし、ぐぬぬ。

コンソールアプリケーションって何もしなかったら勝手に
終了しちゃうみたいなので、最後に入力待ち入れてます。
できれば、Enter押したら終了にしたかったのだけれど
今の状態だと何か入力しないと終了できない仕様。
(別にどうでもいいからそのまま放置)

こうなるとBASICで組むしか無いのか、使えねぇ~
(こっちは普通に計算結果出るんだよね・・・)
まぁ、そこまで精度いらないから小数第3位ぐらいまで
あれば十分なんだけど。変数変えて再計算してみると、

floatの場合
20.66309013→20.630000
29.44849785→29.440000

doubleの場合
20.66309013→20.662494
29.44849785→29.448700

long doubleの場合
20.66309013→20.662492
29.44849785→29.446646

って、小数第3位も出てないし。ダメじゃん。
組み方が間違っているのか仕様なのか、よく判んないや。
思った以上にこいつに載ってるCは計算用途には使えないのかな?
なんかゲーム作ってるのをちらっと見かけたことあような、
でもそういった用途に使う予定はないのだけれど。

あと、2つの円から交点を求めるものも欲しいところ。
調べてみると余弦定理がどうのこうのってのがあったので
書いてみたんですが、どうも入力の円弧を逆にすると答えが
おかしくなる様子。前はそのまま円の式から方程式解いてた
けれど、面倒なので再度Google先生に聞いてみたところ

こんなのを発見→ここをクリック

座標変換でちょっと「ん?」ってなったけど、
無事2つの円から交点を弾き出すことができまいた。


って、こんな事で時間喰ってる場合じゃなかった。
絵の方は線画っぽいのができたので塗りに入ってます。
参考書を見ながらぺたぺた塗ってますが、どうなることやら。

線画っぽいもの


ぺたぺた塗ってみる


これまだ放送コードNGじゃないよね?
実は前回肌を全部塗っていなかったりしたので、今回は
肌も全部塗ります最後には隠れちゃいますけど。
で、いまは体のみを塗ってるところなのですが、
めっさ適当でどう塗っていいのか解らないorz
一応、キャラから見て右斜め上に照明があるイメージで描いてます。

なんとなく念頭に置いていること

・肌は基本はみ出して塗る
・下塗りしたあとは不透明度保護をする(重要?)
・光源は意識するべし
・レイヤーは気にせずどんどん増やす
・色変えは基本フィルターでする

そう言えばSAIが開発を再開したとかしてないとか。

ふと思ったのですが、線画と塗りどっちが重要なのか?
という疑問なんですが、等身大のキャラなら塗りが際立って
良さを醸し出してる感じですが、SDキャラのようなデフォルメ
されたものは逆?色は結構単調に塗ってある気がします・・・

だからといってどちらかをおろそかにしても良いという訳けでは
ないですが、実際描く上でどこに着目しているのかなぁと。
凝ろうと思えばいくらでもできるので、見境つけないとそれはそれで
問題になりそうですからねぇ。これも課題の一つ?

明日辺りから数日帰省しますが、新調したノートあるので
何かしてるかもしれないです、なにか。


この記事へコメントする















Mithril

Author:Mithril


趣味は主に雑学です。
どうでもいいこと書いてます。

Blenderやプログラムに
ついても書いたりするかも。
私のPC環境はこちら

メールはこちらから↓
mithrilp★yahoo.co.jp
(★を@に変えて下さい)

09 | 2018/10 | 11
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -

QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。