デザイン・コンピューティング入門  - Pythonによる建築の形態と機能の生成・分析・最適化 -

デザイン・コンピューティング入門 - Pythonによる建築の形態と機能の生成・分析・最適化 -

コンピュータによる建築形態の生成や分析を志す初学者が核となる基礎理論と計算手法をプログラミングしながら学べるよう構成した。

  • 口絵
ジャンル
発行年月日
2017/09/28
判型
B5
ページ数
192ページ
ISBN
978-4-339-05254-1
デザイン・コンピューティング入門  - Pythonによる建築の形態と機能の生成・分析・最適化 -
在庫あり

定価

3,300(本体3,000円+税)

カートに入れる

電子版を購入

購入案内

  • 内容紹介
  • まえがき
  • 目次
  • 著者紹介
  • 広告掲載情報

本書は,コンピュータによる建築形態の生成や分析を志す初学者が核となる基礎理論と計算手法をプログラミングしながら学べるように構成した。フリーのプログラミング環境を入手できる PythonとBlender を使用。

本書では,プログラム言語Pythonを用いて建築の研究や設計に用いられる代表的な数理的手法のいくつかを解説します。私たちは数理的手法を使いこなして建築の研究や設計に活用したいと思っている人たちを対象に,本書を執筆しました。形態生成,最適化,知識処理などの数理的手法の要点を説明し,それらをPythonによってプログラミングする方法を解説します。数理的手法の説明を読み,自分の手でプログラムを書いてみることが数理的手法を使いこなすための一歩になると考えています。

今日,さまざまな数理アプリケーションを手軽に用いることが可能です。内部でどのような計算をしているのかを知らなくても,データを入力すると答えらしきものが出力されます。どのような計算がなされているかを知ると,アプリケーションを適切に使用したり自由自在に使いこなしたりすることが可能になります。自動車の運転に例えてみましょう。自動車の仕組みや構造を詳しく知らなくても,運転することは可能です。しかし,自動車を賢く使いこなすためにはこれらをよく知っていることが肝要です。アプリケーションの利用についても同様のことが言えます。

本書を用いた学習のために高価なアプリケーションを入手する必要はありません。Pythonは数理的計算に広く用いることができるプログラム言語です。Pythonを用いたプログラム作成の環境は無償で入手することができます。また,さまざまなライブラリが提供されていて,これらを用いることによって,より高度で本格的なプログラムを作成することも可能です。なお,本書に登場するプログラムはWebページからダウンロードすることができます(p.7参照)。

本書は入門書です。学習を進めプログラムを開発していくと,本書では物足りないと感じるようになると思います。それは私たちにとって嬉しいことです。読者の皆さんが本書を入り口として,本格的な数理的手法を用いた研究や設計の世界に入ることを望んでいます。 
本書が皆さんのお役に立てれば幸いです。

2017年7月 日本建築学会 デザイン科学教育方法研究小委員会

1. デザイン科学とコンピューティング
1.1 デザイン科学とは
1.2 デザインにおける思考とは
1.3 プログラミングを学ぶ意味

2. Python入門
2.1 Pythonの概要と基本操作
 2.1.1 Pythonの概要
 2.1.2 Python本体と各種ライブラリのインストール
 2.1.3 基本的な操作と演算
 2.1.4 条件分岐と繰り返し処理
 2.1.5 関数の定義
 2.1.6 スクリプトファイルの作成とファイルの入出力
2.2 ライブラリの利用
 2.2.1 標準ライブラリの利用
 2.2.2 matplotlibを用いたグラフの作成
 2.2.3 NumPy/SciPyを用いた数値解析
 2.2.4 ユーザーライブラリの作成
2.3 再帰プログラミング
2.4 クラス
2.5 CAD・CGソフトウェアとの連係
 2.5.1 Pythonで絵を描く方法
 2.5.2 BlenderのインストールとPythonスクリプトの実行
 2.5.3 図形の配列
 2.5.4 フラクタル図形の生成

3. 形態の生成
3.1 形態文法
 3.1.1 定義
 3.1.2 CG1の実装
 3.1.3 建築デザインへの応用
 3.1.4 日仏タイルの形態文法
3.2 形態の表現手法
 3.2.1 ベジエ曲線
 3.2.2 非一様有理Bスプライン
 3.2.3 パラメトリック曲面
3.3 計算幾何学
 3.3.1 計算幾何学とは
 3.3.2 基本的なアルゴリズム設計技法
 3.3.3 符号付き面積
 3.3.4 凸包の描画
 3.3.5 ボロノイ図の定義と性質
 3.3.6 逐次添加法によるボロノイ図構成アルゴリズム
 3.3.7 Pythonを用いたボロノイ図の描画

4. 分析
4.1 グラフ・ネットワーク
 4.1.1 定義
 4.1.2 最短経路問題
 4.1.3 スペースシンタックス
 4.1.4 最近傍探索
4.2 列挙
 4.2.1 列挙問題とは
 4.2.2 多面体の展開のグラフ問題への対応付け
 4.2.3 アクセスグラフの全域木
4.3 待ち行列シミュレーション
 4.3.1 建築における行動シミュレーションと待ち行列
 4.3.2 a法とb法 ― 建築計画における規模算定に用いられる待ち行列理論
 4.3.3 進め方 ― シンプルなモデルからはじめよう
 4.3.4 人が行動するプログラムの骨格
 4.3.5 1人が1つのトイレを利用する
 4.3.6 複数人が1つのトイレを利用する
 4.3.7 SimPyを利用する
 4.3.8 記録とその可視化をしながら,複数人で複数個のトイレを利用

5. 形態と性能の最適化
5.1 最適化問題とは
 5.1.1 最適化問題の定義
 5.1.2 最適化手法
5.2 建築の最適化
 5.2.1 建築の最適化問題の概要
 5.2.2 建築の最適化問題の例
5.3 形態の最適化
 5.3.1 最適化手法を用いた建築形態設計の概要
 5.3.2 形態最適化の例

6. デザインに関する知識の処理
6.1 知識表現
 6.1.1 デザインと知識表現
 6.1.2 知識とは?
 6.1.3 表現とは?
 6.1.4 推論とは?
6.2 論理に基づいた知識表現
 6.2.1 命題論理
 6.2.2 トートロジー
 6.2.3 推論
 6.2.4 述語論理
 6.2.5 述語論理による知識表現
 6.2.6 推論
 6.2.7 プログラム
6.3 意味ネットワーク
 6.3.1 継承による推論
 6.3.2 多重継承の問題
 6.3.3 プログラム

7. コンピューテーショナル・デザインの事例
7.1 Pythonを用いたテンセグリティの形状決定と施工事例
7.2 「東京計画1960」のオフィス群配置デザインの再現プログラム
 7.2.1 「東京計画1960」の概要
 7.2.2 丹下モデュールと「東京計画1960」
 7.2.3 オフィスエリアの概要とそのシステム
 7.2.4 Pythonスクリプトの実行結果とその解説
7.3 その他の事例
 7.3.1 形状決定ツールとしての応用例
 7.3.2 ディジタルファブリケーションツールとしての応用例

引用・参考文献
索引

藤井 晴行(フジイ ハルユキ)

水谷 晃啓(ミズタニ アキヒロ)

安田 渓(ヤスダ ケイ)

掲載日:2020/06/03

「電子情報通信学会誌」2020年6月号広告

関連資料(一般)

関連資料一覧