Seilias

Physics and Photography

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

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

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

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


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

Σύνδεση






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

Με δυο λόγια

 Τι ύψος πρέπει να έχει ένας καθρέφτης για να φανούμε ολόκληροι;


Ακριβώς το μισό μας ύψος. Δηλαδή αν το ύψος μας είναι 1.80m  τότε ένας καθρέφτης των 0.90m (90 πόντους) είναι αρκετός για να μας δείξει ολόκληρους, αρκεί να τοποθετηθεί σωστά. Θα πρέπει το πάνω μέρος του να είναι στο ύψος του μετώπου μας.

Δείτε την προσομοίωση κάνοντας κλικ εδώ

 
Αρχική arrow Τεχνικά Θέματα arrow Τα πρώτα βήματα στον προγραμματισμό σε Action Script
Ιούν
05
2009
Τα πρώτα βήματα στον προγραμματισμό σε Action Script Εκτύπωση E-mail
(13 ψήφοι)
Το πρόγραμμα που χρησιμοποιώ για την δημιουργία των προσομοιώσεων είναι το 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 |06-Nov-2016 21:15:21
Γεια σας,

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

Ευχαριστώ πολύ
Πάνος  - Παραδείγματα φυσικής   |89.31.176.xxx |21-Jun-2012 12: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."

 
< Προηγ.
 
Joomla Templates by Joomlashack