eve-nts Опубликовано 19 февраля, 2019 Поделиться Опубликовано 19 февраля, 2019 Там ещё 180 град нужно бы заменить на pi, тк в формуле площади углы вычисляется через радианы, то и 180 град по идее = pi радиан (3.14) Прогр: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Касперский. Расчёт площади серпа.</title> </head> <body> <?php echo "<font color=#228B22 face=Arial style='font-size:12px'><b>Касперский. Расчёт площади серпа.</font></b><br><br>"; $R2 = 2 + sqrt(2); echo "R2 = ".$R2."<br>"; $pi=pi(); //4al $rx=0.1;// шаг изменения r echo "<table>"; for ($r=0; $r<=$R2; $r+=$rx) { echo "<tr>"; echo "<td>"; echo "r=".$r; echo "</td><td>"; //x = (v (4*R22 - 4*R2*r - r2) + 2*R2 + r) / 4 $x = ( sqrt (4*$R2*$R2 - 4*$R2*$r - $r*$r) + 2*$R2 + $r) / 4; echo " x=".round($x,6)." "; echo "</td><td>"; //y = R2 + r/2 - (v (4*R22 - 4*R2*r - r2) + 2*R2 + r) / 4 $y = $R2 + $r/2 - ( sqrt(4*$R2*$R2 - 4*$R2*$r - $r*$r) + 2*$R2 + $r) / 4; echo " y=".round($y,6)." "; echo "</td><td>"; //al = v2*(x - y)/2 $al = sqrt(2)*($x - $y)/2; echo " al=".round($al,6)." "; echo "</td><td>"; //a1 = arcsin(al/R1) = arcsin( al/(R2 - r) ) $a1 = ( asin( $al/($R2 - $r) ) )*180/$pi; echo " a1=".round($a1,6)." "; echo "</td><td>"; //a2 = arcsin(al/R2) $a2 = ( asin($al/$R2) )*180/$pi; echo " a2=".round($a2,6)." "; echo "</td><td>"; //Площадь Серпа = //pi * (R2 - r)2 * arcsin( ?2 * (x - y) / (2 * (R2 - r)) ) / 180 - //pi * R22 * arcsin( v2 * (x - y) / (2 * R2) ) / 180 + //v2*(x - y) * (R2- r) $S1 = $pi * ($R2 - $r)*($R2 - $r) * asin( sqrt(2) * ($x - $y) / (2 * ($R2 - $r)) ) / $pi; $S2 = $pi * $R2*$R2 * asin( sqrt(2) * ($x - $y) / (2 * $R2) ) / $pi; $S3 = sqrt(2)*($x - $y) * ($R2 - $r); echo " S1=".round($S1,6)." "; echo " S2=".round($S2,6)." "; echo " S3=".round($S3,3)." "; $S= $S1 - $S2 + $S3; echo " S=".round($S,6)."<br>"; echo "</td>"; echo "/<tr>"; } echo "</table>"; ?> </body> </html> Рез: r=0 x=3.414214 y=0 al=2.414214 a1=45 a2=45 S1=9.155272 S2=9.155272 S3=16.485 S=16.485281 r=0.1 x=3.413842 y=0.050372 al=2.378333 a1=45.858003 a2=44.154656 S1=8.791308 S2=8.983286 S3=15.765 S=15.572626 r=0.2 x=3.412704 y=0.101509 al=2.341368 a1=46.755945 a2=43.296265 S1=8.430701 S2=8.808646 S3=15.051 S=14.67337 r=0.3 x=3.410763 y=0.15345 al=2.303268 a1=47.697243 a2=42.424002 S1=8.073604 S2=8.631184 S3=14.346 S=13.788159 r=0.4 x=3.407979 y=0.206234 al=2.263975 a1=48.68574 a2=41.536959 S1=7.720176 S2=8.450715 S3=13.648 S=12.917672 r=0.5 x=3.404306 y=0.259907 al=2.223426 a1=49.725776 a2=40.634134 S1=7.37058 S2=8.267034 S3=12.959 S=12.062623 r=0.6 x=3.399696 y=0.314518 al=2.181551 a1=50.822275 a2=39.714416 S1=7.024988 S2=8.079917 S3=12.279 S=11.223769 r=0.7 x=3.394093 y=0.370121 al=2.138271 a1=51.980851 a2=38.776568 S1=6.683574 S2=7.889112 S3=11.607 S=10.40191 r=0.8 x=3.387435 y=0.426779 al=2.0935 a1=53.207942 a2=37.819208 S1=6.346524 S2=7.694336 S3=10.946 S=9.5979 r=0.9 x=3.379653 y=0.48456 al=2.04714 a1=54.510968 a2=36.840778 S1=6.01403 S2=7.495274 S3=10.294 S=8.812649 r=1 x=3.37067 y=0.543544 al=1.99908 a1=55.898535 a2=35.839518 S1=5.686292 S2=7.291567 S3=9.652 S=8.047136 r=1.1 x=3.360396 y=0.603818 al=1.949195 a1=57.380698 a2=34.81342 S1=5.363522 S2=7.082807 S3=9.022 S=7.30242 r=1.2 x=3.348729 y=0.665485 al=1.89734 a1=58.969292 a2=33.760184 S1=5.045942 S2=6.868526 S3=8.402 S=6.579648 r=1.3 x=3.335552 y=0.728662 al=1.84335 a1=60.678359 a2=32.677148 S1=4.733789 S2=6.648182 S3=7.794 S=5.880078 r=1.4 x=3.320728 y=0.793485 al=1.78703 a1=62.524722 a2=31.561205 S1=4.427312 S2=6.421143 S3=7.199 S=5.205092 r=1.5 x=3.304096 y=0.860117 al=1.728154 a1=64.528744 a2=30.408695 S1=4.12678 S2=6.186664 S3=6.616 S=4.556229 r=1.6 x=3.285465 y=0.928749 al=1.66645 a1=66.71536 a2=29.215249 S1=3.832481 S2=5.943857 S3=6.047 S=3.935218 r=1.7 x=3.264603 y=0.999611 al=1.601592 a1=69.115521 a2=27.975587 S1=3.544727 S2=5.691647 S3=5.491 S=3.34402 r=1.8 x=3.241227 y=1.072986 al=1.533178 a1=71.768238 a2=26.683227 S1=3.263861 S2=5.428716 S3=4.95 S=2.784899 r=1.9 x=3.214985 y=1.149229 al=1.46071 a1=74.723572 a2=25.330059 S1=2.990262 S2=5.153413 S3=4.424 S=2.260504 r=2 x=3.185425 y=1.228788 al=1.383551 a1=78.047144 a2=23.905712 S1=2.724359 S2=4.863629 S3=3.913 S=1.774004 r=2.1 x=3.151958 y=1.312255 al=1.300866 a1=81.827206 a2=22.396561 S1=2.466647 S2=4.556591 S3=3.419 S=1.329288 r=2.2 x=3.113784 y=1.400429 al=1.211525 a1=86.186261 a2=20.784091 S1=2.217714 S2=4.228533 S3=2.942 S=0.93128 r=2.3 x=3.069772 y=1.494442 al=1.113926 a1=88.698647 a2=19.042015 S1=1.921902 S2=3.874107 S3=2.482 S=0.530098 r=2.4 x=3.018222 y=1.595991 al=1.005669 a1=82.55758 a2=17.130779 S1=1.482153 S2=3.485265 S3=2.04 S=0.036815 r=2.5 x=2.95637 y=1.707843 al=0.882842 a1=74.946725 a2=14.98573 S1=1.093265 S2=3.048854 S3=1.614 S=-0.341377 r=2.6 x=2.879098 y=1.835116 al=0.738207 a1=65.046472 a2=12.486866 S1=0.752624 S2=2.540459 S3=1.202 S=-0.585719 r=2.7 x=2.774528 y=1.989686 al=0.554967 a1=50.989703 a2=9.354717 S1=0.453958 S2=1.903222 S3=0.793 S=-0.656533 r=2.8 x=2.592212 y=2.222001 al=0.261779 a1=25.226744 a2=4.397368 S1=0.166103 S2=0.894647 S3=0.322 S=-0.406968 В промежуточные результаты вывел и площади трёх фигур из формулы площади серпа. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
E.K. Опубликовано 19 февраля, 2019 Автор Поделиться Опубликовано 19 февраля, 2019 Внимание!! У меня серьёзнейшая ошибка в подсчётах. Что-то я уже на этой "простой" задачке сам тупить начал... А вы меня на ошибках не ловите - и совершенно зря! Проблема в значке 'r' -> изначально r трактуется как {r,r} - центр малого круга. Потом же я начинаю оперировать с ним как с РАДИУСОМ малого круга.. Вот как не надо давать переменным несвойственные им названия... Ну, отступать уже некуда -> Упражнение 2. Вводим систему координат с центром в O. Уравнение большого круга получается.. вспоминаем среднюю школу -> x2 + y2 = R22 Уравнение малого круга будет: (x - r)2 + (y - r)2 = R12 где r = R2 - R1, то есть, центр малого круга находится в координатах {r,r}. Далее второе уравнение разворачивается и сумма икс-игрек-квадратов заменяется на эр-два-квадрат из первого уравнения. Затем уравнение площади секторов вроде бы подсчитаны правильно. Но при подсчёте площади треугольника я оперировал с r как с радиусом окружности.. Исходя из этого, выполняем упражнение ещё раз: Площадь треугольника OA'O1 равна длине ОO1 умноженной на A'L' и делёное пополам -> ОO1 есть отрезок от точки {0,0} до {r,r}, то бишь, это будет √2 * r A'L' уже считали, это √2 * (x-y) / 2 Итого, площадь двух треугольников равна: S3 = √2 * r * √2 * (x-y) / 2 = r * (x-y) = r * ( 2 * (√ (4*R22 - 4*R2*r - r2) + 2*R2 + r ) ) / 4 - R2 - r/2 Итого, S3 = r * (√ (4*R22 - 4*R2*r - r2) + 2*R2 + r ) ) / 2 - R2 - r/2 Ну, теперь-то надеюсь, что без ошибок... И вот здесь S3 и S должны получиться нулями. r=0 x=3.414214 y=0 al=2.414214 a1=45 a2=45 S1=9.155272 S2=9.155272 S3=16.485 S=16.485281 Уффф... 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
eve-nts Опубликовано 19 февраля, 2019 Поделиться Опубликовано 19 февраля, 2019 S3 = √2 * r * √2 * (x-y) / 2 = r * (x-y) = r * ( 2 * (√ (4*R22 - 4*R2*r - r2) + 2*R2 + r ) ) / 4 - R2 - r/2 Итого, S3 = r * ( (√ (4*R22 - 4*R2*r - r2) + 2*R2 + r ) ) / 2 - R2 - r/2 Здесь, по моему, скобка пропущена. Прогр: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Касперский. Расчёт площади серпа.</title> </head> <body> <?php echo "<font color=#228B22 face=Arial style='font-size:12px'><b>Касперский. Расчёт площади серпа.</font></b><br><br>"; $R2 = 2 + sqrt(2); echo "R2 = ".$R2."<br>"; $pi=pi(); //5 $rx=0.1;// шаг изменения r echo "<table>"; for ($r=0; $r<=$R2; $r+=$rx) { echo "<tr>"; echo "<td>"; echo "r=".$r; echo "</td><td>"; //x = (v (4*R22 - 4*R2*r - r2) + 2*R2 + r) / 4 $x = ( sqrt (4*$R2*$R2 - 4*$R2*$r - $r*$r) + 2*$R2 + $r) / 4; echo " x=".round($x,6)." "; echo "</td><td>"; //y = R2 + r/2 - (v (4*R22 - 4*R2*r - r2) + 2*R2 + r) / 4 $y = $R2 + $r/2 - ( sqrt(4*$R2*$R2 - 4*$R2*$r - $r*$r) + 2*$R2 + $r) / 4; echo " y=".round($y,6)." "; echo "</td><td>"; //al = v2*(x - y)/2 $al = sqrt(2)*($x - $y)/2; echo " al=".round($al,6)." "; echo "</td><td>"; //a1 = arcsin(al/R1) = arcsin( al/(R2 - r) ) $a1 = ( asin( $al/($R2 - $r) ) )*180/$pi; echo " a1=".round($a1,6)." "; echo "</td><td>"; //a2 = arcsin(al/R2) $a2 = ( asin($al/$R2) )*180/$pi; echo " a2=".round($a2,6)." "; echo "</td><td>"; $S1 = $pi * ($R2 - $r)*($R2 - $r) * asin( sqrt(2) * ($x - $y) / (2 * ($R2 - $r)) ) / $pi; $S2 = $pi * $R2*$R2 * asin( sqrt(2) * ($x - $y) / (2 * $R2) ) / $pi; //S3 = r * ((v (4*R22 - 4*R2*r - r2) + 2*R2 + r ) ) / 2 - R2 - r/2 $S3 = $r * ((sqrt (4*$R2*$R2 - 4*$R2*$r - $r2*$r2) + 2*$R2 + $r ) ) / 2 - $R2 - $r/2; echo " S1=".round($S1,6)." "; echo " S2=".round($S2,6)." "; echo " S3=".round($S3,3)." "; $S= $S1 - $S2 + $S3; echo " S=".round($S,6)."<br>"; echo "</td>"; echo "/<tr>"; } echo "</table>"; ?> </body> </html> Рез: r=0 x=3.414214 y=0 al=2.414214 a1=45 a2=45 S1=9.155272 S2=9.155272 S3=-3.414 S=-3.414214 r=0.1 x=3.413842 y=0.050372 al=2.378333 a1=45.858003 a2=44.154656 S1=8.791308 S2=8.983286 S3=-2.781 S=-2.973387 r=0.2 x=3.412704 y=0.101509 al=2.341368 a1=46.755945 a2=43.296265 S1=8.430701 S2=8.808646 S3=-2.149 S=-2.526776 r=0.3 x=3.410763 y=0.15345 al=2.303268 a1=47.697243 a2=42.424002 S1=8.073604 S2=8.631184 S3=-1.517 S=-2.0743 r=0.4 x=3.407979 y=0.206234 al=2.263975 a1=48.68574 a2=41.536959 S1=7.720176 S2=8.450715 S3=-0.885 S=-1.615873 r=0.5 x=3.404306 y=0.259907 al=2.223426 a1=49.725776 a2=40.634134 S1=7.37058 S2=8.267034 S3=-0.255 S=-1.1514 r=0.6 x=3.399696 y=0.314518 al=2.181551 a1=50.822275 a2=39.714416 S1=7.024988 S2=8.079917 S3=0.374 S=-0.680777 r=0.7 x=3.394093 y=0.370121 al=2.138271 a1=51.980851 a2=38.776568 S1=6.683574 S2=7.889112 S3=1.002 S=-0.20389 r=0.8 x=3.387435 y=0.426779 al=2.0935 a1=53.207942 a2=37.819208 S1=6.346524 S2=7.694336 S3=1.627 S=0.279389 r=0.9 x=3.379653 y=0.48456 al=2.04714 a1=54.510968 a2=36.840778 S1=6.01403 S2=7.495274 S3=2.25 S=0.769206 r=1 x=3.37067 y=0.543544 al=1.99908 a1=55.898535 a2=35.839518 S1=5.686292 S2=7.291567 S3=2.871 S=1.265725 r=1.1 x=3.360396 y=0.603818 al=1.949195 a1=57.380698 a2=34.81342 S1=5.363522 S2=7.082807 S3=3.488 S=1.769138 r=1.2 x=3.348729 y=0.665485 al=1.89734 a1=58.969292 a2=33.760184 S1=5.045942 S2=6.868526 S3=4.102 S=2.27967 r=1.3 x=3.335552 y=0.728662 al=1.84335 a1=60.678359 a2=32.677148 S1=4.733789 S2=6.648182 S3=4.712 S=2.797586 r=1.4 x=3.320728 y=0.793485 al=1.78703 a1=62.524722 a2=31.561205 S1=4.427312 S2=6.421143 S3=5.317 S=3.323208 r=1.5 x=3.304096 y=0.860117 al=1.728154 a1=64.528744 a2=30.408695 S1=4.12678 S2=6.186664 S3=5.917 S=3.856927 r=1.6 x=3.285465 y=0.928749 al=1.66645 a1=66.71536 a2=29.215249 S1=3.832481 S2=5.943857 S3=6.511 S=4.399228 r=1.7 x=3.264603 y=0.999611 al=1.601592 a1=69.115521 a2=27.975587 S1=3.544727 S2=5.691647 S3=7.098 S=4.950727 r=1.8 x=3.241227 y=1.072986 al=1.533178 a1=71.768238 a2=26.683227 S1=3.263861 S2=5.428716 S3=7.677 S=5.512213 r=1.9 x=3.214985 y=1.149229 al=1.46071 a1=74.723572 a2=25.330059 S1=2.990262 S2=5.153413 S3=8.248 S=6.084729 r=2 x=3.185425 y=1.228788 al=1.383551 a1=78.047144 a2=23.905712 S1=2.724359 S2=4.863629 S3=8.809 S=6.669681 r=2.1 x=3.151958 y=1.312255 al=1.300866 a1=81.827206 a2=22.396561 S1=2.466647 S2=4.556591 S3=9.359 S=7.269027 r=2.2 x=3.113784 y=1.400429 al=1.211525 a1=86.186261 a2=20.784091 S1=2.217714 S2=4.228533 S3=9.896 S=7.885593 r=2.3 x=3.069772 y=1.494442 al=1.113926 a1=88.698647 a2=19.042015 S1=1.921902 S2=3.874107 S3=10.419 S=8.467253 r=2.4 x=3.018222 y=1.595991 al=1.005669 a1=82.55758 a2=17.130779 S1=1.482153 S2=3.485265 S3=10.926 S=8.922813 r=2.5 x=2.95637 y=1.707843 al=0.882842 a1=74.946725 a2=14.98573 S1=1.093265 S2=3.048854 S3=11.413 S=9.457546 r=2.6 x=2.879098 y=1.835116 al=0.738207 a1=65.046472 a2=12.486866 S1=0.752624 S2=2.540459 S3=11.878 S=10.089894 r=2.7 x=2.774528 y=1.989686 al=0.554967 a1=50.989703 a2=9.354717 S1=0.453958 S2=1.903222 S3=12.315 S=10.866119 r=2.8 x=2.592212 y=2.222001 al=0.261779 a1=25.226744 a2=4.397368 S1=0.166103 S2=0.894647 S3=12.72 S=11.991781 А вы меня на ошибках не ловите - и совершенно зря! Проблема в значке 'r' -> изначально r трактуется как {r,r} - центр малого круга. Потом же я начинаю оперировать с ним как с РАДИУСОМ малого круга.. Вот как не надо давать переменным несвойственные им названия... Ну, отступать уже некуда -> У меня, кстати, такая мысль в своё время промелькнула и потом куда-то улетела, не успел поймать её за хвост. Итого, площадь двух треугольников равна: S3 = √2 * r * √2 * (x-y) / 2 = r * (x-y) = r * ( 2 * (√ (4*R22 - 4*R2*r - r2) + 2*R2 + r ) ) / 4 - R2 - r/2 Итого, S3 = r * (√ (4*R22 - 4*R2*r - r2) + 2*R2 + r ) ) / 2 - R2 - r/2 Ну, теперь-то надеюсь, что без ошибок... И вот здесь S3 и S должны получиться нулями. r=0 x=3.414214 y=0 al=2.414214 a1=45 a2=45 S1=9.155272 S2=9.155272 S3=16.485 S=16.485281 Уффф... Я в программу в новом варианте подставил сокращённую формулу S3 = r * (x-y) И вот что получилось: Prg: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Касперский. Расчёт площади серпа.</title> </head> <body> <?php echo "<font color=#228B22 face=Arial style='font-size:12px'><b>Касперский. Расчёт площади серпа.</font></b><br><br>"; $R2 = 2 + sqrt(2); echo "R2 = ".$R2."<br>"; $pi=pi(); //55 вариант $rx=0.1;// шаг изменения r echo "<table>"; for ($r=0; $r<=$R2; $r+=$rx) { echo "<tr>"; echo "<td>"; echo "r=".$r; echo "</td><td>"; //x = (v (4*R22 - 4*R2*r - r2) + 2*R2 + r) / 4 $x = ( sqrt (4*$R2*$R2 - 4*$R2*$r - $r*$r) + 2*$R2 + $r) / 4; echo " x=".round($x,6)." "; echo "</td><td>"; //y = R2 + r/2 - (v (4*R22 - 4*R2*r - r2) + 2*R2 + r) / 4 $y = $R2 + $r/2 - ( sqrt(4*$R2*$R2 - 4*$R2*$r - $r*$r) + 2*$R2 + $r) / 4; echo " y=".round($y,6)." "; echo "</td><td>"; //al = v2*(x - y)/2 $al = sqrt(2)*($x - $y)/2; echo " al=".round($al,6)." "; echo "</td><td>"; //a1 = arcsin(al/R1) = arcsin( al/(R2 - r) ) $a1 = ( asin( $al/($R2 - $r) ) )*180/$pi; echo " a1=".round($a1,6)." "; echo "</td><td>"; //a2 = arcsin(al/R2) $a2 = ( asin($al/$R2) )*180/$pi; echo " a2=".round($a2,6)." "; echo "</td><td>"; $S1 = $pi * ($R2 - $r)*($R2 - $r) * asin( sqrt(2) * ($x - $y) / (2 * ($R2 - $r)) ) / $pi; $S2 = $pi * $R2*$R2 * asin( sqrt(2) * ($x - $y) / (2 * $R2) ) / $pi; //S3 = r * ((v (4*R22 - 4*R2*r - r2) + 2*R2 + r ) ) / 2 - R2 - r/2 // $S3 = $r * ((sqrt (4*$R2*$R2 - 4*$R2*$r - $r2*$r2) + 2*$R2 + $r ) ) / 2 - $R2 - $r/2; //S3 = r * (x-y) $S3 =$r * ($x-$y); echo " S1=".round($S1,6)." "; echo " S2=".round($S2,6)." "; echo " S3=".round($S3,3)." "; $S= $S1 - $S2 + $S3; echo " S=".round($S,6)."<br>"; echo "</td>"; echo "/<tr>"; } echo "</table>"; ?> </body> </html> Rez: r=0 x=3.414214 y=0 al=2.414214 a1=45 a2=45 S1=9.155272 S2=9.155272 S3=0 S=0 r=0.1 x=3.413842 y=0.050372 al=2.378333 a1=45.858003 a2=44.154656 S1=8.791308 S2=8.983286 S3=0.336 S=0.144369 r=0.2 x=3.412704 y=0.101509 al=2.341368 a1=46.755945 a2=43.296265 S1=8.430701 S2=8.808646 S3=0.662 S=0.284293 r=0.3 x=3.410763 y=0.15345 al=2.303268 a1=47.697243 a2=42.424002 S1=8.073604 S2=8.631184 S3=0.977 S=0.419614 r=0.4 x=3.407979 y=0.206234 al=2.263975 a1=48.68574 a2=41.536959 S1=7.720176 S2=8.450715 S3=1.281 S=0.550159 r=0.5 x=3.404306 y=0.259907 al=2.223426 a1=49.725776 a2=40.634134 S1=7.37058 S2=8.267034 S3=1.572 S=0.675746 r=0.6 x=3.399696 y=0.314518 al=2.181551 a1=50.822275 a2=39.714416 S1=7.024988 S2=8.079917 S3=1.851 S=0.796178 r=0.7 x=3.394093 y=0.370121 al=2.138271 a1=51.980851 a2=38.776568 S1=6.683574 S2=7.889112 S3=2.117 S=0.911243 r=0.8 x=3.387435 y=0.426779 al=2.0935 a1=53.207942 a2=37.819208 S1=6.346524 S2=7.694336 S3=2.369 S=1.020713 r=0.9 x=3.379653 y=0.48456 al=2.04714 a1=54.510968 a2=36.840778 S1=6.01403 S2=7.495274 S3=2.606 S=1.124339 r=1 x=3.37067 y=0.543544 al=1.99908 a1=55.898535 a2=35.839518 S1=5.686292 S2=7.291567 S3=2.827 S=1.221851 r=1.1 x=3.360396 y=0.603818 al=1.949195 a1=57.380698 a2=34.81342 S1=5.363522 S2=7.082807 S3=3.032 S=1.31295 r=1.2 x=3.348729 y=0.665485 al=1.89734 a1=58.969292 a2=33.760184 S1=5.045942 S2=6.868526 S3=3.22 S=1.397309 r=1.3 x=3.335552 y=0.728662 al=1.84335 a1=60.678359 a2=32.677148 S1=4.733789 S2=6.648182 S3=3.389 S=1.474565 r=1.4 x=3.320728 y=0.793485 al=1.78703 a1=62.524722 a2=31.561205 S1=4.427312 S2=6.421143 S3=3.538 S=1.54431 r=1.5 x=3.304096 y=0.860117 al=1.728154 a1=64.528744 a2=30.408695 S1=4.12678 S2=6.186664 S3=3.666 S=1.606085 r=1.6 x=3.285465 y=0.928749 al=1.66645 a1=66.71536 a2=29.215249 S1=3.832481 S2=5.943857 S3=3.771 S=1.659371 r=1.7 x=3.264603 y=0.999611 al=1.601592 a1=69.115521 a2=27.975587 S1=3.544727 S2=5.691647 S3=3.85 S=1.703568 r=1.8 x=3.241227 y=1.072986 al=1.533178 a1=71.768238 a2=26.683227 S1=3.263861 S2=5.428716 S3=3.903 S=1.737979 r=1.9 x=3.214985 y=1.149229 al=1.46071 a1=74.723572 a2=25.330059 S1=2.990262 S2=5.153413 S3=3.925 S=1.761786 r=2 x=3.185425 y=1.228788 al=1.383551 a1=78.047144 a2=23.905712 S1=2.724359 S2=4.863629 S3=3.913 S=1.774004 r=2.1 x=3.151958 y=1.312255 al=1.300866 a1=81.827206 a2=22.396561 S1=2.466647 S2=4.556591 S3=3.863 S=1.773431 r=2.2 x=3.113784 y=1.400429 al=1.211525 a1=86.186261 a2=20.784091 S1=2.217714 S2=4.228533 S3=3.769 S=1.758561 r=2.3 x=3.069772 y=1.494442 al=1.113926 a1=88.698647 a2=19.042015 S1=1.921902 S2=3.874107 S3=3.623 S=1.671053 r=2.4 x=3.018222 y=1.595991 al=1.005669 a1=82.55758 a2=17.130779 S1=1.482153 S2=3.485265 S3=3.413 S=1.410243 r=2.5 x=2.95637 y=1.707843 al=0.882842 a1=74.946725 a2=14.98573 S1=1.093265 S2=3.048854 S3=3.121 S=1.165729 r=2.6 x=2.879098 y=1.835116 al=0.738207 a1=65.046472 a2=12.486866 S1=0.752624 S2=2.540459 S3=2.714 S=0.926518 r=2.7 x=2.774528 y=1.989686 al=0.554967 a1=50.989703 a2=9.354717 S1=0.453958 S2=1.903222 S3=2.119 S=0.669811 r=2.8 x=2.592212 y=2.222001 al=0.261779 a1=25.226744 a2=4.397368 S1=0.166103 S2=0.894647 S3=1.037 S=0.308047 r=2.9 x=NAN y=NAN al=NAN a1=NAN a2=NAN S1=NAN S2=NAN S3=NAN S=NAN r=3 x=NAN y=NAN al=NAN a1=NAN a2=NAN S1=NAN S2=NAN S3=NAN S=NAN r=3.1 x=NAN y=NAN al=NAN a1=NAN a2=NAN S1=NAN S2=NAN S3=NAN S=NAN r=3.2 x=NAN y=NAN al=NAN a1=NAN a2=NAN S1=NAN S2=NAN S3=NAN S=NAN r=3.3 x=NAN y=NAN al=NAN a1=NAN a2=NAN S1=NAN S2=NAN S3=NAN S=NAN r=3.4 x=NAN y=NAN al=NAN a1=NAN a2=NAN S1=NAN S2=NAN S3=NAN S=NAN 1 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
E.K. Опубликовано 19 февраля, 2019 Автор Поделиться Опубликовано 19 февраля, 2019 Итак, мальчики и девочки, мы постепенно подползаем к завершительной части нашего этого многостраничного упражнения. Что у нас уже получилось: 1. Бублик. Максимум получился 1.9489896... Отличный результат! 2. Серп. Площадь его дотягивает максимум до S=1.774004. На самом деле, это и сразу было понятно. Просто хотелось потренироваться с геометриями. Очень - ОЧЕНЬ хочется протащить там сейф > 2 по площади! // А кому не хочется? Но по дороге мы выяснили, что у максимально пролазной штуки срезана верхушка! Короче, 3. И на этом я буду считать упражнение завершённым. Просчитать "бублик" со срезанной "макушкой". - я доступно излагаю? Ну, дерзайте. А картинку я попозже вечером нарисую. Или же вы сами попробуйте нарисовать. 1 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
E.K. Опубликовано 20 февраля, 2019 Автор Поделиться Опубликовано 20 февраля, 2019 Итак, хочется протащить сейф площадью > 2. Понятно, что это должно быть что-то вроде бублика со срезанной вершиной. Пробую порисовать.. Наверное, всё же оптимально будет если ширина "ступни" урезанного бублика (давайте называть его "телефонной трубкой") будет равна ширине коридора, то есть = 1 (как зелёный). Но тогда сразу требуется, чтобы в момент касания самая левая часть "трубки" была параллельна левой вертикальной стенке - иначе оно сразу застрянет. Но оно всё равно потом застрянет, поскольку расстояния между окружностями будет больше 1... То есть, внешняя окружность должна быть чем-то вроде овала со срезанной вершиной.. Требования к овалу следующие: при каждом повороте этой конструкции внешняя сторона "овала" должна касаться внешней стенки по касательной, то есть угол касания = 0. Ну, есть идеи как это описать математическими формулами? Интернеты вам в помощь.. UPD. Фигтам. Овал не пролезает, поскольку внутренняя окружность вращается вокруг своего центра. То есть Внешняя фигура никак не проходит, если её центр на горизонтальной нижней стене коридора. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
E.K. Опубликовано 21 февраля, 2019 Автор Поделиться Опубликовано 21 февраля, 2019 Ну, вот так только вроде пролезает по максимуму... Но нужно ещё на эту тему подумать. Ссылка на комментарий Поделиться на другие сайты Поделиться
eve-nts Опубликовано 21 февраля, 2019 Поделиться Опубликовано 21 февраля, 2019 Тут сложность, на мой взгляд, в том, что фигура оптимальной формы будет двигаться не по окружности вокруг какого-то центра, а по более сложной траектории. Когда передняя часть фигуры приблизится к углу, то центр фигуры (пусть будет условно центр тяжести) будет располагаться на одном расстоянии от центра поворота, а когда фигура пролезет за угол под углом 45 град., то она будет уже ближе к центру поворота за счёт выемки с нижней стороны. Ссылка на комментарий Поделиться на другие сайты Поделиться
E.K. Опубликовано 22 февраля, 2019 Автор Поделиться Опубликовано 22 февраля, 2019 Именно так! Вот какая картинка получается с внутренней окружностью. По идее, центр окружности должен двигаться тоже по окружности радиуса r (по синей линии) - поскольку центр красной окружности при вращении будет всегда находиться на расстоянии r от угла (нарисован только внутренний угол коридора). То есть, должна получиться синяя четверть окружности. Но почему-то глазуально это не так... Где я неправ? UPD. Или всё верно - это я просто нарисовал кривовато?.. UPD-2. Хммм. Окружность получается! Причём - оно пролезает, поскольку центр всей конструкции "утапливается" в сторону угла. Вот такая картинка: Понятно, что её ещё можно оптимизнуть, но давайте уже как есть подсчитаем. Очень хочется просунуть больше 2 за угол Площадь зелёной "трубки" будет.. площадь половины большого круга минус половины малого круга и минус выступ за ширину коридора. Площадь выступа равна площади сектора 'OAC' с углом 'a' (пусть он опять будет углом 'AOB', т.е. половиной "широкого угла") минус площадь треугольника 'OAC'. Вроде так: S = ( pi*(r+1)2 - pi*r2 ) / 2 - (pi*(r+1)2 * a/180 - отрезок AC * 1 / 2 (поскольку OB=1). OA = r+1, OB = 1, то 1 = (r+1) * cos(a) a = arccos (1 / (r+1)) // в градусах! Итого, S = pi * (r + 1/2 - (r+1)2 * arccos (1 / (r+1)) /180 ) + (r+1) * sin ( arccos (1 / (r+1)) ) Проверяем для r=0, должен быть "выколотый" случай полукруга площадью pi/2... S = pi * (1/2 - arccos (1 / 1)) /180 ) + sin ( arccos (1 / 1)) ) = pi * 1/2 - 0 + 0 Вроде верно. Ну, что? Надо бы в программку засунуть.. Просто обязано получиться больше двойки! Ссылка на комментарий Поделиться на другие сайты Поделиться
E.K. Опубликовано 22 февраля, 2019 Автор Поделиться Опубликовано 22 февраля, 2019 Сил нет терпеть, любопытство раздирает увидеть результаты и убедиться, что оно будет больше двойки. Пробую ручками (самому кодить лень, я же Генеральный Директор!) Просто волюнтаристким решением назначаю угол a=45° и смотрю что получается... r = 1 / cos(a) - 1 = 0.414 S = ( pi*(r+1)2 - pi*r2 ) / 2 - (pi*(r+1)2 * a/180 + (r+1) * sin ( a ) = = pi * (0.914 - (1.414)^2 * 1/4 ) + (1.414) * 0.707 = примерно 1.3 + 1 Ура! Ура! Ура! Протащен сейф площадью примерно 2.3 Можно, конечно, и дальше оптимизячить, но давайте уже программно посмотрим на минимумы и максимумы - и закрываем задачку. Чтобы потом перейти к следующей. И картинку поправпить надо: Ссылка на комментарий Поделиться на другие сайты Поделиться
E.K. Опубликовано 22 февраля, 2019 Автор Поделиться Опубликовано 22 февраля, 2019 Ох-ах, но при внимательном рассмотрении оказалось, что не лезет трубка :( UPD. Но мы не привыкли отступать! (с) Если посмотреть внимательно, то... ... то центр внутреннего круга смещается вниз по окружности (помечена сине-зелёным). Чтобы внешняя сторона "трубки" проползала в коридор, расстояние между центром конструкции и противоположной внешней точкой "трубки" должно оставаться постояным! Тогда оно лезет. // за вторую половину конструкции не беспокоимся, поскольку дело это симметричное: если лезет сюда, то вылезет и оттуда. Ага, то есть, получается вот что. Внешняя сторона "трубки" тоже окружность, но с ценртом в другой точке! (зелёными стрелочками помечено) -> Если нарисовать это красиво, то получается вот так: Теперь надо как-то подсчитать площадь этой конструкции, которая ограничена красным цветом... 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
E.K. Опубликовано 22 февраля, 2019 Автор Поделиться Опубликовано 22 февраля, 2019 Так это же элементарно, Ватсон! (с) Ещё раз эта картинка: Площадь трубки равна: 2 * ( площадь сектора O1CF + тонкий практически прямоугольничек O1F'FF'' ) + площадь прямоугольника ACF''A' - площадь малого полукруга с центром О и радиусом 'r'. Проблема есть только с "практически прямоугольничком", который есть такая странная часть круга... Похоже? Поехали... Радиус синего круга с центром в O1 равен.. очевидно, там всё видно: r1 = (r+1)/2 Тогда получаем... S = 2 * ( pi * r1 / 4 + r1 * (1 - r1) ) Фигтам! Фигура О1СF' - это не часть окружности. Это какая-то более сложная материя, о которой я сейчас думать просто не могу. Отложу на завтра.. Ссылка на комментарий Поделиться на другие сайты Поделиться
E.K. Опубликовано 22 февраля, 2019 Автор Поделиться Опубликовано 22 февраля, 2019 Но! Нам же не нужно сегодня ставить рекорды. Нужно просто протащить за угол сейф площадью >2. Предлагаю упростить дизайн сейфа, срезать непонятные кривые и потащить вот такую более "квадратную" штуку: Её площадь равна: площадь трапеции ACF-и обратно минус площадь полукруга с центром в O. Площадь трапеции помните - или в интернеты полезем? Даже ещё упрощаю задачку! Пусть AB = BC = r. Тогда -> S = 2*r + 1 - pi*r2 / 2 При r=0 фигура вырождается в квадрат.. Ага, верно, площадь получается 1. А какой максимум у этой функции? S' = 2 - pi*r => r = pi/2 = 3.14 / 2 это больше единицы. То есть, наш "сейф" разваливается на две части. Но! Хорошая новость, что чем больше r, тем больше площадь. Пусть верхняя часть трубки - это нано-материал с почти нулевой толщиной, когда r стремится к единице.. Считаем... S = 2 + 1 - pi / 2 = 3 - 3.14/2 = фигвам... меньше двойки :( Получается даже совсем смешная цифра 1.43. Или я где-то опять налажал с формулами Ссылка на комментарий Поделиться на другие сайты Поделиться
E.K. Опубликовано 23 февраля, 2019 Автор Поделиться Опубликовано 23 февраля, 2019 Есть! Вот что значит посмотреть на вчерашнюю задачку свежей головой Следите сюда. Центр всей фигуры (точка O) при повороте за угол движется по окружности радиуса 'r', поскольку от этой O до угла расстояние всегда 'r'. То есть, чтобы фигура пролезала, в каждый момент от текущего положения центра O до внешнего края фигуры (фиолетовая стрелка слева) расстояние должно быть 1+r*cos(a) То есть, дуги AD и CG на картинке справа описываются формулами "расстояние от точки дуги до O равно 1+r*cos(a)", при этом угол 'a' принимает значения от 0 до 45° - поскольку фигура симметричная, то совершая аналогичный поворот ещё на 45° по той же формуле мы протаскивает всю фигуру за угол (поворот 90°). Формулу фигуры выяснили. Теперь как подсчитать её площадь в зависимости от 'r'? Кто помнит как там интегралы брать?... Но для начала надо проверить, что формула правильная. UPD. А если внимательно посмотреть на картинку, то получается, что оптимальный радиус 'r' (максимальная площадь) получается когда угол DOA равен 45° - поскольку если 'r' меньше, то уменьшается 'AC' и точка A "спускается" вниз. Площадь меньше. Если же 'r' больше, то ... а вот непонятно. Надо считать По формуле OA = 1 + r*cos(45°) = 1 + r * 0.707 Как основание треугольника AOB это OA = √2 r = ( √2 - 1 ) / 0.707 = 0.586 Эта цифра похожа на правду... Теперь надо считать площадь. Полезу за своим домашним интегратором... // чуть позже -> Что-то в прямоугольных координатах ничего не получается. Выразить y=f(x) как-то вообще не вижу как. Надо лезть за полярными координатами.. Например, здесь: http://mathprofi.ru/ploshad_v_poljarnyh_koordinatah.html Получается что-то типа: 1/2 ∫ (1 + r*cos(φ))2 dφ φ от 0 до 45° (или же от 0 до π/4) Типа вот так... Нало лезть учить матчасть по ссылке выше (или по аналогичным). Это сейчас вроде как в 11м классе учат 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
eve-nts Опубликовано 23 февраля, 2019 Поделиться Опубликовано 23 февраля, 2019 Нужно снова идти в 11-й класс проходить обучение и всё вспоминать Я тоже забыл интегралы Этот полезный сайт пытается нам помочь, но мне пока не всё понятно, хотя визуальное представление функции интересное. Исправленная версия формулы. (там синтаксис ввода формул немножко другой) 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
E.K. Опубликовано 23 февраля, 2019 Автор Поделиться Опубликовано 23 февраля, 2019 Я вроде бы разобрался.. Можно идти ЕГЭ сдавать Итак, считаем "дао" (фигуру DAO) по стандартной формуле "половина интеграла от квадрата формулы фигуры" -> 1/2 ∫ (1 + r*cos(φ))2 dφ φ от 0 до π/4 Считаем... сначала возводим в квадрат формулу фигуры: 1/2 ∫ (1 + r*cos(φ))2 dφ = 1/2 ∫ (1 + 2r*cos(φ) + r2 * cos(φ)2) dφ Затем уменьшаем степень косинуса по формуле cos2(φ) = (1+cos(2φ))/2 = 1/2 ∫ (1 + 2r*cos(φ) + r2 * (1 + cos(2φ)) / 2 ) dφ Убирается интеграл, заодно надо вспомнить, что косинус - это производная синуса = 1/2 ( φ + 2r*sin(φ) + r2 * φ/2 + r2 * sin(2φ)/4 ) Теперь надо подставить крайние значения φ=0 , π/4 и из втоого вычесть первое. Сразу видно, что при φ=0 формула равна нулю. Посему, только π/4 => = 1/2 ( π/4 + 2r*sin(π/4) + r2 * π/8 + r2 * sin(π/2)/4 ) Вуяля! Проверяем r=0.. Получается π/8 - и это верно! Мы же считаем одну восьмую круга (если r=0, то трубка вырождается в половину круга) Итого, площадь трубки равна... два "дао"-сегмента, плюс треугольник ACO, минус половина r-круга. Треугольник ACO вороде как прямой, основание = 2, OB=1, его площадь = 1. Получается вроде так. Площадь трубки равна: S = π/4 + 2r*sin(π/4) + r2 * π/8 + r2 * sin(π/2)/4 + 1 - π*r2 /2 Проверяйте Но внимание! Все эти подсчёты исходили из того, что угол AOC = прямой. И 'r' уже = 0.586 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти