Seilias

Physics and Photography

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

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

Σύνδεση






Ξεχάσατε τον κωδικό σας;

Με δυο λόγια

Πόσο γρήγορα κινούνται τα ηλεκτρόνια μέσα στα σύρματα όταν τα τελευταία διαρρέονται από ηλεκτρικό ρεύμα;

Ένα χιλιοστό στο δευτερόλεπτο, τόσο γρήγορα όσο και τα σαλιγκάρια!

Και τότε γιατί ανάβει αμέσως η λάμπα όταν ανάβουμε το φως;

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

 
Ιούν
05
2009
Τα πρώτα βήματα στον προγραμματισμό σε Action Script Εκτύπωση E-mail
(14 ψήφοι)
Το πρόγραμμα που χρησιμοποιώ για την δημιουργία των προσομοιώσεων είναι το 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:
 
Τίτλος:
 
Δημήτρης Λειβαδίτης  - Φυσικός, ΓΕΛ Καλλίπολης   |37.6.247.xxx |07-Nov-2016 00:15:21
Γεια σας,

Συγχαρητήρια για τη δουλειά σας. Θα ήθελα να ρωτήσω, έχω κατεβάσει δοκιμαστικά το flash builder αλλά δεν βλέπω πουθενά εργαλεία
σχεδίασης για να κάνω τον κύκλο του παραδείγματος που δίνετε για την κυκλική κίνηση. Γενικά πού μπορώ να γράψω αυτό το πρόγραμμα;
Πρέπει να αγοράσω το Flash Abode Professional;

Ευχαριστώ πολύ
Πάνος  - Παραδείγματα φυσικής   |89.31.176.xxx |21-Jun-2012 15:50:29
Συγχαρητήρια για τα παραδείγματα φυσικής που δημοσιεύεις και για την εξήγηση που δίνεις για το πως τα κατασκευάζεις.
Έχω κι εγώ
δημοσιεύσει κάποια προβλήματα φυσικής που μπορεί να βρεις ενδιαφέροντα στο:
http://pantsik.awardspace.com/problems/ypo logismoy.html

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

Τελευταία ανανέωση ( 30.01.19 )
 
< Προηγ.
 
Joomla Templates by Joomlashack