Kig(소프트웨어)

Kig (software)
키그
Kig icon.svg
Kig-screenshot.png
개발자KDE
초기 릴리즈2006년 8월 2일 (2006-08-02)
안정된 릴리스
20.04.2[1] / 2020년 6월 11일; 2년 (2020년 6월 11일)
저장소
기입처C++(Qt)
운영 체제Unix 계열, Mac OS X, Windows
유형인터랙티브 지오메트리 소프트웨어
면허증.GPL
웹 사이트edu.kde.org/kig/kig.displays(키그.module)

KIGKDE 교육 프로젝트의 일부인 무료 오픈 소스 인터랙티브 지오메트리 소프트웨어입니다.Python에서의 스크립팅과 기존 구성에서 매크로를 생성하는 기능을 갖추고 있습니다.

Import 및 내보내기

Kig는 DrGeoCabri Geometry에서 만든 파일 및 XML 인코딩된 자체 파일 형식을 가져올 수 있습니다.Kig는 LaTeX 형식 및 SVG(벡터 그래픽) 파일로 그림을 내보낼 수 있습니다.

물건들

Kig는 동적 지오메트리의 모든 기존 객체를 처리할 수 있지만 다음과 같은 기능도 있습니다.

  1. 곡선의 곡률 중심접촉
  2. 확장, 일반 친화성, 반전, 투영적 응용, 호모그래피조화 호몰로지
  3. 주어진 점근선을 갖는 쌍곡선
  4. 베지에 곡선(2도 및 3도)
  5. 원뿔 단면에 대한 점의 극선극선
  6. 쌍곡선점근선
  7. 9개의 점을 통과하는 입방체 곡선
  8. 6개의 점을 통과하는 이중점이 있는 입방체 곡선
  9. 4개의 점을 통과하는 첨단이 있는 입방체 곡선입니다.

스크립트 언어

피규어 내부

Kig 내에서 사용할 수 있는 다른 오브젝트는 Python 언어 스크립트입니다.Kig 객체를 변수로 받아들이고 항상 하나의 객체를 반환할 수 있습니다.

예를 들어 그림 안에 숫자 개체가 이미 있는 경우(예: 3), 다음 Python 개체는 정사각형(9)을 생성할 수 있습니다.

방어하다 광장(arg1):     돌아가다 더블 오브젝트(arg1.가치() ** 2) 

변수는 항상 호출됩니다.arg1,arg2클릭 순서 등입니다.여기서 변수는 하나뿐입니다.arg1그리고 그 수치로 얻을 수 있는 것은arg1.value().

복소수 제곱(Argand 다이어그램의 점으로 표시됨)을 구현하려는 사용자가 없는 경우 스크립트 작성 시 선택해야 하는 객체는 반드시 점이어야 하며 스크립트는 다음과 같습니다.

방어하다 csquare(arg1):     x = arg1.조정하다().x     y = arg1.조정하다().y     z = x * x - y * y     y = 2 * x * y     x = z     돌아가다 포인트(좌표(x, y)) 

복소수의 제곱을 나타내는 점의 가로축 - +) - y 2 + ( xy )^2}=이다.Coordinate(x,y)는 새 점의 두 좌표로 구성된 Python 목록을 작성합니다.그리고.Point이 목록에 의해 정확하게 좌표가 지정되는 점을 작성합니다.

그러나 그림 안의 Python 개체는 하나의 개체만 생성할 수 있으며, 더 복잡한 그림의 경우 스크립트를 사용하여 그림을 작성해야 합니다.

스크립트에 의해 작성된 그림

Kig는 (Python으로 작성된) 라는 작은 프로그램을 생각해냈다.pykig.py할 수 있다

  1. Python 스크립트를 로드합니다.MyScript.py
  2. 이 스크립트로 설명되는 Kig 피규어를 작성합니다.
  3. Kig를 열고 수치를 표시합니다.

예를 들어 다음과 같이 Sierpinski 삼각형을 (IFS로서) 만들 수 있습니다.pykig:

부터 랜덤 수입품 * 문서.오브젝트를 숨기다() A = 포인트(0, 2) A.표시하다() B = 포인트(-2, -1) B.표시하다() C = 포인트(2, -1) C.표시하다() M = 포인트(.1, .1) 위해서 i  범위(1, 1000):     d = 랜드 레인지(3)     한다면 d == 0:         s = 부분(A, M)         M = s.중간점()     한다면 d == 1:         s = 부분(B, M)         M = s.중간점()     한다면 d == 2:         s = 부분(C, M)         M = s.중간점()     M.표시하다() 

외부 링크

  1. ^ "Release 20.04.2". 11 June 2020. Retrieved 16 June 2020.