完全符合能量守恒,胡克定理的JavaScript弹簧振子(超简洁版,超越第一版!)

本文主要是介绍完全符合能量守恒,胡克定理的JavaScript弹簧振子(超简洁版,超越第一版!),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

X轴增量
原始振幅倍数
振幅倍数衰减数
运行时间间隔(毫秒)
停止后请从新激活
运行后请重新激活!
设置完后点我!

上一版用的是物理思想,这次用的是数学思想,如果您下载过第一版的代码就能明显感到数学的强大!!!!!QQ群:50352735
这里是弹簧的JS代码:

ContractedBlock.gif ExpandedBlockStart.gif Code
<script type="text/javascript">
/////this  spring begin/
var X=0.1//X轴增量
var T=0;//X轴初位置
var M=200//原始振幅倍数
var A=0.7;//振幅倍数衰减数
var D='R';//运动方向
var O=0;//元素
var L=0;//位置
var TI=30;
var S=false;
var HR=false;

  
function R(){
      HR
=true;
      
if(S)
      {
          
return;
      }
  O.style.left
= L+(Math.sin(T))*M+"px";//获取弹簧运动速度
  T=T+X;//X轴增长
  M-=A;//单位时间衰减
  if(M<=0)//振幅为零
      {
          S
=true;
          
return;//退出
      }
  setTimeout(
"R()",TI);//回调
  }
///this spring over///
function I()
{
        
if(HR){
                            
return;
                        }
          S
=false;
          O
=document.getElementById("div");
          X
=parseFloat(document.getElementById("X").value);
          M
=parseFloat(document.getElementById("M").value);
          A
=parseFloat(document.getElementById("A").value);
          TI
=parseFloat(document.getElementById("TI").value);
          L
=document.getElementById("div").offsetLeft;
          R();
}
function TS()
{
S
=true;
}
function B()
{
    
if(S)
    {
    T
=0
    HR
=false;
    S
=false;
      X
=parseFloat(document.getElementById("X").value);
      M
=parseFloat(document.getElementById("M").value);
       A
=parseFloat(document.getElementById("A").value);
    document.getElementById(
"div").style.left=L+"px";
    }
}

</script>
这里是该网页中的HTML(没啥用,为了演示)
ContractedBlock.gif ExpandedBlockStart.gif HTMLCode
<div id="P" style="width:500px;height:400px;">
<input style="width:50px"  type="text" id="X"  value="0.1" />X轴增量<br/><input style="width:50px"  type="text" id="M"  value="200" />原始振幅倍数<br/>
<input style="width:50px"  type="text" id="A"  value="0.7" />振幅倍数衰减数<br/>
<input style="width:50px"  type="text" id="TI"  value="30" />运行时间间隔(毫秒)<br/>
<input style="width:80px" type="button" onclick="TS()"   value="停止"/>停止后请从新激活<br/><input style="width:80px" type="button" onclick="B()"   value="从新激活"/>
</div><div style=" position:absolute;"><div id="div"  onclick="I()" value="设置完后点我!" style="position:absolute; top:-264px; left:211px; width:50px; height:50px; background-color:#FF0;"></div></div>
这比上次的代码大有长进!100%原创!所以:转载请说明出处:
http://www.cnblogs.com/NONE/archive/2009/10/25/JavaScriptTrueBornSpring.html

转载于:https://www.cnblogs.com/NONE/archive/2009/10/25/JavaScriptTrueBornSpring.html

这篇关于完全符合能量守恒,胡克定理的JavaScript弹簧振子(超简洁版,超越第一版!)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/259298

相关文章

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

Java Spring ApplicationEvent 代码示例解析

《JavaSpringApplicationEvent代码示例解析》本文解析了Spring事件机制,涵盖核心概念(发布-订阅/观察者模式)、代码实现(事件定义、发布、监听)及高级应用(异步处理、... 目录一、Spring 事件机制核心概念1. 事件驱动架构模型2. 核心组件二、代码示例解析1. 事件定义

SpringMVC高效获取JavaBean对象指南

《SpringMVC高效获取JavaBean对象指南》SpringMVC通过数据绑定自动将请求参数映射到JavaBean,支持表单、URL及JSON数据,需用@ModelAttribute、@Requ... 目录Spring MVC 获取 JavaBean 对象指南核心机制:数据绑定实现步骤1. 定义 Ja

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

spring中的ImportSelector接口示例详解

《spring中的ImportSelector接口示例详解》Spring的ImportSelector接口用于动态选择配置类,实现条件化和模块化配置,关键方法selectImports根据注解信息返回... 目录一、核心作用二、关键方法三、扩展功能四、使用示例五、工作原理六、应用场景七、自定义实现Impor

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项