Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Дмитрий Нестерук «Разработка ПО для архитектуры...

DotNetRu
October 17, 2019

Дмитрий Нестерук «Разработка ПО для архитектуры и дизайна»

Ни для кого не будет сюрпризом, что большинство ПО для дизайна зданий (как внутри так и снаружи) идет по принципу полного ручного контроля: ты должен вручную создать каждый элемент, и ни о каком «искусственном интелекте» не может быть и речи. В результате, процесс дизайна трудоемок и достаточно дорог. В этом докладе мы посмотрим на то, какие аспекты разработки зданий (интерьера и экстерьера) можно частично или полностью автоматизировать, и какие уникальные возможности даёт «самописный» подход к архитектурному проектированию.

DotNetRu

October 17, 2019
Tweet

More Decks by DotNetRu

Other Decks in Programming

Transcript

  1. let solveQuadratic a b c = let disc = b

    * b - 4.0 * a * c let calc op = (op (-b) (sqrt disc)) / (2.0*a) (calc (+), calc(-)) “There Are No Zero-cost Abstractions” Chandler Carruth, CppCon 2019 https://www.youtube.com/watch?v=rHIkrotSwcc
  2. public enum Color { Red = 0xff0000, Green = 0x00ff00,

    Blue = 0x00ff00, DarkBrown = 0x654321 }
  3. public static class ColorExtensions { public static string GetName(this Color

    c) { switch (c) { case Color.Red: return "red"; case Color.Green: return "green"; case Color.DarkBrown: return "dark brown"; } return "unknown;" } }
  4. type Color = Red | Green | Blue | RGB

    of r: byte * g: byte * b: byte | CMYK of c: byte * m: byte * y: byte * k: byte
  5. public struct GameObjects { public Point Positions[]; public Vector Locations[];

    public Pixels(int size) { Positions = new Point[size]; // etc. } } GameObjects objs = new GameObjects(100); objs[0].Positions.X = 0; // how?