Skip to content

Instantly share code, notes, and snippets.

Tai Komatsu taikomatsu

Block or report user

Report or block taikomatsu

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View carve_each_curves.vfl
// carveする値。ここにバラバラの値を入れればバラバラにcarveも可能。
float carve = fit(f@Frame, 1, 24, 1, 0);
int pts[] = primpoints(0, i@primnum);
// carve後のcurveのポイントを保持する配列
int newpts[] = {};
foreach (int pt; pts) {
float u = point(0, "curveu", pt);
// carveの向きはここの条件やcarveの変化を変えればOK
if (u<carve)
removepoint(0, pt);
View convert_hdri_to_png.py
import os
import os.path
import imageio
import numpy as np
from PIL import Image
# .hdrや.exrなど、読み込む際にfreeimageを使う必要があるフォーマット用にfreeimageをダウンロードしてくれるらしい
imageio.plugins.freeimage.download()
def list_hdri(dirname):
@taikomatsu
taikomatsu / display_hdr_qt.py
Created May 29, 2019
Display hdr using PySide2
View display_hdr_qt.py
from PySide2 import QtWidgets, QtGui
from PySide2 import QtCore
import sys
import imageio
import numpy as np
from PIL import Image, ImageQt
imgpath = 'myhdri.hdr'
imageio.plugins.freeimage.download()
img = imageio.imread(imgpath)
View displayhdr.py
import numpy as np
import imageio
from PIL import Image
import matplotlib.pyplot as plt
# imageioで画像を読み込み
imgpath = 'myhdri.hdr'
imageio.plugins.freeimage.download()
img = imageio.imread(imgpath)
@taikomatsu
taikomatsu / readhdr.py
Created May 27, 2019
Read hdr using imageio
View readhdr.py
import imageio
imgpath = 'myhdri.hdr'
# freeimageがインストールされていないシステムでも以下の一行を実行すればHDRが読める
imageio.plugins.freeimage.download()
img = imageio.imread(imgpath)
# 画像サイズも確認可能
print(img.shape)
@taikomatsu
taikomatsu / bias_gain_short.vfl
Last active Apr 19, 2019
bias & gain for VEX short ver
View bias_gain_short.vfl
float bias(float b; float x) {
return pow(x, log(b)/log(0.5));
}
float gain(float g; float x) {
return (x<0.5) ? bias(1-g, 2*x)*.5 : 1-bias(1-g, 2-2*x)*.5;
}
// usage example
float x = v@P.x;
//v@P.y = bias(0.8, x);
@taikomatsu
taikomatsu / bias_gain.vfl
Last active Jan 22, 2019
bias & gain for VEX
View bias_gain.vfl
float bias(float b; float x) {
return pow(x, log(b)/log(0.5));
}
float gain(float g; float x) {
if (x<0.5)
return bias(1-g, 2*x)/2;
else
return 1-bias(1-g, 2-2*x)/2;
}
@taikomatsu
taikomatsu / easy_angle_difference_detection.py
Created Apr 13, 2018
超手抜き版エッジから正しいポジションを復元させるやーつ。任意の軸とエッジ(2点)の角度の差をdegreeでなんとなく取得する。
View easy_angle_difference_detection.py
from pymel.core import *
import math
pt0, pt1 = selected(fl=True)
p0 = dt.Vector(xform(pt0, q=True, ws=True, t=True, a=True))
p1 = dt.Vector(xform(pt1, q=True, ws=True, t=True, a=True))
diff = p0-p1
axis = dt.Vector(0, 0, 1)
print(math.degrees(math.acos(diff.normal().dot(axis))))
@taikomatsu
taikomatsu / check_dynArray_value.py
Last active Dec 20, 2017
dynamic attributeの値をチェックする。主にSOuPやMash使ってる時用かも。
View check_dynArray_value.py
# とりあえず大急ぎで書いてる
# あれこれ書き方忘れてたので参考ページもメモ
# https://area.autodesk.jp/column/tutorial/maya_atoz/attribute_plug/
# http://ianwaters.co.uk/wp/mash/accessing-mash-point-data-with-the-maya-api/
from maya import OpenMaya
import pymel.core as pm
def mdg_from_name(name):
@taikomatsu
taikomatsu / convert_focal_aov.py
Created Oct 9, 2017
Convert AOV from Focal Length / Focal Length from AOV (Maya)
View convert_focal_aov.py
# Mayaで諸事情によりカメラスケール使えなかった時用に調べて書いた
# degreeとmmで計算してます
import math
def focal_to_aov(focal, aperture):
'''
focal: focal length
aperture: horizontal aperture (mm)
'''
You can’t perform that action at this time.