line
Points along a displacement vector – Part 1
I thought it might be helpful to teach a bit about vectors.
In this example, you’ll see a starting point (the green sphere) and an ending point (the red sphere). The displacement vector between the sphere is going from the starting point to the ending point.
You find the displacement vector by subtracting the ending point’s x, y, and z from the starting point’s x, y, and z. Then you can easily add points along the vector in a loop as demonstrated in the code:
package { import org.papervision3d.core.math.Number3D; import org.papervision3d.materials.WireframeMaterial; import org.papervision3d.objects.primitives.Sphere; import org.papervision3d.view.BasicView; [SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")] public class PointsAlongAVector extends BasicView { private const NUM_POINTS:int = 10; public function PointsAlongAVector() { var pointA:Sphere = new Sphere(new WireframeMaterial(0x00cc00), 500); pointA.x = -1000; pointA.y = -800; pointA.z = 500; var pointB:Sphere = new Sphere(new WireframeMaterial(0xcc0000), 500); pointB.x = 12000; pointB.y = 8000; pointB.z = 20000; scene.addChild(pointA); scene.addChild(pointB); //we're going from A to B //so subtract A from B var vector:Number3D = new Number3D ( pointB.x - pointA.x, pointB.y - pointA.y, pointB.z - pointA.z ); for(var i:int = 0; i < NUM_POINTS; i++) { var pointAlongVector:Sphere = new Sphere(null, 50, 4, 4); //take the starting point (pointA) //add the vector and multiply it by //the proportion of the current time through the loop (i) //over the total number of times through the loop (NUM_POINTS) pointAlongVector.x = pointA.x + (vector.x * i / NUM_POINTS); pointAlongVector.y = pointA.y + (vector.y * i / NUM_POINTS); pointAlongVector.z = pointA.z + (vector.z * i / NUM_POINTS); scene.addChild(pointAlongVector); } //nothing's moving, so we only render once singleRender(); } } }
Search
Recommended Books
Speaking at FITC Toronto
Recent Posts
- Moving to johnlindquist.com
- AsyncCommand with Robotlegs, Signals, Flight, MinimalComps
- Search Widget – Robotlegs, Signals, Flight, Minimal Comps, Yahoo Astra
- FDT Super Awesome March Deal
- FDT Theme Designer
- haXe Tutorial
- AS3 Signals Tutorial
- Preferred Video Tutorial Resolution?
- TweenMax – Tweening a timeline (Advanced Tweening)
- Robotlegs + Flight + Union Platform
- Back in the saddle
- Eclipse Theme Designer Preview
- RobotLegs Hello World Video Tutorial
- 10 Things Every Senior Flash Developer Should Know
- Efflex – 3D Effects for Flex
Recent Comments
- list of lpn courses on SpringCamera3D and Driving a Car
- rn to bsn in montgomery al on archive
- PowerPoint Recovery on Eclipse Theme Designer Preview
- cheat mw3 on Test if a plane is within the view of the camera (aka testing if culled)
- Goa Hotels on Looking around the inside of a Sphere
- cheat gratuit on Looking around the inside of a Sphere
- Application Development on Robotlegs + Flight + Union Platform
- nexium on Moving Faces
- buy nexium on Holy Sphere
- buy aldara online on Tweening a “moveForward()” behavior
Categories
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « May | ||||||
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | |||
Archives
Preferred Video Tutorial Resolution
- 1024x768 (53%, 85 Votes)
- 1280x1024 (15%, 24 Votes)
- 1920x1080 (15%, 24 Votes)
- 800x600 (13%, 20 Votes)
- 480x320 (4%, 6 Votes)
- 640x480 (0%, 2 Votes)
Total Voters: 160

