Skip to content

Instantly share code, notes, and snippets.

View kamiyaowl's full-sized avatar
🤔
:thinking_face:

Kamiya kamiyaowl

🤔
:thinking_face:
View GitHub Profile
@kamiyaowl
kamiyaowl / Digging.scala
Last active August 29, 2015 13:56
リファクタリング:scalaで迷路(穴掘り法)
import scala.util.Random
import scala.language.implicitConversions
object Digging {
implicit class ExtendMap[T1,T2](val self:Map[T1,T2]) {
def intersect[T1,T2](m:Map[T1,T2]) = {
(self.toList intersect m.toList).toMap
}
implicit def mapToExtendMap[T1,T2](self: Map[T1,T2]) : ExtendMap[T1,T2] = new ExtendMap[T1,T2](self)
@kamiyaowl
kamiyaowl / ImageProc.scala
Created March 1, 2014 15:34
scalaでフィルタ処理
import scala.language.implicitConversions
import java.awt.image.{BufferedImage,Kernel,ConvolveOp}
import javax.imageio.ImageIO
import java.io.File
object ImageProc {
implicit class RichString(self:String) {
def getExt() = self drop(self.lastIndexOf(".") + 1)
}
@kamiyaowl
kamiyaowl / MainWindow.xaml
Created March 2, 2014 16:49
kinect for c#動作最小コード
<Window x:Class="KinectTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" Initialized="Window_Initialized" Closed="Window_Closed">
<Grid>
<Image x:Name="XImageRGB" HorizontalAlignment="Left" Height="299" Margin="10,10,0,0" VerticalAlignment="Top" Width="497"/>
</Grid>
</Window>
@kamiyaowl
kamiyaowl / CvPreview.cs
Created March 4, 2014 07:21
OpenCVSharp:でCvWindowたくさん作るのめんどくさい
using OpenCvSharp;
using System;
using System.Collections.Generic;
namespace kamiya.util
{
/// <summary>
/// 簡単に画像プレビューする仕組みを提供します
/// ex)
/// var prev = new CvPreview();
@kamiyaowl
kamiyaowl / ImageUtil.cs
Created March 4, 2014 12:13
OpenCVSharpの逐次処理記述量を短く
using Microsoft.Kinect;
using OpenCvSharp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace kamiya.util
{
public static class ImageUtil
@kamiyaowl
kamiyaowl / SimpleGenetic.scala
Last active August 29, 2015 13:57
Scalaで簡単に遺伝的アルゴリズム
import scala.language.postfixOps
import scala.util.Random
import scala.reflect._
object SimpleGenetic {
abstract class Cell[T] {
var self:T
val seed:Random
def show()
@kamiyaowl
kamiyaowl / Lifegame.scala
Created March 5, 2014 12:15
ScalaでLifegame
import scala.language.postfixOps
import scala.util.Random
object Lifegame {
implicit class RichList[T](self:List[T]){
def shuffle() = (new Random).shuffle(self)
}
implicit class Field(self:Map[(Int,Int),Boolean]) {
def around(p:(Int,Int), d:Int = 1) = self filter(x => Tools.aroundPoint(p,d).contains(x._1))
def isLive(p:(Int,Int)) = {
@kamiyaowl
kamiyaowl / lifegame.c
Created March 6, 2014 18:22
lifegameをavr向けに再実装
#include<stdio.h>
#include<time.h>
#include "linear_rand.h"
#define WORLD_W 128
#define WORLD_H 64
#define TRUE 1
#define FALSE 0
@kamiyaowl
kamiyaowl / fuse.bat
Created March 6, 2014 19:48
avr書き込みバッチファイル、正しく書き込めているかテスト用
echo off
cls
avrsp -RF -pb10:312500 -d6
echo "20MHz XTAL 1/1 FL(01100010 -> 11100111)"
pause
avrsp -FL11100111 -pb10:312500 -d6
avrsp -RF -pb10:312500 -d6
pause
@kamiyaowl
kamiyaowl / LifegameGenetic.scala
Last active August 29, 2015 13:57
LifeGameの初期配置を遺伝的アルゴリズムで求める
import scala.language.postfixOps
import scala.util.Random
import scala.reflect._
object LifegameGenetic {
abstract class Cell[T] {
var self:T
def show()
def make()