高校3年の数学に出てくる、体積の問題を視覚的に表現するプログラムを作りました。
(課題ではありません、好きでやってます。)
その問題とは、関数 f(x)= sin(x) を、x軸に対して回転したときにできる図形の体積を求めよ。
のような問題です。
添付画像のように、この段階までは成功できました。
これは、半径1、長さ1の円柱を描画時に好きな倍率に拡大し何度も描画することで近い形を再現しています。
ここまではいいのですが、
今度は f(x) = x*x と g(x) = sqrt(x) の間をx軸に対して回転してできた図形の体積の面積を求める問題です。
(分かりにくかったら画像をみてください。)
ただの計算なら、外側体積から内側の体積を引くだけです。
でも、描画をどうしよう・・・と悩むことになりました。
ふと思いついた方法は、
[ぜんぜん駄目だった方なので略]
だ、だめだ・・・。
なんとか、この複雑な図形を3D表示するいい方法はないでしょうか?
(添付画像を修正しました。)
追記
環境
DXライブラリ
VisualC++ 2008 Express
現在の仕様でUIより入力できる情報
・xの関数1
・xの関数2
・xの範囲(xの最小値と最大値)
・近時体積を求めるときのx範囲の分割数
解答はコードでなくても、アイディアでも結構です。
