Seilias

Physics and Photography

Τα Δημοφιλέστερα του Μήνα

Σχόλια - Παρατηρήσεις

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

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


Για ενσωμάτωση αρχείων προσομοιώσεων στο Word-Excel-PowerPoint πατήστε εδώ


Σας Ευχαριστώ.

Με δυο λόγια

Δύο πράγματα είναι άπειρα. Το σύμπαν και η ανθρώπινη βλακεία, και ως προς το πρώτο έχω κάποιες αμφιβολίες.

A. Einstein

 
Ιούν
05
2009
Τα πρώτα βήματα στον προγραμματισμό σε Action Script PDF Εκτύπωση E-mail
(4 ψήφοι)
Το πρόγραμμα που χρησιμοποιώ για την δημιουργία των προσομοιώσεων είναι το Flash της Adobe.

Η φιλοσοφία του προγράμματος είναι να δημιουργεί εικόνες (frames) και να τις προβάλλει με έναν ρυθμό (fps - frames per second). Η μεγάλη του ισχύς όμως είναι στην γλώσσα προγραμματισμού που υποστηρίζει. Εγώ χρησιμοποιώ την Action Script 2 (υπάρχει και νεώτερη).

Η κύρια εικόνα που αντικρίζει κανείς όταν ξεκινάει είναι ένα λευκό παράθυρο stage. Εκεί δημιουργούμε ένα σχήμα πχ έναν κύκλο και το μετατρέπουμε σε σύμβολο (δεξί κλικ στο σχήμα και convert to symbol). Το επόμενο βήμα είναι να του δώσουμε ένα όνομα για να μπορούμε να αναφερόμαστε σε αυτό το αντικείμενο στον προγραμματισμό πχ ball_mc. Κάνουμε κλικ σε ένα σημείο εκτός της μπάλας και πηγαίνουμε στο παράθυρο Actions - Frame και πληκτρολογούμε τον παρακάτω απλό κώδικα

var t:Number =0;

onEnterFrame=function() {

  ball_mc._x=260+50*Math.sin(t);

  t+=0.1;

};

αφού τελειώσουμε την πληκτρολόγηση πιέζουμε τα πλήκτρα ctrl+enter για να δοκιμάσουμε την ταινία μας.

Ας εξηγήσουμε γραμμή - γραμμή τον κώδικα

Στην πρώτη γραμμή δηλώνουμε ότι η μεταβλητή t (χρόνος) είναι ένας αριθμός και σαν αρχική τιμή είναι μηδέν.

Στην δεύτερη γραμμή onEnterFrame=function() λέμε στο Flash να εκτελεί ότι βρίσκεται μέσα στα άγκιστρα { } κάθε φορά που θα μπαίνει σε αυτό το καρέ. Επειδή έχουμε ένα καρέ όλο και όλο στην ταινία μας το flash στην ουσία εκτελεί συνέχεια αυτόν τον κώδικα με ρυθμό που του έχουμε καθορίσει (τα λεγόμενα fps) (Η προεπιλεγμένη τιμή για τις ανάγκες μας δημιουργεί όχι και τόσο ομαλή κίνηση εγώ χρησιμοποιώ συνήθως 60fps)

Η εντολή ball_mc._x είναι η συντεταγμένη του σώματος ball_mc σε μονάδες pixels με αρχή του συστήματος αναφοράς την πάνω αριστερή γωνία του παραθύρου.

Η εντολή Math.sin(t) είναι το ημ(t)

H τρίτη γραμμή περιγράφει την θέση της μπάλας. Η οποία εκτελεί απλή αρμονική ταλάντωση με κυκλική συχνότητα 1 και η θέση ισορροπίας βρίσκεται στο X=260;

H εντολή t+=0.1 είναι συντομογραφία της t=t+0.1 δηλαδή κάθε φορά που θα την εκτελεί θα αυξάνει τον χρόνο κατά 0.1.

Μόλις το flash συναντά το } εκτελείτε ξανά ο βρόγχος κ.ο.κ.

Ακολουθούν μερικά παραδείγματα.

Μια ομαλή κυκλική κίνηση.

var t:Number =0;
onEnterFrame=function() {
  ball_mc._x=260+50*Math.sin(t);
  ball_mc._y=260+50*Math.cos(t);
  t+=0.1;
};

το παραπάνω παραμετροποιημένο

var t:Number =0;
var A:Number =1;
var w:Number =1;
var Scale:Number =50;
var X0:Number =260;
var Y0:Number =200;
var dt:Number =0.1;

onEnterFrame=function() {
  ball_mc._x=X0+Scale*A*Math.sin(w*t);
  ball_mc._y=Y0+Scale*A*Math.cos(w*t);
  t+=dt;
};

Ένα διακρότημα

var t:Number =0;
var A:Number =1;
var w1:Number =1;
var w2:Number =1.1;
var Scale:Number =50;
var X0:Number =260;
var dt:Number =0.1;

onEnterFrame=function() {
  ball_mc._x=X0+Scale*A*(Math.sin(w1*t)+Math.sin(w2*t));
  t+=dt;
};

Μια επιταχυνόμενη κίνηση

var t:Number =0;
var v:Number=5;
var dx:Number=0;
var a:Number=2;
var Scale:Number =50;
var X0:Number =260;
var dt:Number =0.1;

onEnterFrame=function() {
  t+=dt;
  dx=v*dt+a*dt*dt/2;
  v+=a*dt;
  ball_mc._x+=dx;
}


Τα παραπάνω παραδείγματα μαζί με άλλα δύο μπορείτε να τα κατεβάσετε κάνοντας κλικ στο κουμπί "Τα Παραδείγματα σε FLA".

+/-
Γράψτε σχόλιο
Όνομα:
Email:
 
Τίτλος:
 
+/- Σχόλια
Προσθήκη νέου Αναζήτηση

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 
< Προηγ.   Επόμ. >
 
Joomla Templates by Joomlashack