grundfläche eines gleichschenkligen dreiecks berechnen (ohne trigonometrie)



  • Du könntest es als 18. Teil eines regelmäßigen 18-Ecks ansehen (da 360°/20°=18) welches einen "Radius" von 5 hat. Jetzt brauchst du nur eine Formel um die Fläche eines regelmäßigen 18-Ecks zu rechnen. Ohne Trigonometrie kann man die aber glaub ich nicht aufstellen. (Könntest sie aber irgendwo abschreiben 😉 )



  • die werte können sich später auch ändern deshalb hab ich eher ne formel gesucht...
    alternativ würde es auch mit der sinus funktion von C gehen. bedingung ist nur, sie muss als parameter den winkel in degree nehmen. die umrechnung mit pi geht nicht(!) gibts da switches o.ä. mit denen man sowas umstellen kann oder könnte man die auch selbst programmieren?



  • Was willst du genau machen?

    Wenn es mit irgendeinem Winkelmaß gehen soll dann wird es nur sehr sehr schwierig ohne Sinuns gehen.



  • santa klaus schrieb:

    bedingung ist nur, sie muss als parameter den winkel in degree nehmen. die umrechnung mit pi geht nicht(!) gibts da switches o.ä. mit denen man sowas umstellen kann oder könnte man die auch selbst programmieren?

    Was ist das denn für ne abenteuerliche Einschränkung? Vielleicht erklärst Du einfach mal was Du machen möchtest? Warum rechnest Du nicht einfach von Grad in Bogenmaß um und verwendest dann den in C implementierten sinus?



  • Jester schrieb:

    santa klaus schrieb:

    ...

    Was ist das denn für ne abenteuerliche Einschränkung? Vielleicht erklärst Du einfach mal was Du machen möchtest? Warum rechnest Du nicht einfach von Grad in Bogenmaß um und verwendest dann den in C implementierten sinus?

    also später muss damit pi näherungsweise berechnet werden. deshalb wollte ichs vermeiden schon zuvor mit dem näherungswert zu rechnen. natürlich hätte auch eine funktion der std-bibliothek (die mit degree rechnet) nur einen näherungswert aber wenns dafür schon ne funktion gäbe wars praktischer und sieht nich so blöd aus... bei der berechnung von pi schon mit der zahl arbeiten 🙄





  • danke für den link aber die formeln kenne ich leider schon. hätte da aber noch ein anderes problem: wenn ich pi - mit welcher formel auch immer - berechnen will und die std datentypen von C verwende schaff ich ja nur wenige nachkommastellen... ich will keinen neuen rekordversuch starten aber so 100 oder 1000 bräuchte ich schon. speicher- und rechentechnisch ist das ja kein problem, nur wie setze ich das mit der genauigkeit um? kenne auch den code-project link schon aber es sollte nach möglichkeit kein C++ sein und so einfach wie möglich gehalten sein.



  • http://en.wikipedia.org/wiki/Pi#Numerical_value schrieb:

    While the value of pi has been computed to billions of digits, practical science and engineering will rarely require more than 10 decimal places. As an example, computing the circumference of the Earth's equator from its radius using only 10 decimal places of pi yields an error of less than 0.2 millimeters. A value truncated to 39 decimal places is sufficient to compute the circumference of the visible universe to a precision comparable to the size of a hydrogen atom.[3]

    Ich frag also erneut wieso brauchst du so viele Stellen? und wieso kann du nicht einfach Copy & Paste von irgendeiner Internet Seite machen?

    Wie hast du vor die Stellen zu speichern?



  • Ben04 schrieb:

    und wieso kann du nicht einfach Copy & Paste von irgendeiner Internet Seite machen?

    die berechnung is ja gerade die aufgabe und die paar stellen die man mit double hinkriegt... das wär ja witzlos.

    Ben04 schrieb:

    Wie hast du vor die Stellen zu speichern?

    geht doch problemlos in nem array und dann in hex- oder dezimalform in ne textdatei schreiben oder so. 100 bis 1000 (wenn ich überhaupt so viele brauche) is doch gar nix. nur das rechnen mit denen bereitet mir kopfzerbrechen



  • http://de.wikipedia.org/wiki/Bailey-Borwein-Plouffe-Formel
    Damit soll man die nte hex Ziffer berechnen können. (steht übrigens auch in dem von mir verlinktem Pi Artikel)



  • und auch die kenne ich schon 😉
    erstens is das aber recht kompliziert und zweitens muss ich ja immer noch die formel vom anfang verwenden... bzw ist der sinus teil einer methode zur bestimmung von pi. kann man sich sowas wie die sin funktion nicht selbst basteln?



  • Wo siehst du in der Formel einen Sinus?

    Ich verstehe immer noch nicht was du genau willst.



  • nene ich bräuchte den für ne andere formel... und zwar die, die bei der aufgabe vorgeschrieben ist. aber das ist auch nicht so wichtig... im moment hab ich mehr schwierigkeiten mit der ganauigkeit der zahl.



  • Da ist noch eine Frage von oben offen - wofür brauchst du eine so hohe Genauigkeit?



  • dachte das hab ich schon drei mal erwähnt 😮
    aber der grund ist ganz einfach: die aufgabenstellung ist pi zu berechnen und zwar genauer als ein double die zahl darstellen kann. double mag reichen, wenn man mit pi rechnen will aber nicht wenn man die zahl selbst berechnet. wie viele stellen nach dem komma ist nich der springende punkt, aber wenn ich wüsste wies mit 100 geht dann ließe sich das doch sicherlich auch auf 1000 erweitern... nur eben weiß ich nicht wie man da vorgehen soll.



  • Ich würde Nenner und Teiler des Wallisschen Produkts einzeln ausrechnen und das Ergebnis als Bruch darstellen. Wenn du zwei 64 Bit Ganzzahlen verwendest sollte das schon sehr exakt werden bevor es zum Overflow kommt.



  • Ben04 schrieb:

    Ich würde Nenner und Teiler des Wallisschen Produkts einzeln ausrechnen und das Ergebnis als Bruch darstellen. Wenn du zwei 64 Bit Ganzzahlen verwendest sollte das schon sehr exakt werden bevor es zum Overflow kommt.

    Und um noch genauer zu werden, kannst du BigInt-Datentypen (höre ich da "GMP"?) verwenden.

    btw, das Problem dürfte es weniger sein, Pi entsprechend genau zu berechnen (dafür gibt es genug Lösungsansätze (Wallis-Produkt, Bailey-Borwein-Plouffe, Taylor-Entwicklung des atan,...) - das Problem ist es, die vielen Nachkommastellen zu speichern.


Anmelden zum Antworten