Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Συναρτήσεις] Επίλυση Τριγώνου (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/2066-epilysi-trigonoy.html)

kapetang 23-09-12 15:08

Επίλυση Τριγώνου
 
1 Συνημμένο(α)
Καλησπέρα

Το αρχείο, που επισυνάπτω, είναι αποτέλεσμα μιας προσπάθειας να θυμηθώ κάποια στοιχεία από τη Γεωμετρία και την Τριγωνομετρία του Λυκείου και να εξασκηθώ στο excel.

Στο φύλλο «Πλευρές3» μπορούμε να δώσουμε τις 3 πλευρές ενός τριγώνου και να πάρουμε τα υπόλοιπα στοιχεία του και το αντίστοιχο σχήμα.

Τα στοιχεία που υπολογίζονται είναι:
  • Η περίμετρος και το εμβαδόν.
  • Οι γωνίες του.
  • Οι διάμεσοι, τα ύψη και οι διχοτόμοι.
  • Ο περιγεγραμμένος, ο εγγεγραμμένος και ο κύκλος του Euler (9 σημείων).

Στα φύλλα «Πλευρές2» και «Πλευρές1» μπορούμε να υπολογίσουμε (από άλλα στοιχεία ) τις άγνωστες πλευρές ενός τριγώνου και στη συνέχεια, με τη βοήθεια του φύλλου «Πλευρές3», όλα τα στοιχεία του.

Στο φύλλο «Οδηγίες» παρουσιάζονται συνοπτικά η σχετική θεωρία και οι τύποι που χρησιμοποιούνται για τον υπολογισμό των στοιχείων του τριγώνου.

Επειδή οι υπολογισμοί είναι αρκετά σύνθετοι σκέφτηκα, πριν ανεβάσω την εφαρμογή στον τομέα «Excel samples – Χρήσιμα αρχεία & Παραδείγματα» του φόρουμ, να τη θέσω υπόψη των μελών του, για δοκιμή.

Συνεπώς, διορθώσεις, βελτιώσεις, συμπληρώσεις, κλπ είναι ευπρόσδεκτες.

Ευχαριστώ.

Φιλικά/Γιώργος

gr8styl 23-09-12 22:20

1 Συνημμένο(α)
ΜΡΑΒΟ ΓΙΩΡΓΟ εξαιρετική δουλειά !!!
Σαν μόνη ατέλεια θεωρώ ότι οι κύκλοι εμφανίζονται σαν ελλείψεις, γι αυτό προτείνω να προσαρμόσεις την κλίμακα των αξόνων (κύρια μονάδα = 0,001) και να τους αφαιρέσεις
Αν σχεδιάσεις και μια διαφανή γραμμή με χ ,ψ (μέγιστο, ελάχιστο) τότε ανεξάρτητα από τις τιμές των πλευρών οι κύκλοι θα μοιάζουν περισσότερο με κύκλο παρά έλλειψη.
Τέλος για τις περιπτώσεις που το ίχνος του ύψους βρίσκεται στην προέκταση κάποιας πλευράς του τριγώνου καλό θα είναι να σχεδιάσουμε και την προέκταση.
Δες το συνημμένο όπου απλά πρόσθεσα στο έργο σου τα παραπάνω που μπορείς αν θέλεις να τα υιοθετήσεις.

Και πάλι ΜΠΡΑΒΟ Εξαιρετική δουλειά.
Θανάσης
ΥΓ. Συμφωνώ απόλυτα να ανέβει στα χρήσιμα.

kapetang 24-09-12 15:51

Καλησπέρα

Φίλε Θανάση, ευχαριστώ και για τα καλά λόγια και για τις εύστοχες προσθήκες.

Γιώργος

ΥΓ. Μάλλον ο τύπος στο κελί X5 θα πρέπει να γίνει: =MAX(V5:W5)

gr8styl 24-09-12 20:57

Γιώργο, συμφωνώ απόλυτα για το "ο τύπος στο κελί X5 θα πρέπει να γίνει: =MAX(V5:W5)"
Βλέποντας ξανά σήμερα το έργο σου, βρήκα ένα λάθος, που θα πρέπει να διορθώσεις αν συμφωνείς.
Δοκίμασε το τρίγωνο α=9, β=7, και γ=3
Η τεταγμένη (ψ) του C (κέντρο περιγεγραμμένου κύκλου) πρέπει να διορθωθεί για να περνά ο κύκλος και από τις τρεις κορυφές του τριγώνου.
Η τιμή στο Ε61 πρέπει να ακολουθεί το πρόσημο του συνημιτόνου της γωνίας Α για να έχουμε το Α πάνω στον περιγεγραμμένο κύκλο.
Δηλαδή στο Ε61 βάζουμε =SQRT(Rout^2-SideA^2/4)*IF(COS(GwnA)<0;-1;1)

Τέλος, προτείνω και μια ακόμη βελτίωση για την επικύρωση των α, β και γ (d4, d5 και d6) που καταχωρεί ο χρήστης. Κατά την γνώμη μου πρέπει:
α>0
0<β<=α
οπότε το γ: (α-β)<γ<(α+β)
έτσι τα α, β και γ μπορούν να προέρχονται από drop-down δυναμικές λίστες.

Φιλικά
Θανάσης
ΥΓ. Μήπως πρέπει να σχεδιαστούν και οι μεσοκάθετοι.:023:

kapetang 25-09-12 18:17

1 Συνημμένο(α)
Καλησπέρα

Θανάση,

1) Πράγματι υπήρχε λάθος στον υπολογισμό του Y του κέντρου του περιγεγραμμένου κύκλου.

2) Για την επικύρωση των πλευρών α, β, και γ, έχω κάποιες επιφυλάξεις, αναφορικά με τις δυναμικές λίστες, που οφείλονται στους ακόλουθους λόγους:
  • Η πλευρά β μπορεί να είναι και μεγαλύτερη της α.
  • Κάθε πλευρά θα πρέπει να έχει ακρίβεια τουλάχιστον χιλιοστού, αφού από τα φύλλα «Πλευρές2» και «πλευρές1» θα επικολλώνται τιμές με αρκετά δεκαδικά.
  • Άλλαξα κάπως την επικύρωση και νομίζω ότι είναι εντάξει.

Δεν αποκλείεται όμως να μη κατάλαβα σωστά την πρότασή σου.

3)Πρόσθεσα στο σχέδιο τις μεσοκάθετες και τις προεκτάσεις των υψών μέχρι το ορθόκεντρο.
Είναι χρήσιμες και μπορεί να αποκαλύψουν λάθη στους υπολογισμούς.

Επειδή το σχέδιο φορτώνεται με πολλά στοιχεία, σκέφτομαι να προσθέσω πάνω από το σχέδιο πλαίσια ελέγχου για την απόκρυψη ή εμφάνιση κάποιων στοιχείων εκτός του τριγώνου.

Την υλοποίηση την ψάχνω.

4) Η αόρατη γραμμή που πρότεινες μειώνει τις παραμορφώσεις των κύκλων και των γωνιών, αλλά δεν τις εξαλείφει.

Ίσως με κώδικα να μπορούσε να αντιμετωπιστεί το πρόβλημα καλύτερα, βελτιώνοντας και την κάλυψη της περιοχής σχεδίασης.

5) Στα φύλλα «Πλευρές2» και «πλευρές1» πρόσθεσα κουμπιά για την αυτοματοποίηση της επίλυσης και στις περιπτώσεις που δίνονται λιγότερες από 3 πλευρές.

6) Για την εύκολη μετατροπή των μονάδων των γωνιών, πρόσθεσα και το φύλλο «ΜετατροπέςΓωνιών».

7) Άλλαξα κάποιους τύπους που θα μπορούσαν να δώσουν λάθος "Διαίρεση με μηδέν".

Σ’ ευχαριστώ και ελπίζω να μη σε κούρασα.

Φιλικά/Γιώργος

gr8styl 26-09-12 00:17

1 Συνημμένο(α)
Καλησπέρα/Καλημέρα

Γιώργο σε απάντηση των 7 σημείων σου:
1 συμφωνώ ότι Α>π/2 είναι σωστότερο
2 Αν δεν θέλεις να βάλεις το περιορισμό α>β όπως το προσάρμοσες είναι πολύ καλό.
3,6 και 7 Πολύ σωστά και ωραία.
4 και 5 Οι κύκλοι είναι κύκλοι αρκεί η περιοχή σχεδίασης να είναι τετράγωνο και όχι ορθογώνιο παραλληλόγραμμο.
Δεν είμαι fun της VBA !!! Θεωρώ ότι η μαγεία βρίσκεται στα κόλπα και τις συναρτήσεις.
Aν βάλεις VBA γιατί όλος αυτός ο κόπος και να μην κάνεις υπολογισμούς και γράφημα με προσαρμοσμένη κλίμακα μέσω VBA !!!
Για την υλοποίηση που ψάχνεις, δες στο συνημμένο ένα τέχνασμα για εμφάνιση ή απόκρυψη στοιχείων του γραφήματος. Έχω αλλάξει μόνο τις στήλες Ν και Ο και έχω προσθέσει κάποια πράγματα στην περιοχή Πλευρές3!AF6:AG11

Το έργο είναι δικό σου οπότε εσύ αποφασίζεις την τελική του μορφή και πότε θα είναι πλήρες.

Καληνύχτα/καλημέρα (ο χρόνος είναι σχετικό μέγεθος)

Τα λέμε
Θανάσης

kapetang 26-09-12 17:57

Καλησπέρα

Θανάση, ένα μεγάλο ευχαριστώ.

Οι λύσεις σου για την αποτροπή της παραμόρφωσης των κύκλων και την απόκρυψη στοιχείων στο σχέδιο θα έλεγα ότι με καλύπτουν πλήρως, αν δεν αντιμετώπιζα το παρακάτω πρόβλημα.

Όταν εξαφανίζεται ο κύκλος του Euler, λογικό είναι να μη εμφανίζεται και το κέντρο του (σειρά CE ενός σημείου).

Προσπάθησα να εφαρμόσω τη λύση που έδωσες για σειρά ενός σημείου, αλλά δεν τα κατάφερα.

Ίσως θα πρέπει να την κάνω σειρά 2 ταυτόσημων σημείων με επανάληψη των X,Y,αλλά έχω αρκετές σειρές ενός σημείου και πιθανόν να υπάρχει καλύτερη λύση.

Η εφαρμογή σχεδόν ολοκληρώθηκε.

Μένει να ομαδοποιήσω τα στοιχεία που θα κρύβονται ή θα εμφανίζονται (πχ τα ύψη, το ορθόκεντρο, οι προεκτάσεις των πλευρών μέχρι το ίχνος των υψών και οι προεκτάσεις των υψών μέχρι το ορθόκεντρο, πρέπει να αντιμετωπίζονται ως ομάδα) και να υλοποιήσω τη διαδικασία απόκρυψη/εμφάνιση.

Κάποια στιγμή συνεπώς, χωρίς βιασύνη, θα την ανεβάσω στα χρήσιμα.

Στο ερώτημα τύποι ή VBA, η θέση μου είναι και τα δύο.

Οι τύποι έχουν μαγεία, γοητεία και μυστήριο, όπως και μια σπαζοκεφαλιά.

H VBA έχει τα παραπάνω χαρακτηριστικά σε μικρότερο βαθμό, αλλά έχει περισσότερες δυνατότητες.

Κατά τη γνώμη μου, αρχική επιλογή θα πρέπει να είναι οι τύποι, αλλά, αν για την εφαρμογή τους απαιτούν πολλά πρόσθετα βοηθητικά δεδομένα, θα πρέπει να χρησιμοποιούμε VBA.

Φιλικά/Γιώργος

gr8styl 26-09-12 21:25

Παράθεση:

Αρχική Δημοσίευση από kapetang (Μήνυμα 12233)
...Προσπάθησα να εφαρμόσω τη λύση που έδωσες για σειρά ενός σημείου, αλλά δεν τα κατάφερα.
...

Καλησπέρα Γιώργο.
Δεν μπορείς να κάνεις απόκρυψη σημείου με το τέχνασμα που σου πρότεινα για τις γραμμές.
Μπορείς όμως να μεταφέρεις το σημείο στο (0,0) σημείο τομής των αξόνων.
Δοκίμασε, βάζοντας
Πλευρές3!$AH$11=IF($AG$11=$AF$8;"CE";"")
Πλευρές3!$AI$11=IF($AG$11=$AF$8;Xeuler;"")* 1
Πλευρές3!$AJ$11=IF($AG$11=$AF$8;Yeuler;"")* 1
και αλλάζοντας την σειρά του CE
από =SERIES("CE";Πλευρές3!$AI$11;Πλευρές 3!$AJ$11;17)
σε =SERIES(Πλευρές3!$AH$11;Πλευρές3!$AI $11;Πλευρές3!$AJ$11;17)
επιλέγοντας κρυφό, το CE μεταφέρεται στο (0,0)
Για πλήρη απόκρυψη θα χρειαστεί VBA όπου θα εξαλείφεις πλήρως την σειρά.

Θανάσης.

Tasos 27-09-12 16:58

Καλησπέρα!

Μπορούμε να αποκρύψουμε σημεία με VBA αλλάζοντας τους την ιδιότητα "MarkerStyle".

Παράδειγμα:

Κώδικας:

Option Explicit

'Excel 2010 Developer Reference > Excel Object Model Reference > Enumerations
'XlMarkerStyle Enumeration
'******************************************************
'xlMarkerStyleAutomatic -4105 Automatic markers
'xlMarkerStyleCircle 8 Circular markers
'xlMarkerStyleDash -4115 Long bar markers
'xlMarkerStyleDiamond 2 Diamond-shaped markers
'xlMarkerStyleDot -4118 Short bar markers
'xlMarkerStyleNone -4142 No markers
'xlMarkerStylePicture -4147 Picture markers
'xlMarkerStylePlus 9 Square 'markers with a plus sign
'xlMarkerStyleSquare 1 Square markers
'xlMarkerStyleStar 5 Square markers with an asterisk
'xlMarkerStyleTriangle 3 Triangular markers
'xlMarkerStyleX -4168 Square markers with an X
'******************************************************


Sub SetPointVisibility(oPoint As Excel.Point, MarkerStyle As Long)
    oPoint.MarkerStyle = MarkerStyle
    oPoint.DataLabel.ShowSeriesName = MarkerStyle <> xlMarkerStyleNone
End Sub

Sub HidePoint()
    SetPointVisibility oPoint:=Sheet2.ChartObjects(1).Chart.SeriesCollection("CE").Points(1), _
            MarkerStyle:=xlMarkerStyleNone
End Sub

Sub ShowPoint()
    SetPointVisibility oPoint:=Sheet2.ChartObjects(1).Chart.SeriesCollection("CE").Points(1), _
            MarkerStyle:=xlMarkerStyleCircle
End Sub


kapetang 27-09-12 19:43

Καλησπέρα

Θανάση και Τάσο, ευχαριστώ.

Θα προσπαθήσω να εφαρμόσω τις ιδέες σας και αν κολλήσω, θα επανέλθω.

Φιλικά/Γιώργος


Η ώρα είναι 11:28.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2