lynx   »   [go: up one dir, main page]

タグ

programmingに関するsaz_goのブックマーク (897)

  • Statechart - 増井俊之

    表を使って状態遷移を表現することもできる。transition[][]のような遷移表を作っておき、state = transition[state][input]のように現在の状態と入力から次の状態を計算するようにしておけばプログラムは簡単になる。 正確な遷移表を作ることだけ注意すれば良い。

    Statechart - 増井俊之
    saz_go
    saz_go 2018/07/31
    階層化された状態遷移。素晴らしい。
  • JavaScriptのサンプルコード集

    2017/06/21 JavaScriptの作成に役立つ、サンプルコード集です。 一覧2点の座標の中点を求める方法2点の座標の中点を求める公式を、JavaScriptで表現します。2点の座標の角度を求める方法2点の座標の角度を求める公式を、JavaScriptで表現します。2点の座標の距離を求める方法2点の座標の距離を求める公式を、JavaScriptで表現します。Blob(File)からData URIを作成する方法Blob(File)をData URIの文字列に変換します。CMYKをCMYに変換する方法カラーコードをCMYKからCMYに変換します。CMYをCMYKに変換する方法カラーコードをCMYからCMYKに変換します。CMYをRGBに変換する方法カラーコードをCMYからRGBに変換します。要素に適用されているCSSの値を取得する方法要素に適用されているスタイルシートの値を取得します

    JavaScriptのサンプルコード集
  • SLOBSERVER - L'actualité de Second Life

    SLOBSERVER - L'actualité de Second Life
  • ゲームAI - 基礎編(2) - 『はじめてのエージェントベースアーキテクチャ』

    みなさん、こんにちは! Cygamesエンジニアの佐藤です。 季節も秋を迎えて、すっかり涼しくなってきましたね。 秋の夜長はのんびり箱庭ゲームなどいかがでしょうか? SkyrimやGTAなどのオープンワールド系の箱庭ゲームでは、 街を歩くNPC達の動きも作り込まれています。 モブキャラクターたちが街や村の中で生活感豊かに動いていると、 ゲーム世界の日常の中に実際に入り込んでいるような気持ちになれますよね! 今回の記事では、NPCの生活行動のためのAIを一例にあげつつ、 自律エージェントの考え方に基づいたキャラクター駆動の仕組みについて 御紹介したいと思います。 Ⅰ.自律エージェントとは? 周囲の環境を認識して状況を解釈し、自身の内的な方針に基づいて意思決定を行って、 環境に働きかける行動を取る能力を持つ存在を自律エージェントと呼びます。 わかりやすく、ゲームの敵キャラクターに置き換えて考え

    ゲームAI - 基礎編(2) - 『はじめてのエージェントベースアーキテクチャ』
  • ゲームAI -基礎編- 『知識表現と影響マップ』

    みなさん、こんにちは! 突然ですが…皆さんには、ひいきにしている ゲームのキャラクターはいらっしゃいますでしょうか。 手ごわいボス敵や頼れるパートナー、愛嬌のある動きをするモンスター達は 一体どのような仕組みで動いているのでしょう? 今回の記事ではそんなゲームの中のキャラクター達を 魅力的に動かす仕組み、AIについて御紹介したいと思います。 改めまして記事を担当させて頂きます、Cygamesエンジニアの佐藤です。 これまでコンシューマ機でのゲームAI開発に携わり、 ゲームならではのキャラクター表現の楽しさを追いかけてきました。 このブログを通じて、皆さんのゲームのキャラクターを より表情豊かに魅力的なものにする方法について、皆さんと一緒に考えていければ幸いです。 今回はゲームAIをデザインするにあたって重要となる、 「知識表現を定義する」というステップと、 知識表現の一つである影響マッ

    ゲームAI -基礎編- 『知識表現と影響マップ』
  • クーポンコードの打ち間違えを防ぐために工夫した話 - クックパッド開発者ブログ

    こんにちは。会員事業部ビジネス開発グループの高田です。 クックパッドは今年、株主優待制度として、プレミアムサービス一年間無料クーポンを贈呈しました。エントリではクーポンコードを打ち間違えて、意図せず他の人のクーポンコードを使用するのを防ぐために工夫した話をご紹介します。 はじめに クーポンコードは入力のしやすさを優先して数字だけの文字列にしました。はじめは rand 関数を使って生成しようとしていたのですが、数字の打ち間違えや順序間違いで、意図せず誤使用してしまうのを防ぐためにチェックサムを加えるのがいい、と同僚から助言をもらいました。 いくつか調べて見たところ、Luhn アルゴリズムが上記を満たしていたので利用することにしました。 Luhn アルゴリズムの利用 Luhn アルゴリズムとは、誤り検出のためのチェックサム符号で、1 桁の間違いや隣接する数字の順序間違いを検出できるという特徴

    クーポンコードの打ち間違えを防ぐために工夫した話 - クックパッド開発者ブログ
    saz_go
    saz_go 2015/06/25
    Luhn アルゴリズム
  • RESTのベストプラクティス | POSTD

    現在ではREST APIはとても一般的な話題です。ほとんどすべてのWebアプリケーションの一部分となっています。シンプルで一貫性があり実際的なインターフェースは必須です。これは皆さんのAPIを他の人が使うことをとても容易にします。皆さんにとってはRESTの実践が日常的に感じられるかもしれませんが、RESTをあまり尊重しない人々もよく見かけます。これがRESTについて投稿するきっかけでした。 この記事にはRESTfulなAPIを設計する時に考慮すべきベストプラクティスがあります。 注意 : ここでのベストプラクティスは、私が過去の経験に基づいて良いと考える事例です。もし違う考えをお持ちであれば、お気軽にメールをくだされば意見交換できると思います。 APIのバージョンを示す APIのバージョンは必須であるべきです。これがあると時間が経ってAPIが変わっても影響を受けません。その方法の1つはUR

    RESTのベストプラクティス | POSTD
  • 安価に視線を可視化する方法 - strangelet

    2014-03-30 安価に視線を可視化する方法 先日の記事について「やり方を教えて欲しい」というコメントが多かったので簡単にまとめてみました。手間は多少かかりますがフルプライスエロゲ1分より安く構築できますので是非色々試して自分の性癖を公表してみて下さい。Let's 恥晒し(笑)。 赤外線暗視機能付きのWebカメラかビデオカメラ まずこれが必要です。今回は今年3月に発売されたばかりの「DC-NCR300U」を使用しました。Hanwha 314万画素 CMOSセンサー搭載 FullHD 1080p対応 赤外線 WEBカメラ DC-NCR300U [フルHD][マイク内蔵]出版社/メーカー: ハンファQセルズジャパン株式会社メディア: エレクトロニクスこの商品を含むブログを見る OGAMA(Open Gaze And Mouse Analyzer) こちらがオープンソースの視線可視化プログ

  • ITU Gaze Tracker - ならば

    どこで売ってるのかさえ知らないが、商用の視線追跡システムは高価らしい。一方、研究レベルでは安価な視線追跡システムの提案やプロトタイピングが結構論文になっているらしい。今回使った視線追跡ソフトITU Gaze Trackerはそのひとつの成果で、主にコペンハーゲンIT大学の研究グループによって作られている。ITU Gaze Trackerは家電量販店などで手に入るウェブカメラやビデオカメラをそのまま改造なしに使って、安く簡単に視線追跡システムを構築可能にするソフトを目指している*1。 公式の動作環境は、 Windows XP SP2 .Net Framework 3.5 SP1 赤外線暗視機能付きのウェブカメラかビデオカメラ*2 それなりに性能の良いコンピュータ となっているが、OSはWindows Vista SP2(32bit)でも動作した。あと動作環境には書いてないけど、フォーラムにあ

    ITU Gaze Tracker - ならば
  • 関数名によく使われる英単語(動詞)の意味とニュアンス | PHP Archive

    PHP に限らず、プログラミングで使われる多くの関数名は「動詞+目的語」という命名規則になっていることが多く、「insertPost()」であれば投稿を挿入するという意味が名前から読み取れます。 では投稿を削除する場合は delete でしょうか? それとも remove でしょうか? 関数は基的に英語を使うのが鉄則ですが、似たような意味を持つ単語などが多く厳密な意味の違いがわかりにくいことがあります。 そこで、プログラミングで関数名として一般的に使われている頻出語句をピックアップし、主な用途と細かい意味、ニュアンス、使い分けについて調べてみました。 追加・作成 set

  • MVC2モデルとMVCモデルの違い - プログラマの思索

    MVC2モデルとMVCモデルの違いについて、良い記事があったのでリンクしておく。 【元ネタ】 MVCをWebに適用した「MVCモデル2」 : Java好き MVCモデルのバリエーション: プログラマの思索 (引用開始) 「MVC」と「モデル2」の違いが、「モデル」の設計に影響を与える 違いは、「モデル」が「ビュー」に状態が変わったことを通知することがWebの性質上なくなった点。 サーバー側からいきなり「モデル」の状態変更が通知されることは HTTPではできないので、必然的にそうなる。 大したことのない変化に思えるが、これにともない「モデル」の構成が「MVC」と大きく変わる。 「モデル」が状態が変わったことを通知することができないことは、 毎回最新の状態のモデルを作ることにつながる。 「MVC」では前状態を保持しつつ状態変化に対応させるといった「モデル」の使い回しが可能だった。 しかし、「モ

    MVC2モデルとMVCモデルの違い - プログラマの思索
  • 幻塔戦記グリフォンの AI で使っている Behaviour Tree

    こんにちは、クライアントエンジニアの Sindharta Tanuwijaya(シンダルタ タヌイジャヤ)です。 今更ですが、1月の社内の勉強会で、 Behaviour Tree という AI の手法を発表させて頂きました。当時は幻塔戦記グリフォンを開発するのにあたって、1つのフィーチャーを完成させるためにこの機能を作っていましたが、今はいろいろなフィーチャーで使われています。 Behaviour Tree とは思考 AI のアルゴリズムの1つで、比較的に良く知られているステートマシンと目的が似ています。それはゲーム内のオブジェクトをどう考えさせて、行動させることです。ステートマシンも良い手法ですが、 AI が複雑になってくるのにつれて、管理の難しさが倍に増えるデメリットがあります。そこで、 Behaviour Tree を導入してみたわけです。 当日発表したスライドは以下です。 また、自

    幻塔戦記グリフォンの AI で使っている Behaviour Tree
  • OpenGLを使った地図描画エンジンの作り方(2)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

  • shiura on Twitter: "思い出した.カメラパラメータ行列のOpenGLへの設定.当時の査読者に「どうやるか分からん」と言われて付録に追加したのだった.RT @miyazakishogun @Harukaze96: この変換について述べられている論文 http://t.co/kp0KUBqw"

    思い出した.カメラパラメータ行列のOpenGLへの設定.当時の査読者に「どうやるか分からん」と言われて付録に追加したのだった.RT @miyazakishogun @Harukaze96: この変換について述べられている論文 http://t.co/kp0KUBqw

    shiura on Twitter: "思い出した.カメラパラメータ行列のOpenGLへの設定.当時の査読者に「どうやるか分からん」と言われて付録に追加したのだった.RT @miyazakishogun @Harukaze96: この変換について述べられている論文 http://t.co/kp0KUBqw"
  • ProcessingでKinectを使って遮蔽表現のあるARを作ろう - Imaginary Code

    今日の話は,ARにおいて人や実物体の後方にCGがある時に,CGの一部または全体が隠れて見えなくなっている状態(オクルージョン)をきちんと表現するべく,Kinectを使ってみましょうというものです. 前回はマーカベースの手法で遮蔽を実現する方法を紹介しましたが,今回はそれのKinect版です.事前に形が知らされていない未知形状の物体や,変形する物体,人間の手や胴体に対してもオクルージョンが表現できるようになります.ビバ!Kinect! 今日はこれの作り方と原理について解説します.あ,ちなみに僕人です. まずはソースコード いきなりですがProcessingのコードです.Kinectを扱うライブラリとしてsimple-openniを使いました.simple-openniのセットアップについては説明を省きます. import SimpleOpenNI.*; SimpleOpenNI kinec

    ProcessingでKinectを使って遮蔽表現のあるARを作ろう - Imaginary Code
  • OpenGLを使った地図描画エンジンの作り方(1)

    初めに 従来のYahoo!地図アプリは、社内ではラスタ形式地図アプリと呼んでおり、サーバ上で生成された地図タイル画像(ラスタデータ)を端末側で貼り合わせることで、地図を表示していました。 しかし、画像でやり取りを行うために、次のようなデメリットもありました。それは、通信の帯域を多く占有したり、地図の回転をする場合に地名などの文字も回転してしまい、読みづらくなったりする点です。 そこで、今回フルリニューアルしたAndroidYahoo!地図アプリでは、サーバからベクトルデータを受信して、端末側で地図を描画するベクトル形式地図アプリに移行しました。 ベクトル形式地図アプリに移行したAndroidYahoo!地図アプリは、従来版と比べ、以下のような点がメリットとして挙げられます。 通信の軽量化 回転拡大縮小のスムーズ化 3Dなど新しい地図表現の追加 ベクトル形式地図アプリ ラスタ形式のデータ

  • ダブルMVCの意味するところ [GoGaRuCo 2013] - ワザノバ | wazanova.jp

    [Video] http://www.youtube.com/watch?v=s1dhXamEAKQ TildのYehuda KatzのGolden Gate Ruby Conference 2013での講演。 Ruby on RailsのクリエーターであるDavid Heinemeier Hanssonが、「JavaScript勢はダブルMVCで苦しんでいる。サーバとクライアント両方にMVCが必要で複雑すぎる。」とTwitterで発言したのに対して、Yehudaは、それでは誤解を与えると危惧し、GUIプログラミングが歴史的にどのようにMVCに発展してきたかを紹介することで、ダブルMVCが当に意味するところを解説しています。 DHHの発言は、盛り上がってきたMeteor / Node.js勢に対する単なる批判っぽいですが、それに対してYehudaはロジカルに話をまとめてます。 スライドを

    saz_go
    saz_go 2013/10/15
    この長さでseparated presentationにも触れている。
  • Functional JavaScript

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Functional JavaScript
  • まつもと直伝 プログラミングのオキテ 第3回(3)

    図7 Mix-inによるStreamクラスの構築例<BR>クラス階層はツリー構造を保ちつつ,コードのコピーも避けている。 継承には2つの意味がある Javaのような静的型のオブジェクト指向言語の変数には,変数を介して呼び出されるメソッドを制限する働きがありました。ただし,制限がかかるのは「どのようなメソッドを持っているか」であって,「どのように実装されているか」ではありません。 今まで一まとめにして継承と呼んできましたが,実は継承には2つの異なる概念が含まれています。一つは,「どのようなメソッドを持っているか」あるいは「どのように振る舞うか」ということに着目した「仕様の継承」です。 もう一つは「どのようなデータ構造を使い,どのようなアルゴリズムで処理するか」ということに着目した「実装の継承」です。 静的型言語では両者の区別が重要になります*4。Javaでもこの2つを明確に区別しており,実装

    まつもと直伝 プログラミングのオキテ 第3回(3)
    saz_go
    saz_go 2013/09/21
    ミックスイン
  • raymarching for games - primitive: blog

    demoscene の世界では近年 raymarching というレンダリング手法がよく用いられています。ポリゴンモデルは使わず、モデルデータは数式の図形としてシェーダコードの中で表現し、pixel shader で図形との距離を求めて可視化していく、というものです。 demoscene (4k/64k intro) の厳しい容量制限の中綺麗な絵を出すために生み出された手法ですが、従来のポリゴンベースの手法では難しい独特の絵を出すことができるという副次的効果があります。 raymarching の代表的な作品群 この手法は PS4 世代以降、小規模ゲーム開発チーム向けの有用なツールになるんじゃないかと考えていて、atomic では試しに背景にこの手法を用いています。以下はその過程や考察です。 まず、raymarching の基については demoscene.jp の人たちが素晴らしい解説

    raymarching for games - primitive: blog
    saz_go
    saz_go 2013/08/22
    “ポリゴンモデルは使わず、モデルデータは数式の図形としてシェーダコードの中で表現し、pixel shader で図形との距離を求めて可視化していく”
Лучший частный хостинг