环境艺术设计包括:室内室外设计、建筑装饰设计、景观设计、园林设计、城市道路桥梁设计、环境工程改造等。
环境艺术设计的就业面很广,原因在于我国快速发展的经济,市政建设项目和房地产项目如雨后春笋,无论是室内设计还是景观设计均需要大量的环境艺术设计方面的人才,环境艺术的专业涵盖从过去的室内设计发展到今天室外设计、广场设计、园林设计、街道设计、景观设计、城市道路桥梁设计等全方位。本专业就业市场一直很广阔,如建筑装饰设计,室内外效果图设计,园林景观设计,环境工程改造等而且待遇非常高。
环境设计专业就业前景还是不错的。
环境艺术设计行业状况环境艺术设计的就业面很广,原因在于我国快速发展的经济,市政建设项目和房地产项目如雨后春笋,无论是室内设计还是景观设计均需要大量的环境艺术设计人才,环境艺术的专业涵盖从过去的室内设计发展到今天室外设计、广场设计、园林设计、街道设计、景观设计、城市道路桥梁设计等全方位、多范围的设计领域。
学生毕业以后可在建筑公司、装饰工程公司、园林工程公司、环境设计研究院所及相关管理部门和专业协会从事室内设计、景观设计、商品展示设计、环境绿化设计等环境艺术设计、预算编制和管理等工作;可从事相应的工程施工管理工作和专业培训。
在职业发展的道路上,环境设计师的面试是至关重要的一步。为了帮助求职者更好地准备面试,我们整理了一些常见的面试题及其答案。这些问题不仅能帮助你理解岗位要求,还能激发你的思考,让你在面试时更加自信。
在开始之前,了解环境设计师的角色和职责是十分必要的。环境设计师主要负责创造合适的空间环境,以达到美学与功能的高度统一。他们通常需要考虑以下几个方面:
下面是一些在环境设计师面试中常见的问题及其简要解析,帮助你更好地准备:
在回答这个问题时,候选人应展示他们对设计的思考过程以及所追求的设计目标。比如,可以提及如何将功能性与美感结合,或者如何在设计中融入人类与自然的关系等。
这一问题是考察应聘者的专业经验和对来访者影响力。候选人应选择一个具体的项目,描述其面临的挑战、解决方案以及最终结果。此外,指出在该项目中所使用的设计工具和技术也很重要。
在这个问题上,面试官希望了解候选人的沟通技巧和解决问题的能力。候选人可以分享一个具体的例子,描述如何与客户沟通、处理不同意见,最终达成一致。
环境设计离不开可持续发展的理念。候选人可以谈谈在设计中使用环保材料、节能技术以及如何通过设计减少对环境的影响等方面的经验和见解。
应聘者需要列举出熟悉的设计软件,诸如AutoCAD、SketchUp、Adobe Creative Suite等。同时,可以讨论在实际项目中使用这些软件的经历,体现出自身的技术能力。
设计师的灵感来自于多个方面,可以谈谈如何通过阅读、参加展览、旅行等方式汲取新的创意和灵感。强调自己的好奇心与探索精神也是至关重要的。
除了回答常见面试问题,求职者还应注意以下几点:
成功的环境设计师面试不仅需要专业技能的展示,更需要优秀的沟通能力和团队协作精神。通过本篇文章提供的面试题及解析,希望能帮助你更自信、有效地准备即将到来的面试。
感谢您阅读这篇文章!希望通过这些示例和建议,能够为您的面试准备提供实际的帮助和指导。
环境设计是普通高等学校本科专业,属于设计学类专业。本专业培养适应中国社会主义经济建设的发展需要,掌握专业基础理论、相关学科领域理论知识与专业技能,并具有创新能力的和设计实践能力,能在高等艺术学校从事环境设计或教学、研究工作,在艺术环境设计机构从事公共建筑室内设计、居住空间设计、城市环境景观与社区环境景观设计、园林设计,并具备项目策划与经营管理、教学与科研工作能力的高素质环境艺术应用型和研究型人才。
学生毕业后可在建筑设计研究院、室内装饰设计或工程公司、景观设计工程公司等各类相关行业企业从事环境艺术设计和建筑设计工作,可在大专院校等教育单位从事该专业的教学工作,也可在房地产开发公司或政府部门从事城市规划和建筑设计管理以及相关领域的研发应用工作。环境艺术设计专业毕业生可从事数字艺术设计、环境艺术设计、新闻出版行业、室内设计、会展设计行业、建筑效果图设计、绘图员、 平面设计师 、橱柜设计师、家具设计师、施工图设计师、效果图表现、预算员、工装设计师、设计师助理、施工监理等行业。
环境设计是一门普通高等学校本科专业,属设计学类,该专业培养掌握专业基础理论、相关学科领域理论知识与专业技能,并具备项目策划与经营管理、教学与科研工作能力的高素质环境艺术应用型和研究型人才。
环境设计专业专门培养设计公共和私人空间,室内和室外空间的设计人才。环境设计在一定程度上恢复,改造,保持建筑物和自然环境的关系。将来职业导向为环境设计师或者是建筑师。
从设计的角度来研究环境的各个方面,整体考虑人工和自然等空间要素。目标是设计出使这些要素和谐统一的建筑和环境空间,即满足功能需求,又考虑到环境安全和生态的可持续发展。
环境设计是一门交叉学科,把建筑学,园林,室内装潢,环境绘图(如标志牌和信息公告牌)的创意结合在一起,并涵盖了社会科学,卫生保健学,环境科学和自然科学。
学习公共文理课程,同时还会上一些介绍环境设计的专业基础课。
环境设计专业会有很多的结合实际工程的实践课,实践课和实习将会使你了解规划和设计的真实世界。你会在政府部门,非盈利组织,私人企业中实习,学习到在社区规划,项目开发中如何综合考虑经济,社会,政治,以及设计要素。
环境设计(environment design)是一门复杂的交叉学科,涉及的学科包括建筑学、城市规划学、景观设计学、人类工程学、环境心理学、设计美学、社会学、史学、考古学、宗教学、环境生态学、环境行为学等学科。
环境设计通过一定的组织、围合手段、对空间界面(室内外墙柱面、地面、顶棚、门窗等)进行艺术处理(形态、色彩、质地等),运用自然光、人工照明、家具、饰物的布置、造型等设计语言,以及植物花卉、水体、小品、雕塑等的配置,使建筑物的室内外空间环境体现出特定的氛围和一定的风格,来满足人们的功能使用及视觉审美上的需要。
环境设计专业的对联:
上联:保护环境风景这边独好;
下联:美化家园江山如此多娇。
上联:保护环境描绘蓝天碧水;
下联:关爱生命创建和谐魅力。
上联:保护环境人人有责;
下联:造福家园个个参与。
上联:摒除秽物洁净污流教河水永碧;
下联:逐去烟尘滤清空气让日月更明。
上联:打造一方净土;
下联:共享一片蓝天。
上联:改造自然年年风调雨顺;
下联:平衡生态处处水秀山青。
上联:环境美花香月下三春醉;
下联:年成佳雨润寰中五谷丰。
上联:积雪清垃圾除送走白银冬季;
下联:草坪铺鲜花种迎来红粉春天。
上联:建设蓝天碧水和谐长治;
下联:打造生态文明魅力上党。
上联:科学发展政通人和;
下联:生态文明山清水秀。
上联:蓝天碧水生态文明千秋岁;
下联:花香鸟语科学发展万里春。
上联:绿化祖国山青水碧千秋美;
下联:平衡生态人杰地灵万物春。
上联:绿色走进家园处处春光无限;
下联:生命远离污染人人健康长寿。
2021年12月中旬的星期六和星期天。
环境艺术的专业涵盖从过去的室内设计发展到今天室外设计、广场设计、园林设计、街道设计、景观设计、城市道路桥梁设计等全方位、多范围的设计领域。
现代人们生活水平和公共场所消费档次的提高,设计也由过去偏重于硬件设施环境的设计转变为今天重视人的生理、行为、心理环境创造等更广泛和更深意义的理解,除了美观外还要有艺术性、欣赏性、创造联想性等,是近年来的一个新兴的行业。
之前看了Mahout官方示例 20news 的调用实现;于是想根据示例的流程实现其他例子。网上看到了一个关于天气适不适合打羽毛球的例子。
训练数据:
Day Outlook Temperature Humidity Wind PlayTennis
D1 Sunny Hot High Weak No
D2 Sunny Hot High Strong No
D3 Overcast Hot High Weak Yes
D4 Rain Mild High Weak Yes
D5 Rain Cool Normal Weak Yes
D6 Rain Cool Normal Strong No
D7 Overcast Cool Normal Strong Yes
D8 Sunny Mild High Weak No
D9 Sunny Cool Normal Weak Yes
D10 Rain Mild Normal Weak Yes
D11 Sunny Mild Normal Strong Yes
D12 Overcast Mild High Strong Yes
D13 Overcast Hot Normal Weak Yes
D14 Rain Mild High Strong No
检测数据:
sunny,hot,high,weak
结果:
Yes=》 0.007039
No=》 0.027418
于是使用Java代码调用Mahout的工具类实现分类。
基本思想:
1. 构造分类数据。
2. 使用Mahout工具类进行训练,得到训练模型。
3。将要检测数据转换成vector数据。
4. 分类器对vector数据进行分类。
接下来贴下我的代码实现=》
1. 构造分类数据:
在hdfs主要创建一个文件夹路径 /zhoujainfeng/playtennis/input 并将分类文件夹 no 和 yes 的数据传到hdfs上面。
数据文件格式,如D1文件内容: Sunny Hot High Weak
2. 使用Mahout工具类进行训练,得到训练模型。
3。将要检测数据转换成vector数据。
4. 分类器对vector数据进行分类。
这三步,代码我就一次全贴出来;主要是两个类 PlayTennis1 和 BayesCheckData = =》
package myTesting.bayes;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.util.ToolRunner;
import org.apache.mahout.classifier.naivebayes.training.TrainNaiveBayesJob;
import org.apache.mahout.text.SequenceFilesFromDirectory;
import org.apache.mahout.vectorizer.SparseVectorsFromSequenceFiles;
public class PlayTennis1 {
private static final String WORK_DIR = "hdfs://192.168.9.72:9000/zhoujianfeng/playtennis";
/*
* 测试代码
*/
public static void main(String[] args) {
//将训练数据转换成 vector数据
makeTrainVector();
//产生训练模型
makeModel(false);
//测试检测数据
BayesCheckData.printResult();
}
public static void makeCheckVector(){
//将测试数据转换成序列化文件
try {
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String input = WORK_DIR+Path.SEPARATOR+"testinput";
String output = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";
Path in = new Path(input);
Path out = new Path(output);
FileSystem fs = FileSystem.get(conf);
if(fs.exists(in)){
if(fs.exists(out)){
//boolean参数是,是否递归删除的意思
fs.delete(out, true);
}
SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();
String[] params = new String[]{"-i",input,"-o",output,"-ow"};
ToolRunner.run(sffd, params);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("文件序列化失败!");
System.exit(1);
}
//将序列化文件转换成向量文件
try {
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String input = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";
String output = WORK_DIR+Path.SEPARATOR+"tennis-test-vectors";
Path in = new Path(input);
Path out = new Path(output);
FileSystem fs = FileSystem.get(conf);
if(fs.exists(in)){
if(fs.exists(out)){
//boolean参数是,是否递归删除的意思
fs.delete(out, true);
}
SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();
String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};
ToolRunner.run(svfsf, params);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("序列化文件转换成向量失败!");
System.out.println(2);
}
}
public static void makeTrainVector(){
//将测试数据转换成序列化文件
try {
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String input = WORK_DIR+Path.SEPARATOR+"input";
String output = WORK_DIR+Path.SEPARATOR+"tennis-seq";
Path in = new Path(input);
Path out = new Path(output);
FileSystem fs = FileSystem.get(conf);
if(fs.exists(in)){
if(fs.exists(out)){
//boolean参数是,是否递归删除的意思
fs.delete(out, true);
}
SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();
String[] params = new String[]{"-i",input,"-o",output,"-ow"};
ToolRunner.run(sffd, params);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("文件序列化失败!");
System.exit(1);
}
//将序列化文件转换成向量文件
try {
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String input = WORK_DIR+Path.SEPARATOR+"tennis-seq";
String output = WORK_DIR+Path.SEPARATOR+"tennis-vectors";
Path in = new Path(input);
Path out = new Path(output);
FileSystem fs = FileSystem.get(conf);
if(fs.exists(in)){
if(fs.exists(out)){
//boolean参数是,是否递归删除的意思
fs.delete(out, true);
}
SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();
String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};
ToolRunner.run(svfsf, params);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("序列化文件转换成向量失败!");
System.out.println(2);
}
}
public static void makeModel(boolean completelyNB){
try {
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String input = WORK_DIR+Path.SEPARATOR+"tennis-vectors"+Path.SEPARATOR+"tfidf-vectors";
String model = WORK_DIR+Path.SEPARATOR+"model";
String labelindex = WORK_DIR+Path.SEPARATOR+"labelindex";
Path in = new Path(input);
Path out = new Path(model);
Path label = new Path(labelindex);
FileSystem fs = FileSystem.get(conf);
if(fs.exists(in)){
if(fs.exists(out)){
//boolean参数是,是否递归删除的意思
fs.delete(out, true);
}
if(fs.exists(label)){
//boolean参数是,是否递归删除的意思
fs.delete(label, true);
}
TrainNaiveBayesJob tnbj = new TrainNaiveBayesJob();
String[] params =null;
if(completelyNB){
params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow","-c"};
}else{
params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow"};
}
ToolRunner.run(tnbj, params);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("生成训练模型失败!");
System.exit(3);
}
}
}
package myTesting.bayes;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.PathFilter;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.mahout.classifier.naivebayes.BayesUtils;
import org.apache.mahout.classifier.naivebayes.NaiveBayesModel;
import org.apache.mahout.classifier.naivebayes.StandardNaiveBayesClassifier;
import org.apache.mahout.common.Pair;
import org.apache.mahout.common.iterator.sequencefile.PathType;
import org.apache.mahout.common.iterator.sequencefile.SequenceFileDirIterable;
import org.apache.mahout.math.RandomAccessSparseVector;
import org.apache.mahout.math.Vector;
import org.apache.mahout.math.Vector.Element;
import org.apache.mahout.vectorizer.TFIDF;
import com.google.common.collect.ConcurrentHashMultiset;
import com.google.common.collect.Multiset;
public class BayesCheckData {
private static StandardNaiveBayesClassifier classifier;
private static Map<String, Integer> dictionary;
private static Map<Integer, Long> documentFrequency;
private static Map<Integer, String> labelIndex;
public void init(Configuration conf){
try {
String modelPath = "/zhoujianfeng/playtennis/model";
String dictionaryPath = "/zhoujianfeng/playtennis/tennis-vectors/dictionary.file-0";
String documentFrequencyPath = "/zhoujianfeng/playtennis/tennis-vectors/df-count";
String labelIndexPath = "/zhoujianfeng/playtennis/labelindex";
dictionary = readDictionnary(conf, new Path(dictionaryPath));
documentFrequency = readDocumentFrequency(conf, new Path(documentFrequencyPath));
labelIndex = BayesUtils.readLabelIndex(conf, new Path(labelIndexPath));
NaiveBayesModel model = NaiveBayesModel.materialize(new Path(modelPath), conf);
classifier = new StandardNaiveBayesClassifier(model);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("检测数据构造成vectors初始化时报错。。。。");
System.exit(4);
}
}
/**
* 加载字典文件,Key: TermValue; Value:TermID
* @param conf
* @param dictionnaryDir
* @return
*/
private static Map<String, Integer> readDictionnary(Configuration conf, Path dictionnaryDir) {
Map<String, Integer> dictionnary = new HashMap<String, Integer>();
PathFilter filter = new PathFilter() {
@Override
public boolean accept(Path path) {
String name = path.getName();
return name.startsWith("dictionary.file");
}
};
for (Pair<Text, IntWritable> pair : new SequenceFileDirIterable<Text, IntWritable>(dictionnaryDir, PathType.LIST, filter, conf)) {
dictionnary.put(pair.getFirst().toString(), pair.getSecond().get());
}
return dictionnary;
}
/**
* 加载df-count目录下TermDoc频率文件,Key: TermID; Value:DocFreq
* @param conf
* @param dictionnaryDir
* @return
*/
private static Map<Integer, Long> readDocumentFrequency(Configuration conf, Path documentFrequencyDir) {
Map<Integer, Long> documentFrequency = new HashMap<Integer, Long>();
PathFilter filter = new PathFilter() {
@Override
public boolean accept(Path path) {
return path.getName().startsWith("part-r");
}
};
for (Pair<IntWritable, LongWritable> pair : new SequenceFileDirIterable<IntWritable, LongWritable>(documentFrequencyDir, PathType.LIST, filter, conf)) {
documentFrequency.put(pair.getFirst().get(), pair.getSecond().get());
}
return documentFrequency;
}
public static String getCheckResult(){
Configuration conf = new Configuration();
conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));
String classify = "NaN";
BayesCheckData cdv = new BayesCheckData();
cdv.init(conf);
System.out.println("init done...............");
Vector vector = new RandomAccessSparseVector(10000);
TFIDF tfidf = new TFIDF();
//sunny,hot,high,weak
Multiset<String> words = ConcurrentHashMultiset.create();
words.add("sunny",1);
words.add("hot",1);
words.add("high",1);
words.add("weak",1);
int documentCount = documentFrequency.get(-1).intValue(); // key=-1时表示总文档数
for (Multiset.Entry<String> entry : words.entrySet()) {
String word = entry.getElement();
int count = entry.getCount();
Integer wordId = dictionary.get(word); // 需要从dictionary.file-0文件(tf-vector)下得到wordID,
if (StringUtils.isEmpty(wordId.toString())){
continue;
}
if (documentFrequency.get(wordId) == null){
continue;
}
Long freq = documentFrequency.get(wordId);
double tfIdfValue = tfidf.calculate(count, freq.intValue(), 1, documentCount);
vector.setQuick(wordId, tfIdfValue);
}
// 利用贝叶斯算法开始分类,并提取得分最好的分类label
Vector resultVector = classifier.classifyFull(vector);
double bestScore = -Double.MAX_VALUE;
int bestCategoryId = -1;
for(Element element: resultVector.all()) {
int categoryId = element.index();
double score = element.get();
System.out.println("categoryId:"+categoryId+" score:"+score);
if (score > bestScore) {
bestScore = score;
bestCategoryId = categoryId;
}
}
classify = labelIndex.get(bestCategoryId)+"(categoryId="+bestCategoryId+")";
return classify;
}
public static void printResult(){
System.out.println("检测所属类别是:"+getCheckResult());
}
}