<?php
header('Content-Type: text/html; charset=utf-8');
define ('ROOT', $_SERVER['DOCUMENT_ROOT']);
include ROOT.'/assets/php/head.php';
$tit= '求最短距离和ABDE四角已知两点坐标';
//已知x1:100,y1:80,x2:140,y2:110
$val='100 80 140 110';
$img='';
//调用方法
mill($val,$img,$tit);
/**
* mill 是磨粉机的方法
* $val 传值过来计算,以空格分割成数值
* $img 自定义图片名,默认以文件名为图片名
* $tit 标题名
* */
function mill($val,$img,$tit){
//初始化
include ROOT.'/assets/php/init.php';
imgt($img,$tit);
//设置小数点保留位数
bcscale (2);
//$pi = round(pi(),2);
//以空格分割成数值
$vals = expl($val);
$x1 = evev($vals[0]);
$y1 = evev($vals[1]);
$x2 = evev($vals[2]);
$y2 = evev($vals[3]);
//已知条件
$know = array();
array_push($know, $val);
$v0 = eveq($vals[0]);
array_push($know, "x1:$v0");
$v1 = eveq($vals[1]);
array_push($know, "y1:$v1");
$v2 = eveq($vals[2]);
array_push($know, "x2:$v2");
$v3 = eveq($vals[3]);
array_push($know, "y2:$v3");
//计算步骤
$step = array();
array_push($step, "两点间距离公式:");
array_push($step, "{$math['eq']} {$math['root2l']}{$math['abs']}$x1{$math['sub']}$x2{$math['abs']}{$math['sup2']}{$math['add']}{$math['abs']}$y1{$math['sub']}$y2{$math['abs']}{$math['sup2']}{$math['root2r']}");
$x1x2 = bcsub($x1, $x2);
$y1y2 = bcsub($y1, $y2);
array_push($step, "{$math['eq']} {$math['root2l']}{$math['abs']}$x1x2{$math['abs']}{$math['sup2']}{$math['add']}{$math['abs']}$y1y2{$math['abs']}{$math['sup2']}{$math['root2r']}");
$x1x2abs = abs($x1x2);
$y1y2abs = abs($y1y2);
array_push($step, "{$math['eq']} {$math['root2l']}$x1x2abs{$math['sup2']}{$math['add']}$y1y2abs{$math['sup2']}{$math['root2r']}");
$x1x2abs2 = bcpow($x1x2abs, 2);
$y1y2abs2 = bcpow($y1y2abs, 2);
array_push($step, "{$math['eq']} {$math['root2l']}$x1x2abs2{$math['add']}$y1y2abs2{$math['root2r']}");
$x1x2abs2y1y2abs2 = bcadd($x1x2abs2, $y1y2abs2);
array_push($step, "{$math['eq']} {$math['root2']}$x1x2abs2y1y2abs2");
$AB = bcsqrt($x1x2abs2y1y2abs2);
array_push($step, "{$math['eq']} $AB");
$b = $x1x2abs;
$a = $y1y2abs;
$c = $AB;
array_push($step, "求直角三角形的{$math['ang']}A:");
array_push($step, "{$math['eq']} arctan{$math['lpar']}$a{$math['div']}$b{$math['rpar']}");
$ab = $a/$b;
array_push($step, "{$math['eq']} arctan{$math['lpar']}$ab{$math['rpar']}");
$atanab = atan($ab);
array_push($step, "{$math['eq']} 弧度值:{$atanab}");
$ao = rad2deg($atanab);
array_push($step, "{$math['eq']} 角度值:{$ao}{$math['o']}");
array_push($step, "求直角三角形的{$math['ang']}B:");
array_push($step, "{$math['eq']} arctan{$math['lpar']}$b{$math['div']}$a{$math['rpar']}");
$ba = $b/$a;
array_push($step, "{$math['eq']} arctan{$math['lpar']}$ba{$math['rpar']}");
$atanba = atan($ba);
array_push($step, "{$math['eq']} 弧度值:{$atanba}");
$bo = rad2deg($atanba);
array_push($step, "{$math['eq']} 角度值:{$bo}{$math['o']}");
array_push($step, "求直角三角形的{$math['ang']}D:");
array_push($step, "{$math['eq']} 90{$math['o']}{$math['sub']}{$ao}{$math['o']}");
$do = 90-$ao;
array_push($step, "{$math['eq']} {$do}{$math['o']}");
array_push($step, "求直角三角形的{$math['ang']}E:");
array_push($step, "{$math['eq']} 90{$math['o']}{$math['sub']}{$bo}{$math['o']}");
$eo = 90-$bo;
array_push($step, "{$math['eq']} {$eo}{$math['o']}");
//算出结果
$ends = array();
array_push($ends, "最短距离:$AB");
array_push($ends, "直角三角形的a边:{$a}");
array_push($ends, "直角三角形的b边:{$b}");
array_push($ends, "直角三角形的c边:{$c}");
$aoo = round($ao,1);
$boo = round($bo,1);
$coo = round($co,1);
$doo = round($do,1);
$eoo = round($eo,1);
array_push($ends, "直角三角形的{$math['ang']}A:{$aoo}{$math['o']}");
array_push($ends, "直角三角形的{$math['ang']}B:{$boo}{$math['o']}");
array_push($ends, "直角三角形的{$math['ang']}C:90{$math['o']}");
array_push($ends, "直角三角形的{$math['ang']}D:{$doo}{$math['o']}");
array_push($ends, "直角三角形的{$math['ang']}E:{$eoo}{$math['o']}");
//公式表示
$home = array();
array_push($home, "两点间距离公式:AB{$math['eq']}{$math['root2l']}{$math['abs']}x1{$math['sub']}x2{$math['abs']}{$math['sup2']}{$math['add']}{$math['abs']}y1{$math['sub']}y2{$math['abs']}{$math['sup2']}{$math['root2r']}");
array_push($home, "直角三角形的{$math['ang']}A:{$math['ang']}A{$math['eq']}arctan{$math['lpar']}a{$math['div']}b{$math['rpar']}");
array_push($home, "直角三角形的{$math['ang']}B:{$math['ang']}B{$math['eq']}arctan{$math['lpar']}b{$math['div']}a{$math['rpar']}");
array_push($home, "直角三角形的{$math['ang']}D:90{$math['o']}{$math['sub']}{$math['ang']}A");
array_push($home, "直角三角形的{$math['ang']}E:90{$math['o']}{$math['sub']}{$math['ang']}B");
//公式说明
$info = array();
array_push($info, "两点间距离公式: 最短距离 {$math['eq']} 平方根 {$math['lpar']} {$math['abs']}X1{$math['sub']}X2{$math['abs']}的平方 {$math['add']}{$math['abs']}Y1{$math['sub']}Y2{$math['abs']}的平方 {$math['rpar']}。");
array_push($info, "其中{$math['ang']}D是坐标的方位角。");
know($know);
ends($ends);
home($home);
step($step);
info($info);
}
?>
<?php include ROOT.'/assets/php/foot.php'; ?>
结果:
☁参考上图[2022-12-04]
☀求最短距离和ABDE四角已知两点坐标
100 80 140 110
x1:100
y1:80
x2:140
y2:110
♠算出结果
最短距离:50.00
直角三角形的a边:30
直角三角形的b边:40
直角三角形的c边:50.00
直角三角形的∠A:36.9°
直角三角形的∠B:53.1°
直角三角形的∠C:90°
直角三角形的∠D:53.1°
直角三角形的∠E:36.9°
♦公式表示
两点间距离公式:AB=√₍|x1−x2|²+|y1−y2|²₎
直角三角形的∠A:∠A=arctan(a÷b)
直角三角形的∠B:∠B=arctan(b÷a)
直角三角形的∠D:90°−∠A
直角三角形的∠E:90°−∠B
♣计算步骤
两点间距离公式:
= √₍|100−140|²+|80−110|²₎
= √₍|-40.00|²+|-30.00|²₎
= √₍40²+30²₎
= √₍1600.00+900.00₎
= √2500.00
= 50.00
求直角三角形的∠A:
= arctan(30÷40)
= arctan(0.75)
= 弧度值:0.64350110879328
= 角度值:36.869897645844°
求直角三角形的∠B:
= arctan(40÷30)
= arctan(1.3333333333333)
= 弧度值:0.92729521800161
= 角度值:53.130102354156°
求直角三角形的∠D:
= 90°−36.869897645844°
= 53.130102354156°
求直角三角形的∠E:
= 90°−53.130102354156°
= 36.869897645844°
♥解释说明
两点间距离公式: 最短距离 = 平方根 ( |X1−X2|的平方 +|Y1−Y2|的平方 )。
其中∠D是坐标的方位角。
标签:直角三角形,110002,30,40,arctan,ABDE,短距离,90
From: https://www.cnblogs.com/onestopweb/p/16950910.html