Canvas3D Picking
Contents
Name of Project
Canvas 3D - Picking
Description
To put the project description simply, what it does is that when you click in Canvas 3D, you will select the object that is in the most front in the current camera angle you are looking at. So the details of this Picking project is this:
- Convert the mouse coord in Windows to Canvas coord
- In the current scene, find all objects that intersect where the mouse is clicked
- Find the object closest to the camera from the list of intersecting objects
Leader(s)
Project Contributor(s)
- Andor Salga
- Catherine Leung
- Chris Bishop - Example Code done for picking
- Jeremy - Ideas of implementing picking
Contribution(s)
- A sample canvas 3d demo with multiple objects in it at different depths (or just random positions) from the camera (current view/scene)
Releases
0.2 - Nov 18th
Goal (Done)
- Make functions that will help complete the project
- Model.getVertices() which returns a reference of all the vertices in the object
- Mouse coord convert: converting the mouse coord in Canvas coord
- Other functions that might come up
New Class File and modified Model File Found Here: Picking.js, Model.js
(Since it only has functions and doesn't actually do anything yet, the extension with the new class will be release in 0.3)
0.3 - Dec 12th
Goal
- Have the project working or at least close to working (with few minor bugs)
Project Updates
December 2008
Dec 5, 2008
- Worked with Andor
- Tried transforming the mouse vector from just z-axis-aligned to 3D free space
- Found problem with transformation applied to mouse vector -> not working
- Discussion with Cathy
- Might be something wrong with matrix transformation -> applied in wrong place/order, applied wrong matrix
- Might be something wrong with the way the mouse vector was constructed
- Discussed how the 3D World gets compressed and transformed into the 2D screen
Dec 4, 2008
- Skype Meeting
- Update everyone's progress
- Talked about where I am at in the project, and where I am having trouble/problem with
Dec 3, 2008
Dec 2, 2008
- Worked with Andor
- Changed code for capturing mouse coordinates - the previous code still had some offset from the browser
- Fixed problem for Math.tan - changed number from degree to radian
- Converted mouse (x,y) from pixel to 3D coord
November 2008
Nov 30, 2008
- Tested several different intersection test code
- One of them worked but with bugs, need to fix
Nov 28, 2008
- Worked with Andor
- Found several ray-box intersection tests to try
Nov 27, 2008
- Skype meeting with project members
- Updated everyone's project status
Nov 26, 2008
- Did thorough testing on the 3D vector conversion
- Found minor offset to vector (made it relative to camera position to fix error)
Nov 24, 2008
- Created a custom C3D Demo to test transformation data
Nov 21, 2008
- Worked with Andor in person
- Approached the vector transformation in a different way
- Applied 3 stages of transformation to mouse vector to test (Window -> NDC, NDC -> View, View -> Model)
Nov 20, 2008
- Canvas 3D Library Meeting on Skype
Nov 18, 2008
- Worked with Andor in person
Nov 17, 2008
- Completed 0.2 Release
- Uploaded files
- Created blog entry for release
- Calculated mouse vector using trigonometry
Nov 14, 2008
- Crash session on C3DL with Andor
Nov 13, 2008
- Created Wiki Page
- Got demo files from Andor
- Got mouse position relative to Canvas
Nov 12, 2008
- Discussed ideas to do the project
- Set goals for releases
- Got Canvas 3D Library source and IDL