Skip to content

Instantly share code, notes, and snippets.

Hiroyuki Sato shspage

View GitHub Profile
@shspage
shspage / uzumaki.py
Last active May 28, 2020
カーブ生成 + 渦巻き (blender 2.82a)
View uzumaki.py
import bpy
import math
# カーブ生成 + 渦巻き (blender 2.82a)
# (渦巻きは曲線上の点をプロットしたもので、NURBSのポイントとして適切かは考慮していません。)
def createPolyline(coords, obj_name, closed=False):
# ref: https://blender.stackexchange.com/questions/120074/how-to-make-a-curve-path-from-scratch-given-a-list-of-x-y-z-points
cv = bpy.data.curves.new('cv', 'CURVE')
cv.dimensions = '3D'
@shspage
shspage / 1_simple_delaunay_refinement_for_blender.py
Last active May 27, 2020
以前書いたドロネー分割簡易最適化のblender版 (blender 2.82a)
View 1_simple_delaunay_refinement_for_blender.py
import bpy
import mathutils
import numpy as np
import math
NUM_POINTS = 300 # 点の数
MAX_ITERATION = 100 # 最適化試行回数上限
MAX_ERROR_SQUARED = 1e-4 # 前回の最適化との最大誤差(の2乗)
RADIUS = 5 # 半径
@shspage
shspage / blender_simple_anim1.py
Created May 20, 2020
blenderで形状をアニメーションさせる簡単な例。Run Script してからTimelineで再生 (blender 2.82a)
View blender_simple_anim1.py
import bpy
from mathutils import Vector, Matrix
import math
class MyScene:
_freq = 3
_cube_count = 20
_scale = 0.1
_radius = 2
_rotation_x = math.radians(4)
@shspage
shspage / 1_example_mxi_file_for_hybrid_zxp.md
Last active Jan 26, 2020
Illustrator用ハイブリッドzxpのmxiファイル
View 1_example_mxi_file_for_hybrid_zxp.md

インストールに成功したIllustrator用ハイブリッドzxpのmxiファイル。
ディレクトリ構造はこんなだ。comboMoverUI.zxpはHTMLエクステンション部分単体で作成したzxp。

  • comboMover
    • comboMoverUI.mxi
    • comboMoverUI.zxp
    • mac
      • comboMover.aip
    • win64
      • comboMover.aip
@shspage
shspage / 1_MyToolPlugin_with_sdk.cpp
Last active Jan 16, 2020
[Illustrator SDK] シフト+クリックで何かする。 // もっと今時の簡単な書き方あるのかもしれないけど、とりあえず動作する → SDKの機能で簡単に書けた
View 1_MyToolPlugin_with_sdk.cpp
// @peprintenpa さんに教えていただいた、SDKの機能を使う方法。
// ref: https://twitter.com/peprintenpa/status/1217626021630857216
AIErr MyTool::ToolMouseDown( AIToolMessage* message )
{
if(message->event->modifiers & aiEventModifiers_shiftKey){
sAIUser->MessageAlert(ai::UnicodeString("shift is down"));
}
// ...
}
@shspage
shspage / sort_by_position.jsx
Created Aug 9, 2019
Illustrator script。オブジェクトの位置によるソートのサンプル。
View sort_by_position.jsx
#target illustrator
// 選択オブジェクトを位置によってソートし、
// ソート順に連番の名前をつける。
// ソート方法は sortByPosition を参照
function main(){
var sels = app.activeDocument.selection;
if(sels){
@shspage
shspage / nhk_gogaku_LUC.py
Last active Jul 13, 2019
NHKゴガク ストリーミング 一括保存用 (レベルアップ中国語 )
View nhk_gogaku_LUC.py
#!/usr/bin/env python
# coding:utf-8
from __future__ import print_function
import sys
import os
import traceback
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from time import sleep, strftime
@shspage
shspage / _a_part_of_vimrc.vim
Last active Mar 27, 2019
[vim][.vimrc] Ctrl+矢印で端末サイズを変更する(暫定) ... 初めてvimスクリプトらしきものを書いてみた。こんな感じでいいのかな?
View _a_part_of_vimrc.vim
" 端末サイズ変更
" n : 幅(columns)または高さ(lines)に足す数
" is_width : 幅=TRUE, 高さ=FALSE
"TODO: 最大化状態の取得と解除
"TODO: 1行で "set〜" "redr" を実行する書き方があれば関数化することもないのだが
function! ResizeTerminal (n, is_width)
if a:is_width
execute "set columns+=" . a:n
else
execute "set lines+=" . a:n
View simple_delaunay_refinement.py
#!/usr/bin/env python
# coding:utf-8
from __future__ import print_function
import os
import math
import numpy as np
import scipy.spatial
import matplotlib.pyplot as plt
from random import random
You can’t perform that action at this time.