大卫·李的建筑作品集:从概念到现实

版权申诉
0 下载量 178 浏览量 更新于2024-07-10 收藏 13.49MB PDF 举报
"David M. Lee的建筑作品集展示了他作为一名建筑师的多元技能和才华,包括在各种软件上的熟练运用,如ArchiCAD、Sketchup、Artlantis、Photoshop等,以及摄影和视频制作技术。他的教育背景包括在加利福尼亚州立理工大学获得建筑学荣誉学士学位,辅修可持续环境研究,并在Ecole d'Art Américaine de Fontainebleau学习城市设计、景观设计、建筑和音乐。此外,他还曾在南加州大学的建筑暑期课程中取得文凭,并在 Villa Park 高中完成高中学业。他的工作经验包括在Don Lee Architect公司工作,负责计算机建模、绘图与渲染,以及房屋构架设计。" 在本资源中,我们可以提炼出以下几个关键知识点: 1. **建筑软件应用**:David M. Lee精通一系列专业建筑软件,如ArchiCAD用于建筑设计和管理,Sketchup用于三维建模,Artlantis用于高质量渲染,Photoshop、Indesign和Illustrator则用于后期图像处理和排版设计,而Microsoft Word和Powerpoint则可能在报告和展示中使用。 2. **多媒体技能**:他不仅擅长摄影和视频制作,还掌握了Aperture、iMovie、Adobe After Effects、iPhoto等工具,这在现代建筑实践中是非常重要的,因为视觉表达对于呈现设计方案至关重要。同时,他熟悉传统和数字摄影,包括尼康和佳能相机的使用。 3. **手工制作模型**:David的技能还包括喷漆、石墨、木头和塑料模型制作,这些手工技能对于创建物理模型和概念验证至关重要,是建筑设计过程中的重要环节。 4. **音乐才华**:除了建筑,他还具备音乐创作和小号演奏能力,这表明他在艺术领域具有广泛兴趣,可能对空间感知和审美有独特见解。 5. **教育背景**:他的学术历程涵盖了从高中到大学的多个阶段,特别是在加利福尼亚州立理工大学的建筑学荣誉学士学位和在法国Ecole d'Art Américaine de Fontainebleau的学习,这些经历为他的建筑实践提供了坚实的基础。 6. **专业经验**:Don Lee Architect的工作经验使他有机会实际参与建筑设计的各个阶段,包括计算机建模、绘图、渲染,以及房屋结构设计,这些都是建筑师职业生涯中不可或缺的实践经验。 通过这个作品集,我们可以看出David M. Lee是一位全面发展的建筑师,不仅在技术层面有着扎实的技能,还在艺术和跨学科领域有所涉猎,这使得他的设计可能更富创新和多元化。他的经历和技能集对于那些希望在建筑领域深入学习或寻求灵感的人来说,无疑是一份宝贵的学习资源。

import jqdata # 初始化聚宽账号密码 def initialize(context): # 设置回测日期区间 set_benchmark('000300.XSHG') set_option('use_real_price', True) # 设置买入的股票数量上限 g.max_stock_count = 5 def handle_data(context, data): # 获取当前日期 current_date = context.current_dt.date() # 获取股票池中的股票列表 stocks = get_index_stocks('000852.XSHG') # 按照股票池中的股票进行遍历 for stock in stocks: # 判断股票是否满足买入条件 if check_buy_condition(stock, current_date, context): buy_stock(stock, context) # 判断持有的股票是否满足卖出条件 if check_sell_condition(stock, current_date, context): sell_stock(stock, context) def check_buy_condition(stock, current_date, context): # 判断股票是否连续下跌三天 prices = attribute_history(stock, 3, '1d', ['close']) if len(prices) == 3 and prices['close'][-1] < prices['close'][-2] < prices['close'][-3]: return True else: return False def buy_stock(stock, context): # 判断当前持仓的股票数量是否已达上限 if len(context.portfolio.positions) >= g.max_stock_count: return # 买入股票 order_value(stock, context.portfolio.cash / g.max_stock_count) def check_sell_condition(stock, current_date, context): # 获取持有股票的买入日期 buy_date = context.portfolio.positions[stock].init_time.date() # 判断是否满足卖出条件 if current_date - buy_date >= 3: # 判断是否亏损超过5% if (context.portfolio.positions[stock].last_price - context.portfolio.positions[stock].avg_cost) / context.portfolio.positions[stock].avg_cost <= -0.05: return True return False def sell_stock(stock, context): # 卖出股票 order_target(stock, 0)当中buy_date = context.portfolio.positions[stock].init_time.date()报错'NoneType' object has no attribute 'date'

2023-07-10 上传

分析封装。 private final String name; private double liquidity; private Set<MarketProperty> portfolio; //constructors //Creating an empty portfolio of assets and zero liquidity. public PropertyManagementCompany(String name, double liquidity) { this.name = checkName(name); this.liquidity = liquidity; this.portfolio = createEmptyPortfolio(); } private Set<MarketProperty> createEmptyPortfolio() { return new TreeSet<>(Comparator.comparingDouble(MarketProperty::getCurrentValuation).reversed()); } //creating a portfolio and liquidity with parameters such as company name, liquidity, and portfolio list public PropertyManagementCompany(String name, double liquidity, List<MarketProperty> portfolio) { this.name = checkName(name); this.liquidity = liquidity; this.portfolio = createEmptyPortfolio(); this.portfolio.addAll(portfolio); } //validators private String checkName(String name) { //The aim of this method is to ensure the type of category. if (name.isEmpty() ) { throw new IllegalArgumentException("The company name can't be empty!"); } else { return name; } } //Purchase a real estate asset with the purchase price. public void buyProperty(MarketProperty property, double price) { if (liquidity >= price) { if (portfolio.contains(property)) { throw new IllegalArgumentException("The property has been held."); } else { //MarketProperty marketProperty = new MarketProperty(property.getID(), property.getCategory(), property.getSize(), property.getInitialPrice()); portfolio.add(property); liquidity -= price; } } else { throw new IllegalArgumentException("Insufficient liquidity to purchase the property. "); } } //Sell a real estate asset with the current valuation. public void sellProperty(MarketProperty property) { if (portfolio.contains(property)) { liquidity += property.getCurrentValuation(); portfolio.remove(property); } else { throw new IllegalArgumentException("Property not found in portfoliio!"); } } //getters public String getName() { return name; } public double getLiquidity() { return liquidity; } public List<MarketProperty> g

2023-05-15 上传