Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Objętość ostrosłupa - wysokość na minusie?
Kildyt
post
Post #1





Grupa: Zarejestrowani
Postów: 869
Pomógł: 53
Dołączył: 20.10.2003
Skąd: Przeworsk

Ostrzeżenie: (0%)
-----


Witajcie

Dzisiaj na kartkówce dostaliśmy, wydawać się proste zadanie obliczenia pola całkowitego i objętości ostrosłupa prawidłowego. Krawędź ściany bocznej = 4, a krawędź podstawy = 7.
Problem jest w tym, że wysokość ostrosłupa wychodzi na minusie. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Sama nauczycielka nie wiedziała o co biega. Taa.. (IMG:http://forum.php.pl/style_emoticons/default/ohmy.gif)


Dla pomocy zamieszczam przygotowany kod na objętość:
  1. <?php
  2.  
  3. $x = 7; // Długość krawędzi podstawy ostrosłupa
  4. $y = 4; // Długość krawędzi bocznej
  5.  
  6.  
  7. // Licz H - wysokośc ostrosłupa
  8.  
  9. $TPb = $x*sqrt(3);
  10. $TPb = (2/3)*$TPb;
  11. $TPb = round($TPb, 2); // Obliczyliśmy 2/3 podstawy ostrosłupa
  12. $TP = $y*$y-$TPb*$TPb; // Twierdzenie Pitagorasa: wynik pod pierwiastkiem wychodzi na minusie
  13.  
  14. echo $TP;
  15.  
  16. $TP = sqrt($TP);
  17. $TP = round($TP, 2);
  18.  
  19. $H = $TP;
  20.  
  21.  
  22. // Licz objętość
  23.  
  24. $Pp = (($x*$x)*sqrt(3))/4;
  25.  
  26. $V = (1/3)*($Pp*$H);
  27.  
  28.  
  29. ?>


Prosimy o pomoc. O co tu chodzi? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Kod
$TPb = ($x/2)*sqrt(3);
$TPb = (2/3)*$TPb;
$TPb = round($TPb, 2); // Obliczyliśmy 2/3 podstawy ostrosłupa
$TP = $y*$y-$TPb*$TPb; // Twierdzenie Pitagorasa: wynik pod pierwiastkiem wychodzi na minusie

Do obliczenia wysokosci podstawy bierze się połowę x a nie cały. Dlatego odejmowało ci za dużo.

Ten post edytował wookieb 21.01.2009, 15:38:13
Go to the top of the page
+Quote Post
Kildyt
post
Post #3





Grupa: Zarejestrowani
Postów: 869
Pomógł: 53
Dołączył: 20.10.2003
Skąd: Przeworsk

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $TPb = ($x/2)*sqrt(3);
  3. ?>
Tak nie może być. Wysokość w trójkącie liczby się ze wzoru
  1. <?php
  2. $h = ($x*sqrt(3))/2
  3. ?>

A my w zadaniu potrzebujemy 2/3 tej wysokości. Tworzymy w ostrosłupie trójkąt aby obliczyć wysokość graniastosłupa.

Ten post edytował Kildyt 21.01.2009, 15:41:18
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




To jest to samo przecież.
a/2 * piewiastek(3) to jest to samo to (a*pierwiastek(3))/2;

Wiec to jest prawidłowe
Kod
$TPb = ($x/2)*sqrt(3);

Sprawdź najpierw.

EDIT: Po drugie krawędź boczna jest za mała. Niemożliwy jest taki ostrosłup.

Ten post edytował wookieb 21.01.2009, 15:51:23
Go to the top of the page
+Quote Post
rzymek01
post
Post #5





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

Ostrzeżenie: (0%)
-----


a jesteś pewien że taki ostrosłup istnieje?

w twoim przypadku dla ostrosłupa musi być spełniona nierównośc:
7 pierwiastków z 2 musi byc mniejsze od 8

czyli
przekątna podstawy < podwojonej długości krawędzi bocznej tego ostrosłupa

Ten post edytował rzymek01 21.01.2009, 16:03:34
Go to the top of the page
+Quote Post
Kildyt
post
Post #6





Grupa: Zarejestrowani
Postów: 869
Pomógł: 53
Dołączył: 20.10.2003
Skąd: Przeworsk

Ostrzeżenie: (0%)
-----


No właśnie, nie jestem przekonany. I jak tu mam dostać dobrą ocenę z kartkówki? hehe (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Nauczycielka nawet sprawdzała, czy może istnieć taki trójkąt (może sprawdzały tylko trójkąt) i twierdziła, że raczej tak.
Jutro piszemy, drugi raz, to da już coś normalnego. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

PS @wookieb zwracam honory. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował Kildyt 21.01.2009, 16:56:14
Go to the top of the page
+Quote Post
legorek
post
Post #7





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Akurat jestem na etapie nauki do egzaminu z matmy więc odpowiem. Dawno nie miałem do czynienia z geometrią, ale od czego jest wiki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ja jestem pewien, że taki ostrosłup nie istnieje.
Dowód będzie trochę łopatologiczny:
Nie napisałeś co jest podstawą ostrosłupa (wiemy tylko że jakiś wielokąt foremny).
1) W tym wypadku, wysokość ostrosłupa można sobie obliczyć ze wzoru b^2 - R^2, gdzie:
b - to długość ściany bocznej
R - promień okręgu opisanego na wielokącie foremnym będącym podstawą
2) R liczymy ze wzoru a/(2*sin(pi/n)), gdzie:
n - liczba boków podstawy
a - długość boku podsawy
Reasumując wzór na wysokość ostrosłupa:
H(n) = b^2 - (a/(2*sin(pi/n)))^2
Po podstawieniu wartości z zadania:
H(n) = (4^2) - ((7 / (2 * sin(pi /n)))^2)
Policzmy wysokość dla ostrosłupa o podstawie trójkąta:
n = 3
(4^2) - ((7 / (2 * sin(pi / 3)))^2) = -0.333333333 Czyli ostrosłup o podstawie trójkąta nie wchodzi w grę.
No dobra, ale co z innymi wielokątami? Zbadajmy sobie przebieg funkcji H(n) w przedziale <3, +oo). Policzmy H'(n),
H'(n) = -49/2/sin(pi/n)^3*cos(pi/n)*pi/n^2, łatwo można sprawdzić, że w interesującym nas przedziale n <3, +oo) pochodna będzie zawsze przyjmować ujemne wartości, tak więc funkcja H(n) jest malejąca. Co za tym idzie dla kolejnych ostrosłupów o podstawie n-kątów foremnych będziemy otrzymywać coraz to mniejsze wysokości.

Reasumując, w zadaniu jest błąd w druku bo jak zamienisz miejscami 4 z 7 wynik wychodzi dobry.

Ten post edytował legorek 21.01.2009, 17:20:31
Go to the top of the page
+Quote Post
scanner
post
Post #8





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




legorek: Jak dla mnie to egzamin masz zaliczony z palcem w... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 09:54