Java的List<Object>如何判断元素类别、输入流的回退,以及Autocad中参照块的坐标变换。
2014-09-16 22:00
537 查看
关于最近有关CAD数据的项目的一点总结
1.关于Java中的List<Object>用法。
它可以存多种不同的元素,但在取元素时怎么判断该元素是哪一类呢?在取元素时,可以通过调用getclass方法与类.class比较,来判断List中的元素是哪一类。然后再将该元素进行强制类型转换即可。
2.关于AutoCAD中数据的参照块坐标。
dxf 文件中块参照会有一些坐标的定义,在实体段中可以通过INSERT来插入这些参照块。但INSERT中只有插入点的坐标,那么如何确定参照块各图元的坐标呢?以及插入点是什么意思呢?
通过计算坐标摸索出来的规律:首先插入点是参照块中坐标原点(0,0)在INSERT后的位置。这样的话,通过计算各个点关于坐标原点的相对关系,即可确定插入后参照块各图元的坐标。具体地,有各坐标轴伸缩、旋转等变换的代码如下:
3.关于Java中BufferReader流的读取。如果读取之后,经检查不是想要的数据,但并不能简单地丢弃,因为可能紧接的代码就需要用到。意思就是,读出数据之后再将其放回。怎么做?
通过调用mark()方法来标记之前的位置,然后通过调用reset()方法来回退到上一次mark标记的流的位置。(这里要充分考虑各种情况,不要因为mark的地方不够或不对,造成死循环。)这个应该是和文件的缓冲区数据结构中的标记流位置变量有关。
4.关于AutoCAD中圆弧的转换。
dxf 文件中圆弧是按照圆心、起点角度、终点角度给出的。角度是把圆心作为坐标原点然后正常二维坐标里相对于x轴的角度。这样很容易计算出起点和终点的坐标。但确定该弧还需要第三点,这里可以寻找平分弧的这个点。它相对于坐标轴的角度是起点和终点角度之和的一半。然后考虑对圆心的关系即可算出坐标。这里主要注意的是,为了不产生一个180度的误差,在终点角度小于起点角度时,要在终点角度上加360度。
1.关于Java中的List<Object>用法。
它可以存多种不同的元素,但在取元素时怎么判断该元素是哪一类呢?在取元素时,可以通过调用getclass方法与类.class比较,来判断List中的元素是哪一类。然后再将该元素进行强制类型转换即可。
2.关于AutoCAD中数据的参照块坐标。
dxf 文件中块参照会有一些坐标的定义,在实体段中可以通过INSERT来插入这些参照块。但INSERT中只有插入点的坐标,那么如何确定参照块各图元的坐标呢?以及插入点是什么意思呢?
通过计算坐标摸索出来的规律:首先插入点是参照块中坐标原点(0,0)在INSERT后的位置。这样的话,通过计算各个点关于坐标原点的相对关系,即可确定插入后参照块各图元的坐标。具体地,有各坐标轴伸缩、旋转等变换的代码如下:
3.关于Java中BufferReader流的读取。如果读取之后,经检查不是想要的数据,但并不能简单地丢弃,因为可能紧接的代码就需要用到。意思就是,读出数据之后再将其放回。怎么做?
通过调用mark()方法来标记之前的位置,然后通过调用reset()方法来回退到上一次mark标记的流的位置。(这里要充分考虑各种情况,不要因为mark的地方不够或不对,造成死循环。)这个应该是和文件的缓冲区数据结构中的标记流位置变量有关。
4.关于AutoCAD中圆弧的转换。
dxf 文件中圆弧是按照圆心、起点角度、终点角度给出的。角度是把圆心作为坐标原点然后正常二维坐标里相对于x轴的角度。这样很容易计算出起点和终点的坐标。但确定该弧还需要第三点,这里可以寻找平分弧的这个点。它相对于坐标轴的角度是起点和终点角度之和的一半。然后考虑对圆心的关系即可算出坐标。这里主要注意的是,为了不产生一个180度的误差,在终点角度小于起点角度时,要在终点角度上加360度。
相关文章推荐
- 如何判断List<Object>中是否包含,一个有相同xxx某个属性实体类
- java 后台使用gson 将json字符串转换为List<Map<String,object>> 数组
- Java 中的 int 与 Integer 用于 List<Integer> 时,以及通过打印变量检測程序执行和函数调用次数计数
- java按List<Object>中元素的值进行排序
- java如何将list<T>转换成List<Object>
- 如何判断对象包含List<T>中的类型
- List<Map<String,Object>>如何使用Java代码遍历以获取String,Object的值
- List<Map<String,Object>>使用Java代码遍历以获取String,Object的值
- 如何给List<Map<String, Object>> list 增加值和修改值
- 如何获得list<T>中的元素值
- JAVA List<Object[]>取值问题
- java对象和字符串互转以及json字符串转List<Object>集合
- java list<Map<String,Object>>排序
- Java List<Object>根据Object中某一个属性排序
- Hql的select 语句返回Ilist<object[]>类型,如何转换为映射类型
- hibernate如何返回一个Map对象 以及List<Map<String, Object>>
- form前台提交List<Object>对象以及后台处理
- 利用java反射机制实现List<Map<String, Object>>转化为List<JavaBean>
- JAVA遍历List<Map<String,Object>> 如何根据List中Map的Value的值进行遍历
- Java 面试题之反射的应用(如何在List<String> list = new ArrayList<String>();中放入Integer类型的数据)