Skip to content

Instantly share code, notes, and snippets.

@BarakChamo
BarakChamo / CameraContentActivator.cs
Created March 6, 2022 10:09
Unity tag content activator
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Linq;
public class CameraContentActivator : MonoBehaviour {
//to use this code, tag all your wall cameras first.
//NorthCam, SouthCam, EastCam, WestCam, FloorCam
@BarakChamo
BarakChamo / index.js
Created August 31, 2021 20:24
Palindrome
function compare(s, i, p, n) {
const current = s[i]
const prev = i > 0 ? s[i - p] : ''
const next = i < (s.length - n) ? s[i + n] : ''
if(s.length == 1)
return false
if(prev == next)
return [p+1, n+1, true]
@BarakChamo
BarakChamo / index.js
Created August 31, 2021 20:23
Walls and Gates
// const table = [
// ["_", "W", "_", "_"],
// ["_", "_", "_", "W"],
// ["_", "W", "_", "W"],
// ["_", "W", "_", "_"],
// ]
const table = [
["G", "W", "_", "_","_", "W", "_", "_","_", "W", "_", "_","_", "W", "_", "_","_", "W", "_", "_","_", "W", "_", "_"],
["_", "_", "_", "W","_", "_", "_", "W","_", "W", "_", "W","_", "_", "_", "W","_", "W", "_", "W","_", "W", "_", "W"],
@BarakChamo
BarakChamo / demo.js
Created November 4, 2019 23:19
THREE.js move camera along path with lookAt target
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 50, window.innerWidth/window.innerHeight, 0.1, 1000 );
camera.up = new THREE.Vector3(0,0,1);
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
@BarakChamo
BarakChamo / distance_function.glsl
Last active February 29, 2024 00:54
Shader distance functions (metrics)
/*
GLSL distance functions and tesselation demo
Live demo at: https://www.shadertoy.com/view/4lccW8
*/
/* Euclidean distance */
/* https://en.wikipedia.org/wiki/Euclidean_distance */
float euclideanDistance(float p1, float p2) {
float d1 = (p1 - p2);
return sqrt(pow(d1, 2.0));
@BarakChamo
BarakChamo / cameraCapture.js
Last active November 16, 2017 22:43
Camera Capture Thingy
a = window;
TIME_SWITCH_TIME = 4000;
DOWNLOAD_TIME = 2000;
function captureImage(time) {
document.createElement("img");
var c = document.createElement("canvas"),
d = c.getContext("2d"),
e,
@BarakChamo
BarakChamo / Circle.pde
Last active September 24, 2017 21:11 — forked from oshoham/Circle.pde
circle packing for the laser cutter
// Daniel Shiffman
// http://codingtra.in
// http://patreon.com/codingtrain
// Code for: https://youtu.be/QHEQuoIKgNE
import processing.pdf.*;
ArrayList<Circle> circles;
void setup() {
@BarakChamo
BarakChamo / countries.tsv
Created September 10, 2016 17:54
world data
id name
-1 Northern Cyprus
-2 Kosovo
-3 Somaliland
4 Afghanistan
8 Albania
10 Antarctica
12 Algeria
16 American Samoa
20 Andorra
@BarakChamo
BarakChamo / demo.css
Last active August 29, 2015 14:13
HotTable.js
/* Space out content a bit */
body {
padding-top: 20px;
padding-bottom: 20px;
}
/* Everything but the jumbotron gets side spacing for mobile first views */
.header,
.marketing,
.footer {
@BarakChamo
BarakChamo / README.md
Last active December 18, 2015 06:59 — forked from mbostock/.block

The easiest way to transition between pie charts with differently-sized datasets (while maintaining object constancy) is to set the missing values to zero.

function type(d) {
  d.apples = +d.apples || 0;
  d.oranges = +d.oranges || 0;
  return d;
}