사진을 찍다 보면, 곧게 뻗어야 할 건축물의 모서리가 휘어져 찍힌다든지 둥글게 찍히는 경우가 많이 있다. 즉, 찍힌 사진이 광학적으로 왜곡된 경우을 보게 된다. 이를 보정하는 방법은 여러 가지가 있다. 여기 그 몇 가지를 소개하고자 한다.

  1. http://www.astrosurf.com/buil/us/iris/iris.htm)
    - 공개용 (원래 천체사진이미지처리 프로그램 IRIS)
    - 어안렌즈의 왜곡을 처리하는 기능이 있음
  2. RectFish : http://www.acapixus.dk/software/rectfish/index.htm
    - 어안렌즈 왜곡 보정하는 프로그램 (공개용)
  3. 왜곡보정 설명 http://www.bythom.com/distortion.htm
  4. 왜곡보정 http://webuser.hs-furtwangen.de/~dersch/
  5. 왜곡보정 http://www.andromeda.com/
  6. PanoTools : http://www.panoguide.com/products/dersch/panotools/


외국 사진 사이트

http://photo.net
http://www.the-digital-picture.com/Reviews/

Posted by solarview

2008/10/23 08:35 2008/10/23 08:35
, , , , ,
Response
No Trackback , No Comment
RSS :
http://www.solarview.net/rss/response/204

[Webpage]3D Object Intersection

3D Object Intersection

3차원 객체들의 교차(혹은 충돌)여부를 검사하는 것은 그래픽관련 프로그래밍할 때, 매우 빈번하게 접하는 문제이다.
이런 문제들을 한 자리에 일목요연하게 정리한 웹페이지이다.
위치 : http://www.realtimerendering.com/int/
자체 설명
This page gives a grid of intersection routines for various popular objects, pointing to resources in books and on the web. For a unified static and dynamic object intersection and distance library (non-commercial use only, though), see the TGS collision system. The most comprehensive books on the subject are Geometric Tools for Computer Graphics (GTCG) and Real-Time Collision Detection (RTCD); the former is all-encompassing, the latter more approachable and focused.

Posted by solarview

2008/05/23 04:51 2008/05/23 04:51
,
Response
No Trackback , No Comment
RSS :
http://www.solarview.net/rss/response/170

[webpage]Graphics Gems Repository

컴퓨터 그래픽 분야에서 광범위하게 사용되는 핵심적인 알고리즘과 그를 구현하는 코드가 공개된 사이트.
Graphics Gems 시리즈 책에 실려있는 모든 코드가 고스란히 정리되고 공개되어 있다.
해석프로그램인 SolarView에서 사용한 알고리즘 중 일부는 여기에서 제공한 것을 번역 또는 변환해서 사용하였다.

주소 : http://tog.acm.org/GraphicsGems/
내용 :
2D Geometry
2D Rendering
3D Geometry
3D Rendering
C Utilities
Curves and Surfaces
Frame Buffer Techniques
Image Processing
Matrix Techniques
Modeling and Transformations
Numerical and Programming Techniques
Radiosity
Ray Tracing


이 책은 알고리즘, 프로그램, 그래픽 프로그래머들에 필요한 수학적인 기술들을 담고 있다. 즉, 그래픽 프로그래머들이 프로그램을 작성할 때 도움을 주고자 만들어졌다. 이 책에 있는 기사들은 연구 논문이 아니며, 저널에 실린 것들과 컨퍼런스에서 나온 결과를 담고 있다. 수록된 내용들과 소스코드는 현재까지 모든 게임과 그래픽 전 분야에 걸쳐서 핵심적으로 사용되고 있는 것들이다. (교보문고 설명문 인용)

Posted by solarview

2008/04/13 03:17 2008/04/13 03:17
,
Response
No Trackback , No Comment
RSS :
http://www.solarview.net/rss/response/165

[webpage]Computational Geometry Algorithms Library

위치 : http://www.cgal.org/
내용 :
전산기하학에 필요한 알고리즘을 공개한 사이트. 아래는 사이트 내의 설명임
The goal of the CGAL Open Source Project is to provide easy access to efficient and reliable geometric algorithms in the form of a C++ library. CGAL is used in various areas needing geometric computation, such as: computer graphics, scientific visualization, computer aided design and modeling, geographic information systems, molecular biology, medical imaging, robotics and motion planning, mesh generation, numerical methods.

The Computational Geometry Algorithms Library (CGAL), offers data structures and algorithms like triangulations (2D constrained triangulations and Delaunay triangulations in 2D and 3D), Voronoi diagrams (for 2D and 3D points, 2D additively weighted Voronoi diagrams, and segment Voronoi diagrams), Boolean operations on polygons and polyhedra, arrangements of curves and their applications (2D and 3D envelopes, Minkowski sums), mesh generation (2D Delaunay mesh generation and 3D surface mesh generation, skin surfaces), geometry processing (surface mesh simplification, subdivision and parameterization, as well as estimation of local differential properties, and approximation of ridges and umbilics), alpha shapes, convex hull algorithms (in 2D, 3D and dD), operations on polygons (straight skeleton and offset polygon), search structures (kd trees for nearest neighbor search, and range and segment trees), interpolation (natural neighbor interpolation and placement of streamlines), shape analysis, fitting, and distances (smallest enclosing sphere of points or spheres, smallest enclosing ellipsoid of points, principal component analysis), and kinetic data structures.

Posted by solarview

2008/04/11 03:34 2008/04/11 03:34
, ,
Response
No Trackback , No Comment
RSS :
http://www.solarview.net/rss/response/168

유즈넷 Comp.Graphics.Algorithms에서 자주묻는질문(FAQ)를 정리해놓은 사이트

Table of Contents

0. General Information

0.01: Charter of comp.graphics.algorithms
0.02: Are the postings to comp.graphics.algorithms archived?
0.03: How can I get this FAQ?
0.04: What are some must-have books on graphics algorithms?
0.05: Are there any online references?
0.06: Are there other graphics related FAQs?
0.07: Where is all the source?

1. 2D Computations: Points, Segments, Circles, Etc.

1.01: How do I rotate a 2D point?
1.02: How do I find the distance from a point to a line?
1.03: How do I find intersections of 2 2D line segments?
1.04: How do I generate a circle through three points?
1.05: How can the smallest circle enclosing a set of points be found?
1.06: Where can I find graph layout algorithms?

2. 2D Polygon Computations

2.01: How do I find the area of a polygon?
2.02: How can the centroid of a polygon be computed?
2.03: How do I find if a point lies within a polygon?
2.04: How do I find the intersection of two convex polygons?
2.05: How do I do a hidden surface test (backface culling) with 2d points?
2.06: How do I find a single point inside a simple polygon?
2.07: How do I find the orientation of a simple polygon?

3. 2D Image/Pixel Computations

3.01: How do I rotate a bitmap?
3.02: How do I display a 24 bit image in 8 bits?
3.03: How do I fill the area of an arbitrary shape?
3.04: How do I find the 'edges' in a bitmap?
3.05: How do I enlarge/sharpen/fuzz a bitmap?
3.06: How do I map a texture on to a shape?
3.07: How do I detect a 'corner' in a collection of points?
3.08: Where do I get source to display (raster font format)?
3.09: What is morphing/how is it done?
3.10: How do I quickly draw a filled triangle?
3.11: D Noise functions and turbulence in Solid texturing.
3.12: How do I generate realistic sythetic textures?
3.13: How do I convert between color models (RGB, HLS, CMYK, CIE etc)?
3.14: How is "GIF" pronounced?

4. Curve Computations

4.01: How do I generate a bezier curve that is parallel to another bezier?
4.02: How do I split a bezier at a specific value for t?
4.03: How do I find a t value at a specific point on a bezier?
4.04: How do I fit a bezier curve to a circle?

5. 3D computations

5.01: How do I rotate a 3D point?
5.02: What is ARCBALL and where is the source?
5.03: How do I clip a polygon against a rectangle?
5.04: How do I clip a polygon against another polygon?
5.05: How do I find the intersection of a line and a plane?
5.06: How do I determine the intersection between a ray and a polygon?
5.07: How do I determine the intersection between a ray and a sphere?
5.08: How do I find the intersection of a ray and a bezier surface?
5.09: How do I ray trace caustics?
5.10: What is the marching cubes algorithm?
5.11: What is the status of the patent on the "marching cubes" algorithm?
5.12: How do I do a hidden surface test (backface culling) with 3d points?
5.13: Where can I find algorithms for 3D collision detection?
5.14: How do I perform basic viewing in 3d?
5.15: How do I optimize a 3D polygon mesh?
5.16: How can I perform volume rendering?
5.17: Where can I get the spline description of the famous teapot etc.?
5.18: How can the distance between two lines in space be computed?
5.19: How can I compute the volume of a polyhedron?
5.20: How can I decompose a polyhedron into convex pieces?
5.21: How can the circumsphere of a tetrahedron be computed?
5.22: How do I determine if two triangles in 3D intersect?

6. Geometric Structures and Mathematics

6.01: Where can I get source for Voronoi/Delaunay triangulation?
6.02: Where do I get source for convex hull?
6.03: Where do I get source for halfspace intersection?
6.04: What are barycentric coordinates?
6.05: How do I generate a random point inside a triangle?
6.06: How do I evenly distribute N points on (tesselate) a sphere?
6.07: What are coordinates for the vertices of an icosohedron?
6.08: How do I generate random points on the surface of a sphere?
6.09: What are Plücker coordinates?

7. Contributors

7.01: How can you contribute to this FAQ?
7.02: Contributors. Who made this all possible.


Posted by solarview

2008/04/01 03:26 2008/04/01 03:26
,
Response
No Trackback , No Comment
RSS :
http://www.solarview.net/rss/response/166

화면의 스케일에 따라 선의 굵기가 달라진다. 즉, 확대 혹은 축소하는 과정에서 선의 굵기가 달라지게 된다. 이를 방지하기 위해서는 선의 굵기를 ‘-1’로 설정한다. 그러면 항상 1 픽셀의 굵기로 선을 그릴 수 있다.

[code]Dim myPen As Drawing.Pen = New Drawing.Pen(System.Drawing.Color.Blue, -1) [/code]

Posted by solarview

2008/01/10 10:48 2008/01/10 10:48
, ,
Response
No Trackback , No Comment
RSS :
http://www.solarview.net/rss/response/183

[책]Geometric Tools for Computer Graphics

Geometric Tools for Computer Graphics by Philip J. Schneider, David Eberly


사용자 삽입 이미지

컴퓨터 그래픽 분야는 기하학문제가 많은 곳 중의 하나이다.
이 책은 그런 기하학문제에 대한 수학적, 언어적 해결책을 제시해 준다.

Posted by solarview

2007/11/07 02:25 2007/11/07 02:25
, ,
Response
No Trackback , No Comment
RSS :
http://www.solarview.net/rss/response/154