Techne/Shiffman: The Nature of Code

[Shiffman] The Nature of Code - Vectors

maetel 2007. 2. 16. 16:23


my preparation for RB study:

scalar vs. vector

  vector http://en.wikipedia.org/wiki/Vector_%28spatial%29

  eg. speed vs. velocity http://en.wikipedia.org/wiki/Velocity

      http://www.scienceaid.co.uk/physics/forces/motion.html

  eg. distance (;path) vs. displacement http://en.wikipedia.org/wiki/Displacement_%28vector%29

http://en.wikipedia.org/wiki/Distance


coordinate & origin

  Cartesian coordinate http://en.wikipedia.org/wiki/Cartesian_coordinate_system

  (cf. 일반 상대성 이론에서 stress-energy 이론에 의해 코디네이트에 변형이 가해져 물리적 운동과 코디네이트의 일치가 깨지는 현상 소개) 


s(displacement) vs. v(velocity) vs. a(acceleration)

http://en.wikipedia.org/wiki/Position_vs._time_graph


normalization 

unit vector http://en.wikipedia.org/wiki/Unit_vector

  (ref. normalization (wave fn.) http://en.wikipedia.org/wiki/Normalisable_wavefunction

                   http://en.wikipedia.org/wiki/Normed_vector_space

 



Object Oriented Programming refers to art of breaking down a program into a set of self-contained parts.

Before we can begin to code any simple physics / motion simulation, we need to create a template class to store the data and perform the calculations associated with a vector.


"The term object-oriented design refers to the art of decomposing an application into some number of objects, self-contained application components that work together. The goal is to break your problem down into a number of smaller problems that are simpler and easier to handle and maintain."
-- Learning Java, Neimeyer, Knudsen 


In processing, a class is a "blueprint" or "template" for the creation of an object.

http://itp.nyu.edu/icm/shiffman/week3/index.html



A method is a name for an action. http://codeguru.earthweb.com/java/tij/tij0050.shtml

Method overloading is essential to allow the same method name to be used with different argument types. And although method overloading is a must for constructors, it’s a general convenience and can be used with any method.


instance methods / static methods


An example in the Processing library is an external Java class.
(cp. An internal Java class is a sketch in Processing.)


http://www.shiffman.net/itp/classes/nature/library/Vector3D.java

http://www.shiffman.net/teaching/nature/library/


Access Level  to Members of a Class - public, private, protected, or package-private (no explicit modifier)

http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html



ref.

Kinematics 운동학: 운동의 원인과는 상관없이 물체의 움직임만을 분석
http://en.wikipedia.org/wiki/Kinematics


the html version of Newtonian Physics, by Benjamin Crowell
http://www.lightandmatter.com/html_books/1np/ch03/ch03.html


Galileo Galilei

http://en.wikipedia.org/wiki/Galileo_Galilei

http://www.physicsclassroom.com/




hellomotion http://www.shiffman.net/itp/classes/nature/week02_s06/motion101/hellomotion.pde


boolean (<-Thing에서의 if) <= "flag"

http://en.wikipedia.org/wiki/Boolean


keyword (/reserved word 예약어) - eg. width, height, PI 


constructor (생성자)


NaN = Not a Number (숫자가 아닌 )


HeadFirst Java

2 - 객체: constructor(생성자), method(함수), property(변수, 객체)

cf. instance


Head 2 - 클래스와 객체