Skip to content

Looking at shot paths over time. Uses d3.js for the charts and canvas for the drawing of the lines.

Notifications You must be signed in to change notification settings

Real-Numbers-App/drawing-shot-paths

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sketching ball movements over time.

A math and physics problem, where the student must draw the path of the ball by graphing the x and y positions over time. Live Demo.

enter image description here

Initial Sketch of the idea

enter image description here

Projection of a point from graph to image.

const graphWidth = 324;
const graphHeight = 320;

const imageWidth = 907;
const imageHeight = 513.3;

// Functions to pass a point from the graph, and map it on the image

function getX(x) {
  return x * (imageWidth/graphWidth);
}

function getY(y) {
  return y * (imageHeight/graphHeight);
}

Height Graph.

  // Setting the height graph's x and y scale
  
  const TIME_RANGE = [0, 5] // Unit is seconds
  const IMAGE_Y_RANGE = [0.2, 18] // Unit is feet
  const x = d3.scaleLinear().domain(TIME_RANGE).range([0, graphWidth]);
  const y = d3.scaleLinear().domain(IMAGE_Y_RANGE).range([graphHeight, 0]);
  
  const intialBballValue = [{x: 0, y: 13.5}];

X-Position Graph.

  // Setting the x-position graph's x and y scale
  
  const TIME_RANGE = [0, 5] // Unit is seconds
  const IMAGE_X_RANGE = [-4.5, 28] // Unit is feet
  const x = d3.scaleLinear().domain(TIME_RANGE).range([0, graphWidth]);
  const y = d3.scaleLinear().domain(IMAGE_X_RANGE).range([graphHeight, 0]);
  
  const intialBballValue = [{x: 0, y: 19.3}];

References

The main inspiritation. Crossing Turtles by Desmos.

The video of Kawhi Leonard's shot.

Image Reference.

Story Reference, which contains the photo.