Βρείτε την απόσταση

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

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
spookyb52
Δημοσιεύσεις: 1891
Εγγραφή: 23 Ιαν 2002 01:00
Τοποθεσία: Lost in the mansion
Επικοινωνία:

Βρείτε την απόσταση

Δημοσίευση από spookyb52 » 01 Μάιος 2004 14:41

Όπως είχα πεί και σε ένα flashaki που είχα βάλει. Η απόσταση μεταξύ 2 σημείων είναι η υποτείνουσα του ορθογωνίου τριγώνου που αυτά σχηματίζουν

Στο παρακάτω ορθογώνιο τρίγωνο η πλευρά γ είναι η υποτείνουσα

Εικόνα

Όπως βλέπουμε το τετράγωνο της υποτ. είναι ίσσο με το άθροισμα των άλλων 2 πλευρών καθε μίας υψωμένης στο τετράγωνο χωριστά

Άν η πλευρά α ήταν πχ 3 και η β 4 τότε το θα είχαμε 9+16 =25

Η ρίζα του 25 είναι το 5 άρα η πλευρά γ είναι 5

Στην παρακάτω εικόνα έχουμε 2 κύκλους. Η απόσταση μεταξύ αυτών είναι η μαύρη διαγώνιος γραμμή.
Κάθε αντικείμενο έχει μιά θέση πάνω στον οριζόντιο άξονα των x και τον κάθετο των y

Εικόνα

Για να βρούμε την απόσταση μεταξύ αυτών θα πρέπει πρώτα να σχηματίσουμε το ορθωγόνιο τρίγωνο όπως στην επόμενη εικόνα

Εικόνα

Στην συνέχεια με βάση τα όσα είπαμε πιό πάνω βρίσκουμε την απόσταση.

Πρίν συνεχίσω να περιγράψω κάποιες χρήσιμες μαθηματικές εντολές του flash

Math.pow(x, y) Υψώνει τον αριθμό χ στη δύναμη y

Πχ Math.pow(3, 2) θα δώσει 9

--------------------

Math.abs() Επιστρέφει ένα αρνητικό αριθμό με θετική τιμή

Πχ Math.abs(-3) επιστρέφει 3

------------------------

Math.sqrt() Δίνει την τετραγωνική ρίζα εν΄ς αριθμού

Πχ Math.sqrt(9) δίνει 3

------------------------

trace() Βγάζει στο output Παράθυρο του flash ότι υπάρχει στη παρένθεση

Πχ γράψτε trace("hello flash"); και πατήστε ctrl+enter

Αντίστοιχα Μπορείτε να δώσετε μια μεταβλητή πχ trace(myvariablename); και τα λοιπά

------------------------------------


Έστω ότι φτιάχνουμε 2 movie clips στο flash με ονομασία instances blue και red

Η απόσταση τους στον άξονα των x είναι >>>>> blue._x-red._x ( 'η το ανάποδο)

Επειδή όμως αυτή η τιμή μπορεί να βγεί αρνητική γράφουμε

Math.abs(blue._x-red._x )

Εμείς θέλουμε αυτό να υψωθεί στο τετράγωνο άρα γράφουμε

Math.pow(Math.abs(blue._x-red._x ), 2)

Με την ίδια ακριβώς διαδικασία έχουμε για τον άξονα των y

Math.pow(Math.abs(blue._y-red._y ), 2)

Αυτά τα δύο θέλουμε να τα προσθέσουμε άρα έχουμε

Math.pow(Math.abs(blue._x-red._x ), 2) + Math.pow(Math.abs(blue._y-red._y ), 2)

Το παραπάνω είναι η υποτείνουσα υψωμένη στο τετράγωνο, εμείς όμως θέλουμε τη ρίζα αυτής. Έτσι γίνεται ...

Κώδικας: Επιλογή όλων

Math.sqrt(Math.pow(Math.abs(blue._x-red._x), 2)+Math.pow(Math.abs(blue._y-red._y), 2));
Αυτό ήταν...! μπορείτε να του δώσετε το όνομα μιάς μεταβλητής πχ

ypotin = Math.sqrt(Math.pow(Math.abs(blue._x-red._x), 2)+Math.pow(Math.abs(blue._y-red._y), 2));

για να το χρησιμοποιείτε γρήγορα στα έργα σας. Πχ trace(ypotin)

Στο παρακάτω flash με click & drag μετακινήστε το κόκκινο movie σε δίαφορα σημεία (sorry για το τρεμοπαιγμα αλλά φτιάχτηκε στα γρήγορα)


Life is like a fast car on an icy road. Brakes don't work, yes I know it, but I step on the gas
Garage punk | Rockabilly | Rock 'n' Roll | Stoner

Απάντηση

Επιστροφή στο “Flash γενικά”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες