コンテンツにスキップ

ノート:混成軌道/PovRaySrc

ページのコンテンツが他言語でサポートされていません。

このスクリプトをテキストファイルにコピーペーストして(編集画面でpreタグ内からコピーペーストすると確実です).povという拡張子を付けて保存し、POV-Ray(ver 3.6以降)でレンダリングすれば利用できます。

シーンファイル初版の製作者Y tambeは、このスクリプトに対して、将来にわたって著作人格権を行使しないことを宣言しますが、ウィキペディアでの公開に伴い、公開されたバージョンのスクリプトおよびシーンファイルの配布等はGFDL下での利用許諾に基づくものとなります。また、このスクリプトやそれを改変したものから各利用者が生成した結果(画像、動画など)についての権利は、他のスクリプトと同様、生成した各利用者に帰属するものとします。

すなわち、このスクリプトやそれを改変したものを利用して自分で生成した画像や動画は、それを生成した人自身が自由に扱えますが、改変したスクリプトそのものの公開、あるいはシーンファイル(.povファイル)を配布する場合はGFDLに従って下さい。なお、このページ自体のスクリプトを改変し書き換えて行く場合は、履歴が残りますので(当然ながら)GFDLに準拠します。

シーンファイルのソース

[編集]
//Atomic orbital


#declare Z= 1;

#declare f_wave_1s=//1s orbital: n=1
	function { 
		2*pow(Z, 3/2)*exp( -(2*Z* sqrt( x*x+y*y+z*z ) / 1)/2 ) 
			* pow(1/4/pi, 1/2) 
	};


#declare f_wave_2s=//2s orbital: n=2
	function { 
		(1/2/sqrt(2))*(2 - (2*Z* sqrt( x*x+y*y+z*z ) / 2))*pow(Z, 3/2)*exp( -(2*Z* sqrt( x*x+y*y+z*z ) / 2)/2 ) 
			* pow(1/4/pi, 1/2) 
	};
	
#declare f_wave_2px=//2px orbital: n=2
	function { 
		(1/2/sqrt(6)) * (2*Z* sqrt( x*x+y*y+z*z ) / 2) * pow(Z,3/2) *exp( -(2*Z* sqrt( x*x+y*y+z*z ) / 2)/2 ) 
		* sqrt(3)*x/ sqrt( x*x+y*y+z*z ) * pow(1/4/pi, 1/2) 
	};
	
#declare f_wave_2py=//2py orbital: n=2
	function { 
		(1/2/sqrt(6)) * (2*Z* sqrt( x*x+y*y+z*z ) / 2) * pow(Z,3/2) *exp( -(2*Z* sqrt( x*x+y*y+z*z ) / 2)/2 ) 
		* sqrt(3)*y/ sqrt( x*x+y*y+z*z ) * pow(1/4/pi, 1/2) 
	};
#declare f_wave_2pz=//2pz orbital: n=2
	function { 
		(1/2/sqrt(6)) * (2*Z* sqrt( x*x+y*y+z*z ) / 2) * pow(Z,3/2) *exp( -(2*Z* sqrt( x*x+y*y+z*z ) / 2)/2 ) 
		* sqrt(3)*z/ sqrt( x*x+y*y+z*z ) * pow(1/4/pi, 1/2) 
	};

camera {
	orthographic 
	location <0.0, 0.0, 50.0>
	look_at <0.0, 0.0, 0.0>
	rotate -10*y
	rotate -10*x
	//rotate 360*clock*y
}

light_source {
	<0, 0, 1000>
	rgb <1, 1, 1>
	shadowless
	//rotate 360*clock*y
}

plane{-z, 1000//background plane
  texture { pigment{color rgb 1} finish{ambient 1} }
//rotate 360*clock*y
}


#declare iso_threshold = 0.0001;

isosurface{
//function{  - pow ( f_wave_1s(x,y,z), 2) }//1s

//function{ - pow ( f_wave_2s(x,y,z), 2) }//2s
//function{ - pow ( f_wave_2px(x,y,z), 2) }//2px
//function{ - pow ( f_wave_2py(x,y,z), 2) }//2py
//function{ - pow ( f_wave_2pz(x,y,z), 2) }//2pz

//function{ - pow ( sqrt(1/2)*( f_wave_2s(x,y,z) + f_wave_2px(x,y,z) ), 2) }//sp-psi1 (x)
//function{ - pow ( sqrt(1/2)*( f_wave_2s(x,y,z) - f_wave_2px(x,y,z) ), 2) }//sp-psi2 (x)

//function{ - pow( sqrt(1/3)*f_wave_2s(x, y, z) + sqrt(2/3)*f_wave_2px(x,y,z) ,2) } //sp2-psi1 (xz)
//function{ - pow( sqrt(1/3)*f_wave_2s(x, y, z) - sqrt(1/6)*f_wave_2px(x,y,z) +sqrt(1/2)*f_wave_2pz(x,y,z) ,2) } //sp2-psi2 (xz)
  function{ - pow( sqrt(1/3)*f_wave_2s(x, y, z) + sqrt(1/6)*f_wave_2px(x,y,z) -sqrt(1/2)*f_wave_2pz(x,y,z) ,2) } //sp2-psi3 (xz)

//function{ - pow( (f_wave_2s(x, y, z) + f_wave_2px(x,y,z) +f_wave_2py(x,y,z) +f_wave_2px(x,y,z))/2 ,2) } //sp3-psi1
//function{ - pow( (f_wave_2s(x, y, z) + f_wave_2px(x,y,z) -f_wave_2py(x,y,z) -f_wave_2px(x,y,z))/2 ,2) } //sp3-psi2
//function{ - pow( (f_wave_2s(x, y, z) - f_wave_2px(x,y,z) +f_wave_2py(x,y,z) -f_wave_2px(x,y,z))/2 ,2) } //sp3-psi3
//function{ - pow( (f_wave_2s(x, y, z) - f_wave_2px(x,y,z) -f_wave_2py(x,y,z) +f_wave_2px(x,y,z))/2 ,2) } //sp3-psi4

  contained_by { sphere{0, 10} }
  threshold -iso_threshold 
  max_gradient 1
  texture{
    pigment{color rgbt <0,0,1, 0.4>}
    finish{ ambient .3 diffuse .7}
  }
}

cylinder{ -100*x, 100*x, 0.25//x-axis
  texture { pigment{color green 0.3} finish{ambient 1} }
}

cylinder{ -100*y, 100*y, 0.25//y-axis
  texture { pigment{color rgb 0} finish{ambient 1} }
}

cylinder{ -100*z, 100*z, 0.25//z-axis
  texture { pigment{color red 0.5} finish{ambient 1} }
}