February 11, 2014

最近のタブレット

久々のつぶやきです。(^^;

最近、パソコン使わなくなったなぁとつくづく。
スマホとタブレットで殆ど日常問題なし。
これは自分でも予想以上でしたねぇ。

パソコンは年賀状作成と、レンタル映画をXXX。あとはメールくらい。

スマホとタブレットで個人的に気に入っているものをつぶやいてみますと、
・クイキン(ゲーム)
・パズドラ(ゲーム)
・Cytus(ゲーム)
・グルコサミン(ゲーム)
・Evernote(ツール)
・LINE(ツール)
・渋滞ブラウザ(ツール)
・乗り換え案内(ツール)
他にWebブラウザや2chブラウザ等。

まぁ無料でこれだけできたらパソコンいらないですよね。
映画を見ようとした事もありましたが、これは面倒でやめました。(^^;

個人的には外出時のタブレットはブルートゥースでスマホに接続するのがベストだと思っています。
LANは自宅に限る。

| | Comments (0) | TrackBack (0)

June 30, 2012

sin関数、cos関数を自作する

久々の自作シリーズです。
sin()とcos()をC++で使いたいのですが、あいにくmath.hをインクルードできません。
そこで、自作してみようと思います。

基本的にはテイラー展開(しかも、sin(),cos()の場合はマクローリン展開)です。
sin(x) = x - (x^3)/3! + (x^5)/5! - (x^7)/7! ...
cos(x) = (x^2)/2! - (x^4)/4! + (x^6)/6! - (x^8)/8! ...

2つの方法を試したのですが、より精度の出る方をご紹介します。

----- 要求精度を満足したところで処理を終える -----
double sin(double x)
{
    double s = x;
    double e = x;
    double d;
    int k;

    // 必要精度の設定.
    double eps = 1e-32;

    x = fmod(x, 2 * π);
    for(k = 2; k <= 200; k = k + 2)
    {
        d = s;
        e = -e * x;
        e = e * x;
        e = e / k;
        e = e / (k + 1);
        s = s + e;

        // ここからは、精度の検証.
        double work = e;
        if(work < 0)
        {
            work *= -1;    // 絶対値へ.
        }
        if(work < eps)                          // 精度の判定.
        {
            return s;
        }
    }
    return 1L;
}

double cos(double x)
{
    double s = 1.0;
    double e = 1.0;
    double d;
    int k;

    // 必要精度の設定.
    double eps = 1e-32;

    x = fmod(x, 2 * π);
    for(k = 1; k <= 200; k = k + 2)
    {
        d = s;
        e = -e * x;
        e = e * x;
        e = e / k;
        e = e / (k + 1);
        s = s + e;

        // ここからは、精度の検証.
        double work = e;
        if(work < 0)
        {
            work *= -1;    // 絶対値へ.
        }
        if(work < eps)                          // 精度の判定.
        {
            return s;
        }
    }
    return 1L;
}

ざっくりですが、これで動くと思います。
絶対値の取得は関数がありますね。
そっちが使える環境なら使った方がよいと思います。
私の環境では使えないのでちまちま判定しています。

参考までに、「ネイピア数eの累乗」に関するエントリーもココにあります。

| | Comments (295) | TrackBack (0)

August 18, 2011

iPOD touchでYouTubeの動画を見る方法

iPOD touchでYouTubeの動画って見れるのだろうか?と探してみたら、やっぱりあるもんです。

さて、その方法ですが、2通り。
PCを経由する方法と、ダイレクトにDLする方法。

【PCを経由する方法】
1.IEでDLしたい動画を見る

2.IEのキャッシュフォルダから今見た動画をデスクトップ等にコピーする
  キャッシュフォルダは以下
  C:\Users\ここはuser名\AppData\Local\Microsoft\Windows\Temporary Internet Files
  ※キャッシュは事前にクリアしておくとファイルを探しやすいです
  
  videoplayback?sarams=id......という長い名前のファイルが対象ファイル

3.コピーしたファイルを任意の名前にリネーム
  この時、拡張子を 『flv』 にします
  このファイルはflvに対応したプレーヤーで再生可能です。
  ※GOM PLAYERとかがフリーのツールとしてDL/Install可能です

4.flvファイルをmp4に変換します
  「GOM ENCODER」 を使いました。
  探せば他にもあると思います。
  このツールはプロダクトキーを入力しなければフリーですが、出来たファイルにロゴが入ってしまいます。
  それが嫌なら他のツールを探しましょう。
  ツールを起動します。(ライセンスキーは入力せず「後で認証」とします)
  flvファイルをツールにドラッグ&ドロップします。
  保存フォルダを設定します。(C:\Users\ここはUser名\Videos\とかにすると楽?)
  開始ボタンを押すとmp4ファイルが指定フォルダに出来上がります。

5.iTunesを起動し、作成した動画ファイルをライブラリに追加します
  無事追加されましたか?これでiPOD touchを接続し同期すればYouTubeの動画が見れます。

【ダイレクトにDLする方法】
1.clipboxというフリーのツールをインストールします

2.ツールを起動し、ダウンロードを選択します

3.ブラウザを選択します

4.GoogleでYouTubeを検索し移動します
  ※ホームページをYouTubeに変更しておくと、次からGoogleにいかず面倒ありません

5.YouTubeでDLしたい動画を検索し、動画を選択。

6.「+」を押して、「Are you ok?」を押し、「Really?」を押します

7.保存先を変えるならここで変更し、「OK」を押せばDLが始まります

8.DLしたファイルは、起動直後のマイコレクションから見ることが出来ます。
  ※保存先をマイコレクションから変更していれば、自分が指定したフォルダを見てください。

以上で2種類の方法紹介を終了します。
なお、たぶん大丈夫だと思いますが、セキュリティ面で「保障」は出来ませんのであしからず。(^^;
では、お好きな方法を使ってYouTubeを楽しみましょう。

| | Comments (9) | TrackBack (0)

June 03, 2010

iPOD touchでGood Readerを使う

神アプリと呼ばれている「Good Reader」を使いたい!。
USBメモリ的な使い方をしたい。
WiFiとかもいいけど、USBでファイル転送したい!。

さあて...。

まず、Good Readerを購入。今は安いです。
ちなみに、Good Readerのバージョンは v 2.7.3 でした。
そうなんです。
アップルのご指導によりUSBフォルダが見えなくなってるんです。

USBでアクセスするまでの手順をおさらいします。
最初に書いておきますが、この方法はジェイルブレイクせず実現できます。
①iPOD touchにGood Readerをインストール
②iTuneでバックアップ(つなぐだけ)
③i-FunBoxでUSB転送用のフォルダを作成
④iBackupBot for iTunesでGood Readerの設定を変更
⑤リストア
⑥再起動
⑦i-FunBoxでじゃんじゃんiPOD touchにコピー
こんな感じ。

もしGood Readerのバージョンがv 2.3なら④から先は不要なはず。
そんなこと言っても今入手できるのはv 2.3以降なんだからしかたがないですよね。

悩んだのは④⑤です。
詳細はおいおい追加してゆきます。

See you.

- edit 2010.08.13 -
久々にi-FunBoxを起動したらiPOD touchと接続できなくなっていました。
i-FunBoxのバージョンとiTuneのバージョン?が合わないから?
ちゃんと調べもせずiPhone Explorerを使ってみたら、元のデータまで壊れてしまいました。
このままではUSBアクセスできないっぽいです。
むむむ。
ちゃんと調べて対処する必要があるっぽいですね。
- end edit -

| | Comments (5) | TrackBack (0)

February 10, 2009

ネイピア数eの累乗

ネイピア数(e)の累乗(または、べきじょう)を求める場合、Cで開発するならmath.hをインクルードし exp( ) を使用するのがお薦めですが、このライブラリを使用出来ない場合には exp( )相当の機能を を自力で実装する必要があります。

ちなみに、e^x = 1 + x/1! + x^2/2! + x^3/3! ...x^n/n! が自然対数のテイラー展開です。

で、私が "eの累乗" を必要とした理由は、対数値から実数値を得たかったからなんです。

常用対数値 2 であれば 10^2 = 100 で、当然底(a)は"10"です。
 ※ log a (Y) = x ←---→ Y = a^x がaを底としxを指数とする指数関数となります。
    つまり、対数値(x) から 実数値(Y)を得る場合は a^x が解 となります。

しかし、、常用対数でない場合を考えて底変換した場合、 a^x = e^(x * log e(a))となります。ココで "eの累乗" が必要となってくるわけです。常用対数限定としないことで底を自由に設定可能となるメリットがありますが、このメリットを不要とするのであれば、log e(10) の解を定数としてもってしまうのも一つの手段だと思います。

まずは、自然対数値(log e(a))はおいておいて、e^x を自力で実装する方法です。

あらかじめお断りしておかなければならないのは、次数をいくつまで計算するか?により精度に影響を及ぼすということです。

e^x の x が1以下(少数含む)の場合、次数(n)が少なくても"0"近辺に収束しますが、xが大きい場合、x^nが分子となることから、次数が小さいと "0" に収束せず誤差として現れます。分母は次数に依存しますから当然といえば当然なんですが面倒ですね。
さて、これを解決する方法は 2つあります。

① 必要な精度を設定し、精度を満足するまで x^n/n! の加算を続けること。
② e^1は少ない次数で"0"近辺に収束しますから、累乗の整数部と少数部を分けて計算する方法です。

私の開発環境では②を選択しました。e^1は定数としてもっておき、整数部 * e^1 * 少数部のe^n です。自作した64ビットのfloat型で動かしますので、少数部の次数は64bitの精度を考慮した次数を設定しました。

ですが、一般的には①だと思いますので、そちらを紹介したいと思います。

double expDt(double dt)
{
    double gosa = 1e-03;
    double ans = 1.0;
    double wkdt = 1.0;
    double x;

    for(WORD cnt = 1;cnt < 100;cnt ++){  // これで収束する?
        x = ans;
        wkdt = wkdt * dt / cnt;  // x^n / n!
        ans = ans + wkdt;
        if( (ans - x) < gosa * x ){  // 精度満足?
            return( ans );
        }
    }
    return 0.0; // loop数で期待した精度満足しなかった
}

以上がテイラー展開の一般的(?)な方法のサンプルを紹介しました。
必要な精度の設定及び絶対値云々は必要に応じて設定して下さい。
上記は指数が負の場合など考慮していません。 ( ちなみに負の解は1/ans です)
※このソースで問題が発生しても責任は使用者にあります。 (^^;

尚、参考までに、n! は "nの階乗" って意味で、1*2*3*..*n です。
ま、その辺が不明な場合はググってみて下さい。
ではこの辺で。(*´д`*)

| | Comments (2) | TrackBack (0)

January 17, 2009

ファイルが見つかりません "Flash.ocx"

『 ファイルが見つかりません "Flash.ocx" 』 というエラーが出るようになりました。

原因はAdobe Flash Playerをインストールしてからです。
スクリーンセーバーに入る時に、Flash.ocx が見つからないとエラーになるようです。

対策ですが、まずAdobe Flash Playerを最新版にしてみます。 ココからdownloadできます。

それでも駄目なら得意の強行手段です。(^^;

1.Flash*.ocx を検索します。
2.見つかった Flash*.ocx を以下の場所にコピーします。
     C:\WINDOWS\system32\Macromed\Flash
3.ファイル名を Flash.ocx にリネームします。
以上で終了です。簡単ですね。

さて、ココからは私の作業内容を書いておきます。
私の環境では、Flash10a.ocx というファイルがありました。
しかも、C:\WINDOWS\system32\Macromed\Flash にです。(^^;
ですので、Flash10a.ocx を同フォルダ上でコピーし、
"コピー ~ Flash10a.ocx" を Flash.ocx にリネームしています。
※万が一、Adobe側で Flash10a.ocx を使うと困るので、このようにコピーしてオリジナルを残す方法をとりました。
  まぁこの辺はちゃんと調べれば要・不要はっきりしますが、面倒だったので...。(Λ。Λ)

Edit - 2012/04/19 -
どうも、新しいFlash PlayerはFlash*.ocxというファイルがありません。
従って、上記のようにリネームする方法は通用しなくなりました。
ちゃんと調べる時間がなく、私はスクリーンセーバーをOFFにしてごまかしています。(^^;
※ちゃんと対策が分かったら追記します

| | Comments (55) | TrackBack (0)

April 14, 2008

2層DVD-ROMのバックアップ

大切なDVD-ROMディスク。
傷や熱による変形、子どもが投げて...なんてあり得る話ですよね。
で、バックアップを取る方法は無いものか?と調べてみました。

まず、ISO形式でバックアップ可能なようです。
【DVD Decrypter】というフリーソフトが日本語化に対応しており有名っぽいですね。
これでISO形式 (ディスクのイメージファイル) が出来るみたい。
※B's Recorderでも出来るんでしょうか?

次はDVD+R DL ヘの書き込みですね。
【DVD Decrypter】のISO形式書き込みが楽そうです。

が!注意。問題有りそうです。
私の使用しているDVDドライブは NEC 3500AG です。NECのOEM品ですね。B's RecorderでF/Wバージョンをみると 2.26 となっていますが、どうやら DVD+R DLヘの書き込みに問題でちゃいそうです。Web情報では、アイ・オー・データのHPから最新F/Wアップデータが提供されているらしく、これで最新版にしておいた方がよさげです。

さぁ書き込みだ!とはいきません。もう一点注意が必要。
BookTypeと呼ばれるディスクタイプの設定によって、再生互換の有無が発生するという情報が...。
恐らくはROM化と呼ばれる、DVD+R DLをDVD-ROMにBookTypeを変更するのが吉っぽい気がしますね。
っと...。見れば【DVD Decrypter】でBookTypeを設定出来そうです。さすがです。

これでISOファイルをROM化して書き戻し出来そうな気がしてきますね。
でも2層のDVDメディアって高価ですよね。実験したくてもおこずかいが...。
これだけ調べて見ましたが、成功するかどうか実験するのは無理っぽいです...。(泣)
著作権の問題もありますから安易に実験するのも問題有りますしね。

って事で、このエントリーに書かれている内容での実験・本番バックアップする場合は、著作権に影響ない事をちゃんと確認してからおこなう必要がありますね。自己責任って事で。(Λ。Λ)

| | Comments (57) | TrackBack (0)

March 06, 2008

Windows Vistaでデバイスアクセス

例えば、Windows VistaでUSB接続されたハードディスクにアクセスするアプリケーションを作成する場合、Visual C++ではCreateFile()を使用しデバイスのハンドルを取得しようとして失敗する場合があります。(というか、私は失敗しました)
で、原因の一つとして有力なのがUAC(User Account Control)と呼ばれるセキュリティ機能でしょう。通常はUACが有効であり、Adminアカウントでログオンしているだけではデバイスへのアクセス権が与えられないようです。
そこで、UACを無効にします。「ユーザーアカウント制御の有効化または無効化」から「ユーザーアカウント制御の有効化または無効化」のチェックを外しPCを再起動すればOK。
これでUSB接続したハードディスクのハンドルを取得出来るようになります。

次に、論理と物理の問題があります。CreateFileの第一引数であるlpFileNameですね。論理とは「¥¥.¥C」で物理とは「PHYSICALDRIVE0」を渡します。ココで、第二引数である dwDesiredAccess と第三引数 dwShareMode の設定がいい加減だと、物理でのハンドル取得に失敗したり、ディスクへのWriteコマンドエラーの原因となります。

CreateFile(lpFileName = \\\\.\\PhysicalDrive0
dwDesiredAccess = GENERIC_READ | GENERIC_WRITE
dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE
lpSecurityAttributes = NULL
dwCreationDisposition = OPEN_EXISTING
dwFlagsAndAttributes = NULL
hTemplateFile = NULL );

ですね。

あとはDeviceIoControl()にハンドルやら何やらを渡してあげて、エラー処理を作ってあげれば何とかなりそうな気がしますね。ってか動いてますが...。(Λ。Λ)

| | Comments (13) | TrackBack (0)

September 14, 2006

KB920872が適用出来ない

WindowsUpdate(MicrosoftUpdate)でKB920872(2006年8月17日公開)が未適用だと怒られます。
WindowsXPSP2のオーディオ修正パッチなんだそうです。
オーディオ再生中のエラーと、一時停止→再開時のバグフィックスみたい。
WindowsXP-KB920872-x86-JPN.exeというモジュールをダウンロードしインストールも試してみました。
でもチェックするとやっぱり未適用リストにのってしまう...。(○`ε´○)

C:\WINDOWS\system32\drivers フォルダにある以下の3つのファイルが問題のようです。
・Kmixer.sys
・Splitter.sys
・Wdmaud.sys
これをいつものように手動で更新してもいいんですが、もう少し真面目に調べてみました。

ココで嫌でも目につくのがタスクトレイにあるSound Effectというアイコン。
RealtekのAC97 Audio Sound Effect Managerです。
これをExitしてWindowsUpdate(MicrosoftUpdate)してみます。
直っちゃいました。~―γ( ̄ο ̄)oΟ◯
どうやらAC97 Audio Sound Effect Manager(SOUNDMAN.exe)が更新該当ファイルを使用中だったみたいで最新版に更新出来なかったみたいですね。

ちなみに、もし作業後タスクトレイからSound Effectのアイコンが消えてしまった場合、コントロールパネルからサウンドエフィクトマネージャを開き、タスクトレイに表示するというチェックボックスを有効にすれば元に戻ります。
逆に邪魔ならチェックを外したままがいいかもしれませんね。

しかし、Update失敗しているんだからエラーにしてよマイクロソフト!って一応言ってみる。

| | Comments (0) | TrackBack (0)

February 28, 2006

JavaScriptを使った検索

こちらのサイトを参考に 「JavaScriptを使った検索」 を追加してみました。
Googleと違って検索漏れがありません。
速度と精度のトレードオフですが、ブロードバンド環境であれば検索速度も許容範囲内と感じています。
※スクリプトはお借りしている状態です。( ありがとうございます )

基本的には「Googleフリー検索」を追加した時と同じで、マイリストにテキストを表示するテクニックです。
私の場合は既にマイリストがありましたので、新たにマイリストを追加し項目を追加してみたら検索窓が表示されませんでした。
そこで、既にあるマイリストを使い項目を追加してスクリプトを貼り付けると問題無く動きました。
<script>タグが<title>タグになってしまうのが原因ですが、面倒なので調べていません。
動いたので良しとします。~―γ( ̄ο ̄)oΟ◯

| | Comments (0) | TrackBack (0)

より以前の記事一覧