笔记九(勾股定理应用)
来源:互联网 发布:python 卷积 编辑:程序博客网 时间:2024/06/10 23:59
这里根据鼠标位置实时画出直角三角形,并在一个文本框实时显示斜边长。文件名:distance.html。
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>勾股定理应用</title><style type="text/css"> #canvas{background-color: #99cc33;}</style></head><body><canvas id="canvas" width="400" height="400"></canvas><textarea id="log"></textarea><script type="text/javascript" src="utils.js"></script><script type="text/javascript"> window.onload = function(){ var canvas = document.getElementById("canvas"), context = canvas.getContext("2d"), mouse = utils.captureMouse(canvas), log = document.getElementById("log"), rect = { x:canvas.width/2, y:canvas.height/2 }; if (!window.requestAnimationFrame) { window.requestAnimationFrame = (window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(callback){ return window.setTimeout(callback,1000/60); }) }; (function drawFrame(){ window.requestAnimationFrame(drawFrame,canvas); context.clearRect(0,0,canvas.width,canvas.height); var dx = rect.x - mouse.x, dy = rect.y - mouse.y, dist = Math.sqrt(dx * dx + dy * dy); context.fillStyle = "#f00"; context.fillRect(rect.x - 2, rect.y - 2, 4, 4); context.beginPath(); context.moveTo(rect.x,rect.y); context.lineTo(mouse.x,rect.y); context.lineTo(mouse.x,mouse.y); context.lineTo(rect.x,rect.y); context.closePath(); context.stroke(); log.value = "斜边长为:" + dist; }()); }</script></body></html>
效果图:
参见《HTML5+Javascript动画基础》。
0 0
- 笔记九(勾股定理应用)
- 《WEB应用测试》笔记(九)
- (笔记)电路设计(九)之三极管的应用
- iOS应用开发视频教程笔记(九)Table Views
- 【Shell】【学习笔记】Linux Shell脚本应用(九)
- 算法学习笔记(九)有限状态机 FSM 的应用
- 勾股定理问题(暴力)
- 勾股定理
- 勾股定理
- 勾股定理
- 勾股定理
- 勾股定理
- 勾股定理
- 勾股定理
- 勾股定理
- 勾股定理
- 勾股定理
- 勾股定理
- Git pull 强制覆盖本地文件
- iOS 拨打电话的方法总结
- 排列的字典序问题
- coderforce 598B Queries on a String
- 对话框自适应大小ReSize
- 笔记九(勾股定理应用)
- gradle使用
- java 中的包装类
- 划分数
- 八数码的八重境界
- 20151116 密码文件
- CSS定位的兼容性问题
- [TwistedFate]UIActionSheet
- [Err] 1222 - The used SELECT statements have a different number of columns