已知3个坐标点xy画圆弧_尺规作图之过一点作已知直线的垂线

点击蓝色字5c544bd0a86aa425a368482eb6e0e636.png免费订阅,每天收到这样的好信息最近有学生提到这个问题,也做个动态的课件存着先。先看看效果图:

4c88f82021908cb1baa1dcc92b5aeab7.gif

具体过程

1、画一条线段(整条直线太长不好看)和一个自由点

A=(-6.99177, -1.65019)

B=A + (10, 0)

AB=线段(A, B)

C=(-3.31199, 0.31322)

其中点A和点C都是自由点,可以用点工具随意的点出。

线段AB长度为10,为了方便起见,AB是水平方向的。

蓝色的点表示可以移动,黑色的点不可移动,这个也是个人习惯。

89645ad77d7b8feef8636231d97667cd.png2、画一条圆弧与已知直线相交 a=滑动条(0,8,0.01) t=滑动条(0,4,0.01) c=圆周(C, a) D=交点(c, AB, 1) E=交点(c, AB, 2) E'=旋转(E, π / 8, C) D'=旋转(D, -π / 8, C) α=角度(D, C, E) F=如果(t ≤ 1, 旋转(E', -t (α + π / 4), C)) d=圆弧(C, F, E') e=圆弧(C, D', E')滑动条 a 控制圆弧的半径大小,演示的时候可通过滑动条来加深印象。因为点C是可以随意移动的,所以写极坐标的话,角度不太好确定,所以画了个圆,通过圆C和已知直线的交点(D和E)来确定我们所需的圆弧的起点和终点(如此可以保证我们的圆弧会和已知直线有交点)。这次圆弧的起点有了刚才的交点后亦没有用极坐标写,用了旋转指令,原因同上。为了确定我们的动点的位置,描出角度∠DCE,用这个角度加上两边“凸出的pi/8”来刻画动点的位置。最后就是我们常做的两段弧,一段是 t<=1的,一段是 t>=1的。画好这些之后,就该圆规出场了, 拖动圆规图片到ggb,角点1设为C,角点2设为F,显示条件为:t>0。刚开始是不需要这个图片的,这个算是特殊情况,之后基本都是不用设置显示条件的。圆弧 e 的显示条件设为:t>=1。

eb743036f2b103c6d8463c9c88ed3b51.gif

3、分别以点D和E为圆心,超过DE长度的一半的大小为半径画弧 b=滑动条(0,距离(D,E),0.01) G=D + (b; -2π / 9) H=D + (b; -4π / 9) I=如果(1 ≤ t ≤ 2, 旋转(G, -(t - 1) * 2π / 9, D)) f=圆弧(D, I, G) g=圆弧(D, H, G) J=E + (b; π + 2π / 9) K=E + (b; π + 4π / 9) L=如果(2 ≤ t ≤ 3, 旋转(J, (t - 2) * 2π / 9, E)) h=圆弧(E, J, L) k=圆弧(E, J, K)这次圆弧的半径的大小之滑动条的最大值写成了: 距离(D,E),这是因为随着点C和直线的变化这个数值也需要改变一下,不然会不太好拖动(在边缘)。其实笔者和学生讲的时候基本都是不用改变圆弧的半径,直接沿用上一步的半径大小,若是太小或太大了再改一改。点G、H、J、K都是极坐标,其坐标么可以随意改动,可以调整圆弧的长短,看个人喜好了。其中圆弧 g 的显示条件设为:t>=2。圆弧 k 的显示条件设为:t>=3。最后么也是圆规的图片, 拖动圆规图片到ggb,角点1设为D,角点2设为I; 拖动圆规图片到ggb,角点1设为E,角点2设为L。

77439913fe45b7763b6364adf643c4f4.gif

4、连线 M=交点(k, g) N=C + (0, 1.5) O=M + (0, -1.5) P=如果(t ≥ 3, 平移(N, (t - 3) (O - N))) PN=线段(P, N) β=角度(AB, PN)点N和点O看起来是多余的,其实只是因为我们画线段一般来说都是要超出一点的。对于点P,O - N代表向量NO,这个是向量的坐标运算。最后画出角度,角度一般都是用的三个点,顶点放中间。而在这里笔者用的是两线段的夹角,这个角度同样是要遵循逆时针法则的,即从AB开始到PN逆时针转。线段也是有方向性问题的(在ggb中默认的),AB=线段(A,B)即是从A指向B,PN=线段(P,N)即从P指向N。若是你的PN=线段(N,P),则角度画出来会是270°角(从 x 正方向到 y 负方向)。在这里,AB和PN的位置也不能对调,对调了也是270°角。当然了,你也可以在属性里设置角度范围为0°~180°,省时省力。角度的显示条件为:t==4。最后的最后,就是直尺和铅笔了。 拖动直尺图片到ggb,角点1设为:N + (-1.9, 0.5),角点2设为:O + (-1.9, -0.5),显示条件为:3 拖动铅笔图片到ggb,角点1设为:P,角点2设为:P+(4,0),显示条件为:t<4。

c95204e1b6acf0643e3cb11fb326894b.gif

5、最后优化 ①除了点A、B、C外,所有的点都可以隐藏掉。设了显示条件的需要将显示条件去掉再隐藏。隐藏点A、B、C的标签。 ②滑动条 t 的重复属性改为“递增(一次)” ③新建按钮,标题为动画,脚本写: 启动动画(t) 如果(t==4,赋值(t,0)) 这样设置的话,平时 t=4 ,点一下按钮 t 就会从0到4匀速增加。 暂停的话个人觉得没啥意思,想要停下来,可以直接点击滑动条。④拖动点C发现:当点E或点D出了线段AB外画的东西的都消失了,所以修改几条指令如下: D=交点(c, 直线(A, B), 1) E=交点(c, 直线(A, B), 2) i=如果(x(E) > x(B), 线段(B, E + (2, 0))) j=如果(x(D) < x(A), 线段(A, D + (-2, 0)))其中点D和点E的修改可以直接将指令在指令栏输入然后回车。 x(E) > x(B),这个条件的意思是点E的横坐标大于点B的横坐标。 x(D) < x(A), 这个条件的意思是点D的横坐标小于点A的横坐标A。 将 i 和 j 的线型改为虚线,代表辅助线。⑤隐藏点A、B、C的标签。

541bbc37daa6b210d89f68710ebe4e21.png

若是感觉这个做的还可以的,还请动动手指点个“在看”,谢谢。

若是需要源文件的,还请点一下“喜欢作者”,可选择任意金额,支付完成将会自动收到链接。

往期推荐

尺规作图之角平分线

尺规作图之中垂线

尺规作图之画一个角等于已知角

三角形全等判断条件之边边边

三角形两边之和大于第三边

三角形内角和的动态演示

喜欢本文点个在看

e1f13902ede92e70c0b368284dc56716.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用HTML5的canvas元素来创建一个布,并使用JavaScript来编写动。下面是一个简单的示例代码,演示了如何在布上绘制尺规角的动: ```html <!DOCTYPE html> <html> <head> <style> #canvas { border: 1px solid black; } </style> </head> <body> <canvas id="canvas" width="400" height="400"></canvas> <script> // 获取布元素 var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); // 设置动帧率 var FPS = 60; // 设置动参数 var angle = 0; var radius = 100; // 动循环 function animate() { // 清除布 ctx.clearRect(0, 0, canvas.width, canvas.height); // 计算角度对应的坐标 var x = canvas.width / 2 + radius * Math.cos(angle); var y = canvas.height / 2 + radius * Math.sin(angle); // 绘制圆 ctx.beginPath(); ctx.arc(x, y, 5, 0, Math.PI * 2); ctx.fillStyle = "red"; ctx.fill(); ctx.closePath(); // 绘制尺规角 ctx.beginPath(); ctx.moveTo(canvas.width / 2, canvas.height / 2); ctx.lineTo(x, y); ctx.strokeStyle = "blue"; ctx.lineWidth = 2; ctx.stroke(); ctx.closePath(); // 更新角度 angle += Math.PI / 180; // 循环调用动函数 setTimeout(function() { requestAnimationFrame(animate); }, 1000 / FPS); } // 启动动 animate(); </script> </body> </html> ``` 在这个示例中,我们使用`<canvas>`元素创建了一个400x400像素大小的布,并通过JavaScript获取到了布的上下文对象`ctx`。然后,我们在动循环中根据角度计算圆坐标,并使用`ctx`对象来绘制圆尺规角。 请注意,这只是一个简单的示例,你可以自行修改代码样式和动效果来满足你的需求。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值