Skip to content
Snippets Groups Projects
Commit 03519819 authored by Christoph-Anton Schwierz's avatar Christoph-Anton Schwierz
Browse files

perspDivide

parent 13a48a98
No related branches found
No related tags found
No related merge requests found
......@@ -8,8 +8,10 @@
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
<!--script type="module" src="/src/main.ts"></script>
<script type="module" src="/src/cg/main.ts"></script>
<script type="module" src="/src/cg/pgIntro.ts"></script>
<script type="module" src="/src/cg/vector.ts"></script-->
<script type="module" src="/src/cg/perspectiveDivide.ts"></script>
</body>
</html>
//import { perspDivide } from "./_helper";
import Playground from "./playground";
const pg = new Playground();
const point = [1.5, 0.6, -10];
const pointa = [point[0], point[1], -3];
const distImagePlane = -1;
// Creates a basic camera visualization
pg.visCamera(distImagePlane);
pg.visVector(point, { color: "orange", label: "P", triangles: true })
pg.visVector(pointa, { color: "red", label: "Pa", triangles: true })
// Add your function "perspDivide".
// IMPORTANT: Our camera points along -Z.
function perspDivide(p: Array<number>, dist: number) {
return [dist * p[0] / p[2], dist * p[1] / p[2], dist ] ;
}
let pProjected = perspDivide(point, distImagePlane);
pg.visVector(pProjected, { color: "blue", label: "P'", triangles: true });
pg.visVector(perspDivide(pointa, distImagePlane), { color: "green", label: "Pa'", triangles: true });
\ No newline at end of file
import Playground from "./playground";
const pg = new Playground();
// Some vectors
const v = [2,2,3]
const w = [1,2,3]
// Do some math
const sub = [v[0] - w[0], v[1] - w[1], v[2] - w[2]]
// Visualize
pg.gridXZ(); // Grid
pg.visVector(v,{color:"orange",label:"V"});
pg.visVector(w,{color:"dodgerblue",label:"W"});
pg.visVector(sub,{color:"green",placeAt:w});
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment