goo blog サービス終了のお知らせ 

CyberChaos(さいばかおす)

プログラミング言語、トランスパイラ、RPA、ChatGPT、データマイニング、リバースエンジニアリングのための忘備録

用意した2D画像から3Dモデルを自動作成してくれるサービス「KAEDIM 」

2023-04-12 00:02:41 | 日記

KAEDIM 用意した2D画像から3Dモデルを自動作成してくれるサービス - 3DCG最新情報サイト MODELING HAPPY

KAEDIM 用意した2D画像から3Dモデルを自動作成してくれるサービス - 3DCG最新情報サイト MODELING HAPPY

KAEDIM KAEDIMは用意した1~6枚の画像を読み込ませて自動で3Dモデルを作成してくれるサービスです。

3DCG最新情報サイト MODELING HAPPY - 3DCGクリエイターになるならこのサイト

KAEDIM 用意した2D画像から3Dモデルを自動作成してくれるサービス


LiDARで点群計測

2023-04-11 22:08:40 | Civil3D
DataLabs(本社:東京都中央区)も、2023年4月10日にiPhoneやiPadを使って、配筋検査を自動化する「Modely(モデリー)」の製品版を発売することになりました。
iPhone点群で配筋検査を自動化! 円形配筋にも対応できるDataLabsの「Modely」がリリース | 建設ITブログ

iPhone点群で配筋検査を自動化! 円形配筋にも対応できるDataLabsの「Modely」がリリース | 建設ITブログ

iPhoneなどのLiDARで配筋を点群計測し、クラウドで3D配筋モデル化。鉄筋ピッチやかぶり厚などを計測して配筋検査帳票を自動作成します。クラウド上で発注者とデータ共有する...

建設ITブログ | BIM、i-ConstructionからAI、ロボまでの最新情報

LiDARとは、iPhoneやiPadの上位機種に搭載された3Dスキャン装置で、5m程度離れたものまで点群計測することができます。

この点群をクラウドにアップロードし、検査範囲を画面上でクリックしていすると、その範囲内の配筋を検出して3Dモデルを自動作成します。

その3Dモデルから、鉄筋径や鉄筋ピッチなどを計測して設計値と比較し、配筋検査帳票を自動作成してくれるのです。

とのこと。

要するにiphone、ipadに搭載されている3Dスキャナーで点群データを取得して、3Dモデルを作成できるということだ。ただし5m離れた所までとのこと。

小規模の現場なら土木工事にも応用可能で、もちろんCivil3Dに点群データをインポートして製図できるはずだ。


Pythonでファイルの拡張子を変換

2023-04-11 03:07:58 | python
Pythonでファイル変換

任意のファイルを読み込んで他の拡張子に変えるPythonコードを書いて

以下は、Pythonを使ってファイルを読み込み、新しい拡張子に変換する簡単なコード例です。この例では、txtファイルをcsvファイルに変換しています。

import csv

# ファイルを開く
with open('input.txt', 'r') as input_file:
# 新しいファイル名を作成
output_file_name = 'output.csv'
# 新しいファイルを作成して書き込む
with open(output_file_name, 'w', newline='') as output_file:
writer = csv.writer(output_file)
# 元のファイルを1行ずつ読み込み、新しいファイルに書き込む
for line in input_file:
row = line.strip().split(' ') # 例えば、タブ区切りのファイルをcsvに変換する場合
writer.writerow(row)
この例では、input.txtという名前のファイルを開いて、output.csvという名前の新しいファイルを作成し、それぞれのファイルに対してファイル操作を行っています。csvモジュールを使用して、csvファイルを作成していますが、他の拡張子に変更する場合は、適切なモジュールを使用する必要があります。また、ファイルの読み込みと書き込みに関しては、プログラムを実行する環境によって異なるため、必要に応じて変更する必要があります。

ん?何だか頼んでもいない余計なことまで書いているようだな。
お節介というか、いらんことすんなや。


【Pythonコードの置換 】任意のPythonコード内の文字を置換してからそのプログラムを実行する方法は?

2023-04-11 02:38:41 | python
【Pythonコードの置換】

任意のPythonプログラム内の文字を最初に他の文字に置き換えてから、そのプログラムを実行するPythonプログラムを書いて。

Pythonプログラム内の文字を置換して実行するために、以下の手順に従います。

ファイルの読み込み: open() 関数を使用してファイルを読み込みます。

with open('file.py', 'r') as f:
code = f.read()

文字列の置換: replace() メソッドを使用して、文字列内の指定された文字を置換します。

code = code.replace('old_text', 'new_text')

ファイルの書き込み: open() 関数を使用して、置換されたコードをファイルに書き込みます。

with open('file.py', 'w') as f:
f.write(code)

コードの実行: exec() 関数を使用して、置換されたコードを実行します。

exec(code)

以上の手順をまとめると、次のようになります。

with open('file.py', 'r') as f:
code = f.read()

code = code.replace('old_text', 'new_text')

with open('file.py', 'w') as f:
f.write(code)

exec(code)

ただし、この方法はコードのセキュリティを損なう可能性があるため、注意して使用する必要があります。また、適切な置換を行わない場合、プログラムの動作が変わってしまうことがあるため、慎重に検討する必要があります。

何が言いたいのかというと、
「以下のPythonプログラム内のjpyを他の文字(例えばgbp)に置き換えてから、このプログラムを実行したい。そのためにはどういうプログラムを書けば良いか?」
ということだ。
以下のPythonプログラムのファイル名をfx.pyとすると、
with open('fx.py', 'r') as f:
code = f.read()

code = code.replace('jpy', 'gbp')

with open('fx.py', 'w') as f:
f.write(code)

exec(code)
となる。

import pandas as pd
import yfinance as yf
import datetime as dt

jpy = yf.download(tickers='JPY=X',
start = '2021-01-01',
end=dt.datetime.today(),
interval='1wk' )

jpy['Performance(%)'] = (jpy['Adj Close']/jpy['Adj Close'].iloc[0]-1)*100

fig = make_subplots(rows = 2, cols=1,
vertical_spacing = 0.1,
shared_xaxes=True,
subplot_titles=['<b>USDJPY Weekly Chart', '<b>Performance(%)'])
fig.update_layout(xaxis_rangeslider=dict(visible=False))

fig.update_layout(autosize=False,
height=750,
width=900,
hovermode = 'closest',
yaxis = dict(title = 'USDJPY Rate'),
plot_bgcolor = 'white')
fig.add_trace(go.Candlestick(
x=jpy.index,
open=jpy['Open'],
high=jpy['High'],
low=jpy['Low'],
close=jpy['Adj Close'],
name = 'USDJPY'))
fig.add_trace(go.Scatter(x = jpy.index,
y = jpy['Performance(%)'],
name='Performance(%)',
line = dict(color = 'blue')),
row = 2,
col = 1)
fig.add_annotation(text='<b>2021年以降<br>対米ドルで円安が急速に進行中',
showarrow=False, x=dt.datetime(2021,10,31),
y=135,
align='left', font=dict(size=18,color='black'))
fig.show()

【後談】
tickers='JPY=X'のJPYはinput関数を使って入力を求めるように書き換えれば置換することができたが、jpyの部分は同じ様にinput関数で入力を求めて置換することがどうしてもできなかった。
それをどうすれば解決できるかChatGPTに質問してみたというわけだ。

ちなみにこのプログラムがエラー無しで実行可能であるならば、置換前の元のプログラムは破壊されて機能しないリスクがあるらしい。


AutoCADをLISPでプログラミング

2023-04-10 04:12:38 | 日記

Autocad専用LispはAutoLispというらしい。

例えば、始点が 0,0、終点が 100,100 の線分を描く LISP は・・・

(command "_line" "0,0" "100,100" "")
その他
自動化については…
https://alraku.com/autolisp-2/181/
Autocad+LISPでググる↓
https://www.google.com/search?q=Autocad+LISP&oq=Autocad+LISP&aqs=chrome..69i57j69i65j0i512l8.7086j0j7&client=ms-android-sharp&sourceid=chrome-mobile&ie=UTF-8

Kindle本をPDF化する方法

2023-04-09 22:07:00 | 日記
【マジで無料】Kindle本をPDF化する方法【ガチで失敗しない】

【マジで無料】Kindle本をPDF化する方法【ガチで失敗しない】

こちらの記事では、どこよりも分かりやすく、そしてガチで失敗せずマジで無料のKindle書籍PDF化方法を丹精込めて1つご紹介します。有料アプリへの誘導はありません。

オカメJP| あるドイツ在住日本語教師のブログ

手始めにエロマンガでトライ!
あっさり成功www

次に本命へ。

一番PDF化したい本命がDRMロックがかかっており、PDF化できなかったが、
https://jp.moyens.net/how-to/219756/
を参考にしてDRMプラグインを入れたらとうとうPDF化出来てしまった。
鬼畜米英バカ害人ザマアWWW
↑ホレホレこの通りwww
ザマアwww
見事に拡張子がPDFになってるぞwww
これで毎日チマチマとコンビニでプリントアウトして紙の本として読めるwww
ちなみにPDF化したやつはコレなwww

一目均衡表を使った逆指値自動売買EA

2023-04-09 01:24:50 | FX
一目均衡表を使った逆指値自動売買EAのコードを書いてください。
 
一目均衡表を使った逆指値自動売買EAのコードの例を以下に示します。このコードは、Pythonで書かれたもので、Backtraderと呼ばれるフレームワークを使用しています。これは、一目均衡表の計算やトレードシグナルの生成などの多くの機能を提供してくれます。
 
import backtrader as bt
import backtrader.indicators as btind
 
class IchimokuStrategy(bt.Strategy):
params = (
('tenkan_period', 9),
('kijun_period', 26),
('senkou_period', 52),
('senkou_offset', 26),
('stop_loss', 100),
('take_profit', 200),
('trade_size', 10000),
)
 
def __init__(self):
self.ichimoku = btind.Ichimoku(self.data)
self.tenkan_sen = self.ichimoku.tenkan_sen
self.kijun_sen = self.ichimoku.kijun_sen
self.senkou_span_a = self.ichimoku.senkou_span_a
self.senkou_span_b = self.ichimoku.senkou_span_b
 
def next(self):
if self.position:
if self.data.close[0] < self.senkou_span_a[0]:
self.close()
elif self.data.close[0] > self.senkou_span_b[0]:
self.close()
 
else:
if self.tenkan_sen[0] > self.kijun_sen[0] and self.data.close[0] > self.senkou_span_a[0]:
self.buy(size=self.params.trade_size, exectype=bt.Order.Stop, price=self.data.close[0] + self.params.stop_loss)
self.sell(size=self.params.trade_size, exectype=bt.Order.Limit, price=self.data.close[0] + self.params.take_profit)
 
elif self.tenkan_sen[0] < self.kijun_sen[0] and self.data.close[0] < self.senkou_span_b[0]:
self.sell(size=self.params.trade_size, exectype=bt.Order.Stop, price=self.data.close[0] - self.params.stop_loss)
self.buy(size=self.params.trade_size, exectype=bt.Order.Limit, price=self.data.close[0] - self.params.take_profit)
↑この部分が文法エラーだから直せとよ!
このコードでは、IchimokuStrategyという名前のクラスが定義されています。このクラスは、backtrader.Strategyクラスを継承しており、バックテストやトレードシグナルの生成を担当します。paramsには、トレードに必要なパラメーターが含まれています。
 
IchimokuStrategyでは、__init__メソッドで一目均衡表のインジケーターを初期化しています。また、nextメソッドで、現在のポジションと市場状況を分析し、売買の条件を決定します。
 
売買ルールは以下の通りです。
 
ポジションがなく、テンカン線が基準線を上回り、クロージング価格が先行スパンAよりも高い場合、指定されたサイズでロングポジションを取得します。同時に、ストップロス価格をクロージング価格に設定し、テイクプロフィット価格をクロージング価格に加えたものに設定された価格でリミット注文を出します。
ポジションがなく、テンカン線が基準線を下回り、クロージング価格が先行スパンBよりも低い場合、指定されたサイズでショートポジションを取得します。同時に、ストップロス価格をクロージング価格に設定し、テイクプロフィット価格をクロージング価格から差し引いたものに設定された価格でリミット注文を出します。
ポジションがある場合、クロージング価格が先行スパンAよりも低い場合、ポジションをクローズします。
ポジションがある場合、クロージング価格が先行スパンBよりも高い場合、ポジションをクローズします。
これらのルールに基づいて、IchimokuStrategyクラスがバックテストを実行し、トレードを行います。このコードは、実際の取引に使用する前に、さまざまなパラメータを調整して、最適なパフォーマンスを得る必要があります。
 
runfile('C:/Users/User/untitled0.py', wdir='C:/Users/User')
  File "C:\Users\User\untitled0.py", line 33
    elif:
    ^
SyntaxError: invalid syntax
 

import backtrader as bt
import backtrader.indicators as btind

class IchimokuStrategy(bt.Strategy):
    params = (
('tenkan_period', 9),
('kijun_period', 26),
('senkou_period', 52),
('senkou_offset', 26),
('stop_loss', 100),
('take_profit', 200),
('trade_size', 10000),
)

def __init__(self):
    self.ichimoku = btind.Ichimoku(self.data)
self.tenkan_sen = self.ichimoku.tenkan_sen
self.kijun_sen = self.ichimoku.kijun_sen
self.senkou_span_a = self.ichimoku.senkou_span_a
self.senkou_span_b = self.ichimoku.senkou_span_b

def next(self):
    if self.position:
        if self.data.close[0] < self.senkou_span_a[0]:
            self.close()
    elif self.data.close[0] > self.senkou_span_b[0]:
        self.close()

    else:
        if self.tenkan_sen[0] > self.kijun_sen[0] and self.data.close[0] > self.senkou_span_a[0]:
            self.buy(size=self.params.trade_size, exectype=bt.Order.Stop, price=self.data.close[0] + self.params.stop_loss)
            self.sell(size=self.params.trade_size, exectype=bt.Order.Limit, price=self.data.close[0] + self.params.take_profit)        
    elif:
        self.tenkan_sen[0] < self.kijun_sen[0] and self.data.close[0] < self.senkou_span_b[0]:
            self.sell(size=self.params.trade_size, exectype=bt.Order.Stop, price=self.data.close[0] - self.params.stop_loss)
            self.buy(size=self.params.trade_size, exectype=bt.Order.Limit, price=self.data.close[0] - self.params.take_profit)

↑ここの文法エラーがどうにもならん!


自動車免許で乗れる大型バイク”側車付き”「ウラル」

2023-04-08 21:24:32 | バイク・スーパーカー

自動車免許で乗れる大型バイクを知っているか!?  “原付”ならぬ”側車付き”! クラシックスタイルが魅力の「ウラル」サイドカーは日本でも正規販売中!

自動車免許で乗れる大型バイクを知っているか!? “原付”ならぬ”側車付き”! クラシックスタイルが魅力の「ウラル」サイドカーは日本でも正規販売中!

現在、世界で唯一のサイドカー専門メーカーであるウラルモーターサイクル社。同社は国際情勢から日本への輸出を一時停止していたが、カザフスタンに移転した工場が稼働を始...

Motor-Fan[モーターファン]

わーい!やったぞー!限定解除しなくても、バイクの免許もなくてもカワサキNinja H2に乗れるぞ~!



ただし側車をつけないとな。


“超音波”で発毛促進?ピクシーダストテクノロジーズが取り組む先端的テクノロジーの社会実装

2023-04-08 21:06:32 | 日記

“超音波”で発毛促進?ピクシーダストテクノロジーズが取り組む先端的テクノロジーの社会実装

“超音波”で発毛促進?ピクシーダストテクノロジーズが取り組む先端的テクノロジーの社会実装

筑波大学准教授・落合陽一がCEOを務めるピクシーダストテクノロジーズは、「超音波」の研究開発に取り組んできたことで知られている。なかでも近年注目されているのが、同社...

WIRED.jp



ダライアスII

2023-04-08 08:24:42 | 日記

ダライアス1の方が難しく感じた。
なぜならば、2の方は早い段階でフル装備にできて、有利に戦いを進められるようになっているからだろう。
Fゾーンの長くてウネウネしていて、ピタッと止まったかと思うといきなり突進してくるヘビみたいな奴には、ほぼ毎回やられてノーミスでクリアできなかったことを思い出した。
それ以外は、大した苦労もした覚えはない。

ダライアス

2023-04-08 02:12:28 | 日記

ガキの頃が懐かしい。
Wゾーンの竜の落し子が殺人的に難しくて挫折した。
最難関のレーザーのままでノーミスクリアする基地外ヲタがいた。

当時、沙羅曼蛇とかスト1とか豪華なゲームが目白押しだった。

kindleプラグインの作り方(読み上げプラグインのソースコード付き)

2023-04-08 01:17:54 | JAVA
kindleプラグインの作り方

Kindleプラグインを作成するには、まずプログラミング言語を選択する必要があります。Kindleプラグインは主にJavaで開発されており、Javaを使用してプラグインを作成することが推奨されています。

以下は、Kindleプラグインを作成するための一般的な手順です。

Java開発環境をインストールする
Kindleプラグインを作成するには、Java開発環境(JDK)が必要です。JDKをインストールし、JavaコンパイラーとIDE(Integrated Development Environment)を使用して開発を始めることができます。有名なIDEには、Eclipse、NetBeans、IntelliJ IDEAなどがあります。

Kindle SDKをインストールする
Kindle SDKは、Kindleデバイス上で動作するアプリケーションを開発するためのツールキットです。SDKをインストールすると、Kindleアプリケーションを開発するための必要なツールやドキュメントが提供されます。

Kindleプラグインの基本的なコードを作成する
Kindleプラグインの基本的なコードを作成し、Kindleデバイスで実行されるようにする必要があります。これには、Kindleアプリケーション用のインターフェイスを実装することが含まれます。

コードをテストする
プラグインのコードをテストし、動作することを確認する必要があります。これには、Kindleデバイスで実際にテストするか、Kindleシミュレーターを使用することが含まれます。

プラグインをパッケージ化する
プラグインをKindleデバイスで使用できるようにするには、プラグインをパッケージ化する必要があります。これには、プラグインのバイナリファイルとKindleアプリケーションに関する情報を含むXMLファイルを作成することが含まれます。

プラグインを公開する
プラグインを公開するには、Amazon Developer Consoleにアカウントを作成し、プラグインをアップロードする必要があります。プラグインを公開する前に、Amazonのプラグイン開発に関するガイドラインを確認することをお勧めします。

以上が、Kindleプラグインを作成するための一般的な手順です。ただし、詳細は開発するプラグインによって異なる場合があります。


それではkindle読み上げプラグインのソースコードを書いてください

申し訳ありませんが、Kindle読み上げプラグインの完全なソースコードを提供することはできません。Kindle読み上げプラグインを作成するには、Amazonが提供するKindle SDKを使用し、Amazonのプラグイン開発に関するガイドラインに従う必要があります。

ただし、一般的なKindle読み上げプラグインの機能については、以下のようなコード例を示すことができます。

import com.amazon.kindle.kindlet.Kindlet;
import com.amazon.kindle.kindlet.KindletContext;
import com.amazon.kindle.kindlet.ui.KindleFont;
import com.amazon.kindle.kindlet.ui.KindleOrientationController;
import com.amazon.kindle.kindlet.ui.KTextArea;

public class ReadAloudPlugin implements Kindlet {
private KindletContext context;
private KTextArea textArea;
private KindleOrientationController orientationController;
private TextToSpeechEngine speechEngine;

public void create(KindletContext context) {
this.context = context;

// create the text area for displaying book content
textArea = new KTextArea();
textArea.setFont(KindleFont.SANS_SERIF_SMALL);
textArea.setEditable(false);

// create the orientation controller for detecting device orientation changes
orientationController = new KindleOrientationController(context);

// create the text-to-speech engine for reading book content aloud
speechEngine = new TextToSpeechEngine();

// add the text area to the context's content pane
context.getRootContainer().add(textArea);
}

public void start() {
// start detecting device orientation changes
orientationController.start();

// start reading book content aloud
speechEngine.start(textArea.getText());
}

public void stop() {
// stop detecting device orientation changes
orientationController.stop();

// stop reading book content aloud
speechEngine.stop();
}

public void destroy() {
// clean up any resources used by the plugin
textArea = null;
orientationController = null;
speechEngine = null;
context = null;
}
}
このコード例では、KindleのUIコンポーネントを使用して、テキストエリアに本の内容を表示し、テキストを音声に変換して読み上げるTextToSpeechEngineクラスを使用しています。また、Kindleの画面の向きが変更された場合に備えて、KindleOrientationControllerクラスを使用してデバイスの方向を監視しています。

ただし、このコード例は参考用であり、実際のプラグインの作成には、Amazonのプラグイン開発に関するガイドラインに従う必要があります。また、Kindle SDKには、テキスト読み上げのために使用できるAPIが用意されているため、それを使用する必要があります。

Kindle本を無料で作って販売する方法

2023-04-08 01:05:00 | アイデア起業・アイデア売買

簡単手順『Kindle本を無料で作って販売する方法』Amazon出版の流れまとめ

簡単手順『Kindle本を無料で作って販売する方法』Amazon出版の流れまとめ

こちらの記事では、電子書籍「Kindle(キンドル)本」の作成方法Amazonで出版する手順をまとめています。・自分の本を書いて出してみたい・AmazonでKindle本を出版するまでの...

多趣味な無職の雑記ブログ