대수 곡선은 {(x,y) in R^2 : f(x,y)=0 }
다항식 의 0 의 집합으로 설명 할 수있는 "2D 평면"의 특정 "1D 하위 집합"입니다 f
. 여기서 우리는 2D 평면을 실제 평면으로 간주하여 R^2
그러한 곡선이 어떻게 생겼는지, 기본적으로 연필로 그릴 수있는 것을 쉽게 상상할 수 있도록합니다.
예 :
0 = x^2 + y^2 -1
반지름의 원 10 = x^2 + 2y^2 -1
타원0 = xy
단면 형상, 기본적으로 X 축 결합하고, Y 축0 = y^2 - x
포물선0 = y^2 - (x^3 - x + 1)
타원 곡선0 = x^3 + y^3 - 3xy
데카르트의 포 리움0 = x^4 - (x^2 - y^2)
lemniscate0 = (x^2 + y^2)^2 - (x^3 - 3xy^2)
삼엽0 = (x^2 + y^2 - 1)^3 + 27x^2y^2
천체
직무
다항식 f
(아래 정의 참조)과 x / y- 범위가 주어지면 곡선을 흰색 배경에 검은 선으로 표시하는 최소 100x100 픽셀의 흑백 이미지를 출력합니다.
세부
색깔 : 당신은 당신의 선택의 다른 2 개의 색깔을 사용할 수 있습니다, 다만 구별하기 쉬워야합니다.
줄거리 : 픽셀 이미지 대신이 이미지를 아스키 아트로 출력 할 수 있습니다. 여기서 배경 "픽셀"은 공백 / 밑줄 또는 "비어있는"다른 문자 여야하며 " 같은 "전체 M
또는 X
나 #
.
앨리어싱에 대해 걱정할 필요가 없습니다.
다른쪽으로 라인의 한쪽에서 다항식 변화의 부호가 (수단은 예를 들면 행진 사각형 알고리즘을 사용할 수 있음), 제대로 "등의 병적 인 경우 플롯이없는 곳에서만 플롯 라인에 필요한 0 = x^2
기호가하는 곳을 선의 한쪽에서 다른쪽으로 갈 때 변하지 않지만 선은 연속적이고 서로 다른 부호의 영역을 분리해야합니다 f(x,y)
.
다항식 : 다항식은 (m+1) x (n+1)
(실제) 계수 목록의 매트릭스 / 목록으로 제공됩니다. 아래 예에서 계수의 항은 해당 위치에 제공됩니다.
[ 1 * 1, 1 * x, 1 * x^2, 1 * x^3, ... , 1 * x^n ]
[ y * 1, y * x, y * x^2, y * x^4, ... , y * x^n ]
[ ... , ... , ... , ... , ... , ... ]
[ y^m * 1, y^m * x, y^m * x^2, y^m * x^3 , ..., y^m * x^n]
원하는 경우 행렬을 정사각형으로 가정하고 (필요한 제로 패딩으로 항상 수행 할 수 있음) 원하는 경우 행렬의 크기가 추가 입력으로 제공된다고 가정 할 수도 있습니다.
다음에서 위의 예는 다음과 같이 정의 된 행렬로 표시됩니다.
Circle: Ellipse: Parabola: Cross: Elliptic Curve: e.t.c
[-1, 0, 1] [-1, 0, 1] [ 0,-1] [ 0, 0] [-1, 1, 0,-1]
[ 0, 0, 0] [ 0, 0, 0] [ 0, 0] [ 0, 1] [ 0, 0, 0, 0]
[ 1, 0, 0] [ 2, 0, 0] [ 1, 0] [ 1, 0, 0, 0]
x 범위 / y 범위의 테스트 사례 :
( pastbin에서 읽을 수는 없지만 더 나은 복사 붙여 넣기 가능한 형식으로 제공 됩니다 .)
Circle:
[-1, 0, 1] [-2,2] [-2,2]
[ 0, 0, 0]
[ 1, 0, 0]
Ellipse:
[-1, 0, 1] [-2,2] [-1,1]
[ 0, 0, 0]
[ 2, 0, 0]
Cross:
[ 0, 0] [-1,2] [-2,1]
[ 0, 1]
Parabola:
[ 0,-1] [-1,3] [-2,2]
[ 0, 0]
[ 1, 0]
Elliptic Curve:
[-1, 1, 0,-1] [-2,2] [-3,3]
[ 0, 0, 0, 0]
[ 1, 0, 0, 0]
Folium of Descartes:
[ 0, 0, 0, 1] [-3,3] [-3,3]
[ 0, -3, 0, 0]
[ 0, 0, 0, 0]
[ 1, 0, 0, 0]
Lemniscate:
[ 0, 0, -1, 0, 1] [-2,2] [-1,1]
[ 0, 0, 0, 0, 0]
[ 1, 0, 0, 0, 0]
Trifolium:
[ 0, 0, 0,-1, 1] [-1,1] [-1,1]
[ 0, 0, 0, 0, 0]
[ 0, 3, 2, 0, 0]
[ 0, 0, 0, 0, 0]
[ 1, 0, 0, 0, 0]
Astroid:
[ -1, 0, 3, 0, -3, 0, 1] [-1,1] [-1,1]
[ 0, 0, 0, 0, 0, 0, 0]
[ 3, 0, 21, 0, 3, 0, 0]
[ 0, 0, 0, 0, 0, 0, 0]
[ -3, 0, 3, 0, 0, 0, 0]
[ 0, 0, 0, 0, 0, 0, 0]
[ 1, 0, 0, 0, 0, 0, 0]
m
x n
가 아니라 (m+1)
x (n+1)
입니다. 입력으로 무엇을 취 합니까 : m, n
또는 m+1,n+1
? 아니면 선택할 수 있습니까?