ホーム » Linux » 弦と矢と半径 – 10

2020年6月
 123456
78910111213
14151617181920
21222324252627
282930  

カテゴリー

アーカイブ

ブログ統計情報

  • 99,301 アクセス


弦と矢と半径 – 10

JavaScript 数値入力で更新.

	<body>

<pre>
c : <input  type='number'  id='in__c'  value='8'  style='width:100px;'  step='any' /> <span  id='out_c'> </span>  <br />
s : <input  type='number'  id='in__s'  value='2'  style='width:100px;'  step='any' /> <span  id='out_s'> </span>  <br />
r : <input  type='number'  id='in__r'  value='5'  style='width:100px;'  step='any' /> <span  id='out_r'> </span>  <br />
</pre>
		<img	src='r_cs.png'	width='300px'>

		<script>

			function	r_cs	(c , s)		{	return	(        ( c*c )  / ( 8*s )  +  s/2 ) ;		}
			function	s_rc	(r , c)		{	return	( r-Math.sqrt(r*r - (c/2)*(c/2) )   ) ;		}
			function	c_rs	(r , s)		{	return	(   Math.sqrt(r*r - (r-s)*(r-s) )*2 ) ;		}

			function	f_c_rs	() {
				var	oc = document.querySelector("#out_c") ;
				var	os = document.querySelector("#out_s") ;
				var	or = document.querySelector("#out_r") ;
				var	ic = document.querySelector("#in__c") ;
				var	is = document.querySelector("#in__s") ;
				var	ir = document.querySelector("#in__r") ;
				var	fc = parseFloat(ic.value) ;
				var	fs = parseFloat(is.value) ;
				var	fr = parseFloat(ir.value) ;
				oc.textContent = "" ;
				os.textContent = "" ;
				or.textContent = "" ;
				os.textContent = s_rc(fr,fc) ;
				or.textContent = r_cs(fc,fs) ;
				}
		//	...
			{
				var	ec = document.getElementById("in__c") ;
				var	es = document.getElementById("in__s") ;
				var	er = document.getElementById("in__r") ;
				ec.addEventListener("keyup",f_c_rs, false) ;
				es.addEventListener("keyup",f_s_rc, false) ;
				er.addEventListener("keyup",f_r_cs, false) ;
				}

			</script>

		</body>

弦と矢と半径 JavaScript 版
https://mish.myds.me/…/r_cs/a/

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

%d人のブロガーが「いいね」をつけました。