Skip to content

Instantly share code, notes, and snippets.

@cmdr2
cmdr2 / gist:0e4ad366d1fe7b2524511d6bddd15e2a
Last active December 5, 2021 14:12
Disable discrete GPU on MacBook Pro
Follow the steps on http://www.angelofarina.it/DisableDiscrete.htm
if this doesn't work:
`sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00`
then try `sudo nvram 000fa4ce-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00`
Also check if any new NVidia or AMD drivers got created in /System/Library/Extensions, like GeForce* or NVDA* or NVIDIA* or CUDA*, which will need to be moved away
@cmdr2
cmdr2 / Math3d.cs
Created November 11, 2021 07:34
Useful 3D math functions from the old Unity 3D wiki (which has been shut down). Source: the archived version from July, 2021 at https://web.archive.org/web/20210507045029/https://wiki.unity3d.com/index.php/3d_Math_functions
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System;
public class Math3d {
private static Transform tempChild = null;
private static Transform tempParent = null;
@cmdr2
cmdr2 / transform-3d-world-local.py
Created July 8, 2021 07:28
3D world-to-local and local-to-world transform using Python (numpy and transforms3d)
# pip install transforms3d numpy
import transforms3d as t3d
import numpy as np
scene_transform = {"pos": [0,0,0], "rot": [0,0,0,1], "scale": [1,1,1]}
# https://forum.unity.com/threads/whats-the-math-behind-transform-transformpoint.107401/#post-709765
def local_to_world(p):
v = np.multiply(p, scene_transform["scale"])
// returns a gaussian random function with the given mean and stdev.
function gaussian(mean, stdev) {
var y2;
var use_last = false;
return function() {
var y1;
if (use_last) {
y1 = y2;
use_last = false;
} else {
@cmdr2
cmdr2 / MarchingCubesExample.cs
Created February 4, 2021 12:27
Simple example usage script for MarchingCubes.cs at https://gist.github.com/cmdr2/b5326aa6fbf3c367747cc5ec31ba831e
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// Simple example usage script for MarchingCubes.cs:
// at: https://gist.github.com/cmdr2/b5326aa6fbf3c367747cc5ec31ba831e
//
// Attach to an empty GameObject in the scene
//
// Not optimized, performs poorly! Written for simple readability
@cmdr2
cmdr2 / MarchingCubes.cs
Last active May 3, 2023 03:36
Reimplementation of a simple Marching Cubes algorithm in C# for Unity. Not for production use, it needs performance improvements. Example script to run this in Unity: https://gist.github.com/cmdr2/b5aea11b9bd5259b9198f4fdc027061c
using System.Collections.Generic;
using UnityEngine;
// Reimplementation of http://paulbourke.net/geometry/polygonise/
// in C# for Unity.
//
// Example script to run this in Unity: https://gist.github.com/cmdr2/b5aea11b9bd5259b9198f4fdc027061c
//
// Note: This uses Unity's Linear Interpolation and Vector3
//
@cmdr2
cmdr2 / test.js
Last active April 28, 2020 11:24
<script src="https://cdnjs.cloudflare.com/ajax/libs/processing.js/1.6.0/processing.min.js"></script>
<body>
<script type="application/processing">
void setup(){
size(200, 200);
}
void draw(){
background(64);
ellipse(40, 40, 20, 20);
@cmdr2
cmdr2 / iss-brightness.py
Last active February 4, 2020 09:35
Calculate brightness magnitude of ISS (and whether Earth's shadow is falling on it) using pyephem
# by cmdr2, anyone is free to use and modify this, without the need to give credit
import math
import ephem
import time
from datetime import datetime, timedelta
# consts
degrees_per_rad = 180.0 / math.pi
au = 149597892
// by cmdr2, anyone is free to use and modify this, without the need to give credit
const satellite = require('satellite.js'); // https://www.npmjs.com/package/satellite.js
const SunCalc = require('suncalc'); // https://www.npmjs.com/package/suncalc
var satrec = satellite.twoline2satrec('1 71066C 20001A 20014.19313215 -.01059873 00000-0 -43936-2 0 145',
'2 71066 52.9993 1.7743 0000976 92.9471 326.1492 15.86148217 16');
var stdMag = 4.7; // for Starlink-2
@cmdr2
cmdr2 / fun_smartphone.js
Last active November 14, 2019 15:56
Access to the full power of a smartphone to a javascript file, with the simplest (least-verbose) possible API of what a "smartphone" is. Probably scary, and some parts might not be possible yet.
var acc = require('imu');
var camera = require('camera');
var file = require('file');
var notification = require('notification');
var vibrate = require('vibrate');
var led = require('led');
var location = require('location');
var sms = require('sms');
var contacts = require('contacts');