这是用户在 2025-4-6 22:37 为 https://app.immersivetranslate.com/html/ 保存的双语快照页面,由 沉浸式翻译 提供双语支持。了解如何保存?

CG week3.1.2 2025.03.17 Mon PM 2:09 ・ 33Minutes 53seconds ZHANG YIWEN
计算机图形学第 3 周 3.1.2 2025.03.17 周一 下午 2:09 ・ 33 分钟 53 秒 张一文

Attendees 1 00:00 이렇게 되면 이제 원을 한번 그려보세요. 이거 지우고
与会者 1 00:00 现在让我们来画一个圆。把这个删除

Attendees 1 07:35 이렇게 가운데 x축 y축도 한번 그려보고 그다음에 이렇게 타운도 한번 그려보세요. x축 y축은 드로우 코디네이트 시스템이라는 사용자 정의 함수를 호출해서 그냥 라인 두 개 그린 거예요. 라인 두 개 라인 2개만 그린 거고 그다음에 이 빨간색 타워는 드로우 엘립스가 있는 함수 아까 소개한 거 그거 가지고 그린 거죠.
学员 1 07:35 试着绘制中心 x 轴和 y 轴,然后再尝试绘制塔楼。x 轴和 y 轴是通过调用名为"绘制坐标系统"的自定义函数绘制的两条线。只是绘制了两条线,然后这个红色的塔楼是使用之前介绍的绘制椭圆的函数绘制的。

Attendees 1 08:22 장면에다가 삼각형도 한번 그려보고 사각형도 한번 그려보고 여러 가지 라인도 한번 그려보고 해보라는 얘기예요.
学员 1 08:22 在场景中尝试绘制三角形,绘制矩形,绘制各种线条等。

Attendees 1 09:37 잘 안 되면은 얘기를 하세요.
如果不行的话请告诉我。

Attendees 1 11:05 1 간격으로 좌표의 눈금도 한번 그려볼게요. 12고 마이너스 2로 으니까 중간에 있는 좌표 격자 격자도 한번 그려볼게요.
我将绘制以 1 为间隔的坐标刻度,因为是 12 和负 2,我将绘制中间的坐标网格。

Attendees 1 12:01 좌표 축은 여기 라인 두 개로 그냥 끝났죠. x축 라인 y축 라인
与会者 1 12:01 坐标轴就是这里两条线结束了。x 轴线和 y 轴线

Attendees 1 12:11 여기 x 축 여기 와 축
与会者 1 12:11 这里是 x 轴,这里是 y 轴

Attendees 1 15:11 홈을 이용해서 라인들을 이렇게 좀 그려봤어요. 격자 라인들
使用 Home 键,我尝试绘制了这样的线条。网格线

Attendees 1 15:35 그리는 방법은 여러 가지 많아요. 그냥 여러분 하나의 예시를 그린 거고
绘制的方法有很多种。这只是给大家展示的一个例子

Attendees 1 15:59 누가 여기다 이렇게 부채꼴 하나 그려주면 좋을 것 같은데 아크죠 아크 포 드로우 아크
与会者 1 15:59 希望有人能在这里画一个扇形,对吧?画一个弧,画弧

Attendees 1 16:19 다음 시간에 숙제를 내줄 건데 이거 충분히 연습할 수 있는 숙제를 내줄게요.
与会者 1 16:19 下次课我会布置作业,我会给你们布置一些足够练习的作业。

Attendees 1 17:06 이거 그냥 올려줄게 오늘 강의 자료에 요거 코드 올려줄게요. 그냥 CPP 파일만 올릴게요.
听众 1 17:06 我将直接上传这个,今天的讲义资料,我会上传这段代码。只会上传 CPP 文件。

Attendees 1 18:33 드로우 엘립스를 조금 변형을 해서 뭘 그려볼까요? 부채골을 한번 그려볼까요? 드로우 엘립스 아까 파라미터가 중심 cx 콤마 cy 그다음에 여기 xx하고 XY가 들어가네 이렇게 되면 안 되겠구나 그래서 다른 함상을 만들게요. 보이드 드로 아크 마찬가지로 중심
听众 1 18:33 我们稍微变形一下绘制椭圆,来画点什么?不如画个扇形?绘制椭圆的参数是中心 cx,逗号 cy,然后这里有 xx 和 XY,这样不行,所以我要创建另一个函数。同样的,void draw arc,同样是中心点

Attendees 1 19:10 그다음에 반지름 그다음에 각도 각도를 뭐라고 할까요?
与会者 1 19:10 然后是半径,然后是角度,角度怎么说?

Attendees 1 19:24 스타트 s t 앵글 ED 앵글 시작 각도와 끝 각도 그다음에 색상
与会者 1 19:24 开始 S T 角度 ED 角度,起始角度和结束角度,然后是颜色

Attendees 1 19:41 RGB 그다음에 마찬가지로 샘플링 개수 파라미터가 많네요. cx 콤마 cy는 중심
与会者 1 19:41 RGB 接下来也有很多采样参数。cx 逗号 cy 是中心

Attendees 1 20:33 이거 어떻게 그리면 될까 마크는 그대로 드로우 엘립스 코드 복사해 볼게요. 쭉 가서 복사해서 컨트롤 c 컨트롤 v 그래서 색상을 지정을 하고 똑같이 트라이블 펜으로 그릴 거예요. 근데 여기서 이제 xx하고 x y는 뭘로 배치가 돼야 되나 레디어스로 바꿔야겠죠. 반지름은 똑같으니까
与会者 1 20:33 这个怎么绘制呢?标记是直接绘制椭圆的代码,我将复制它。我会一直往下复制,然后控制 C 控制 V。所以我要指定颜色,并像之前一样用三角形笔绘制。但在这里,现在 xx 和 xy 应该如何放置呢?我们需要改成半径。半径是一样的

Attendees 1 21:10 그다음에 이제 이걸 어떻게 줘야 돼요 세타의 각도를 시작 각도 ST 앵글 ST 앵글부터 시작 각도 더하기 시작 각도 더하기 그러니까 시작부터 시작하는 거죠. 됐나요? 그다음에 범위는 어디예요? 각도의 범위는
那么接下来该如何给出这个角度呢?从开始角度 ST 角开始,加上开始角度,也就是从开始处开始。成功了吗?那么范围是什么?角度的范围是

Attendees 1 21:36 앤드 앵글에서 마이너스 이렇게 나오면 어떻게 될까 엔드 앵글에서 스타트 앵글을 빼주면 이게 이제 총 각도가 나오죠. 그 각도 곱하기 이거는 아까 아 나누기 요거 하면 뭐부터 뭐 얼마로 변한다고 했어요? 0부터 1 사이 변한다고 했죠. 0일 때는 스타트 앵글이 나올 테고 그다음에 i가 s n 마이너스 1 하고 왔으면 얘가 1이 되죠. 그럼 1이 되면은 스타트 앵글, 스타트 앵글 지워주니까 앤드 앵글이 나오겠죠. 이거는 0부터 1까지 달라는 거고 0부터 1까지 변하는 거에다가 각도 차이를 곱해주면은 그 각도 차이가 등분되는 거죠. 그거를 얼마 어디에다 더해주면은 스타트 앤 글에서 더해주면은 세타가 나오겠죠.
如果结束角度为负数会发生什么呢?当结束角度减去开始角度时,就得到了总角度。这个角度乘以之前说的——啊,除以这个的话,会如何变化?我们说过是从 0 到 1 之间变化。当为 0 时,就是开始角度,当 i 等于 sn-1 时,它就会变成 1。那么 1 的话,就会减去开始角度,得到结束角度。这是要从 0 到 1 变化,将角度差乘以从 0 到 1 变化的值,就能使角度均匀分布。如果将它加到开始角度上,就可以得到θ角。

Attendees 1 22:35 그래서 똑같이 트라인을 펜으로 그리고 그래서 여기 보면은 테스트 해볼까요? 드로우 와크 몇 도부터 해볼까? 중심은 마이너스 2 콤마 마이너스 3.0이라고 하고 그다음에 반지름은 1.55만 줄게요. 그다음에 스타트 앵글은 45도부터 135도까지 그다음에 색상은 초록색으로 한번 그려볼게요. 그다음에 샘플링 개수는 100개
所以我们将同样地用笔绘制线条,那么让我们来测试一下好吗?从多少度开始绘制?中心点设为负 2,负 3.0,然后半径给 1.55。接下来起始角度从 45 度到 135 度,颜色设为绿色,然后采样点数为 100 个

Attendees 1 23:20 안 되면 어떡하지? 안 됐네요. 왜 안 디스크
如果不行怎么办?果然不行。为什么无法显示

Attendees 1 23:35 왜 안 됐을까?
参会者 1 23:35 为什么没有成功?

Attendees 1 23:48 이거는 지금 뭐예요? 라디안 값으로 준 거죠. 이거 라디안 호 각도로 준 거죠. 그래서 뭘로 바꿔야 되나 라디안으로 바꿔야 되죠. 그럼 이건 세터는
参会者 1 23:48 这是什么?是以弧度值给出的吗?这是以弧度角度给出的。那么我们需要转换成什么?需要转换成弧度。那么这是设置器

Attendees 1 24:05 필터를 다시 라디안으로 바꿔주려면 어떻게 해야 되나 얼마 곱해야 되죠? 360도가 2 파이전 그러면 1도는 몇 도라는 얘기예요.
与会者 1 24:05 如果要将滤波器重新转换为弧度,应该如何操作?乘以多少?360 度是 2π,那么 1 度是多少度呢?

Attendees 1 24:20 2 파이가 360도니까 곱하기 2 파이 나누기 360도 해줘야겠죠 세타는 세타 곱하기 2 파 2 곱하기 0 곱하기 3.14 1 5 92 나누기 360 이렇게 하면은 돼야 되는데
与会者 1 24:20 2π是 360 度,所以应该乘以 2π除以 360 度。θ是θ乘以 2π,2 乘以 0 乘以 3.14 1 5 92 除以 360,这样就可以了。

Attendees 1 24:47 뭐가 안 됐네요. 뭐가 안 됐을까? 트랭글 팬의 중심점을 지정을 안 해줬네요.
似乎有什么没有成功。可能是什么没有成功呢?原来是没有指定三角风扇的中心点。

Attendees 1 24:59 오케이
好的

Attendees 1 25:09 이렇게 하면은 초록색 아까가 그려지죠. 45도부터 135도까지 마이너스 2 콤마 마이너스 3에 반지름 1.5 1.5 2 반지름 1.5일 거예요.
这样就会画出绿色,从 45 度到 135 度,为负 2,负 3,半径为 1.5,1.5,2,半径为 1.5。

Attendees 1 25:43 여기에 몸통에다가 머리도 달고 손도 달고 할 수 있겠죠. 다리도 달고 단축도 달고 코딩으로 코딩으로 그림판 써서 하는 게 아니라
在这里,可以在身体上添加头部,手部,还可以添加腿部和小节,而不是使用绘图软件进行绘制。

Attendees 1 26:59 2차 함수 한번 그려볼까요? 2차 함수
与会者 1 26:59 我们来画一个二次函数吧?二次函数

Attendees 1 27:53 y는 AX의 제곱 플러스 b x 플러스 c라는 함수를 한번 그려보고 싶은 건데 드로우 플리노미얼이라는 함수를 그릴 거예요. 그다음에 요 2는 뭐에 해당하는 걸까? e는 a에 해당하는 값이에요. 3.0은 b에 해당하는 값이고 5.0은 c에 해당하는 값이에요. 그래서 이걸로 x 범위는 마이너스 10부터 플러스 10까지 아까 우리 관측 광관에 있는 최대값부터 최소값까지 한번 그려볼게요. 주로 폴리노미
与会者 1 27:53 我想画一个 y = ax²加上 bx 加 c 的函数,我将使用绘制多项式函数。接下来,这个 2 是什么?e 对应的是 a 值。3.0 对应 b 值,5.0 对应 c 值。因此,我将按照之前观测视角的最大值和最小值,绘制 x 范围从负 10 到正 10 的图像。主要是多项式

Attendees 1 28:59 x는 0.5씩 증가를 한번 시켜볼게요. y는 어떻게 구하면 되나? a 곱하기 x 곱하기 x에 더하기 b 곱하기 6 더하기 c 해 주면 되겠죠. 그래서 이거를 좌표로 명시를 해줄 거예요. 어떻게 GL 버텍스로 2D x 콤마 y 이런 좌표들을 막 명시를 해주고 얘로 그림을 그려야 되죠. GL 비긴 그다음에 GL 엔드 근데 얘네는 뭘로 연결을 해줘야지만이 이런 곡선 형태로 그려질까요? 라인 스트립으로 해주면 되겠죠.
与会者 1 28:59 我们将 x 增加 0.5。y 要如何计算?a 乘以 x 乘以 x 加上 b 乘以 6 再加上 c 就可以了。然后我们将把这个坐标标明出来。我们要如何用 GL 顶点来指定 2D x 逗号 y 这样的坐标,并用它们来绘制图形。GL 开始,然后 GL 结束,但是要用什么连接才能绘制出这种曲线形状呢?我们可以使用线条连续绘制(Line Strip)。

Attendees 1 29:44 이렇게 해주고 실행을 시키면은 ex 뭐야? ex 제곱 더하기 3 x 플러스 5 위에 이렇게 그려지네요. 그렇죠 이런 이제 2차 함수가 그려질 테고 난 2차 함수가 싫어 3차 함수 두 번 꺾이는 걸 그리고 싶어 하면은 여기에 개수 하나를 더 추가를 할게요. 3.0 그다음에 abcd
与会者 1 29:44 这样做并执行后,ex 是什么?ex 平方加 3x 加 5 就这样绘制出来了。对,这就是二次函数的绘制。如果我不喜欢二次函数,想绘制一个有两个拐点的三次函数,我将再增加一个数值。3.0,然后是 abcd。

Attendees 1 30:19 그러면은 AX의 3승 ex의 제곱 cx 더하기 d 해 주면 되겠죠. 그다음에 조금 더 세밀하게 그리고 싶어 하면은 요 x 값을 0.5만 증가시키는 게 아니라 0.05씩 증가시키면 엄청나게 많은 점들이 샘플링이 되겠죠.
如果将 AX 的 3 次方、ex 的平方、cx 加上 d,就可以了。如果想要更精细地绘制,不仅仅是将 x 值增加 0.5,而是每次增加 0.05,那么就会采样到大量的点。

Attendees 1 30:48 이렇게 되는 건데 이게 너무 기울기가 급격히 다 안 보이네요. 그다음에 나는 검정색으로 아니 파란색으로 그리고 싶어 하면 어떻게 해주면 되나 여기 l 컬러 3D 0.0 0.0 1.0 이렇게 색상을 지정해 주면 돼요.
就是这样,但是斜率变化太快看不清楚。如果想要用蓝色绘制,只需要在这里使用 l color 3D 0.0 0.0 1.0,这样就可以指定颜色了。

Attendees 1 31:12 이게 개수가 너무 커가지고 급격하게 그려지니까 작은 값으로 한번 바꿔볼게요. 0.3 마이너스 0.5 0.71.0
由于数量太大,绘制变得非常急剧,我将尝试使用较小的值。0.3 负 0.5 0.71.0

Attendees 1 31:38 파란색으로 이제 3차 함수가 그려졌죠.
现在已经用蓝色绘制了三次函数。

Attendees 1 31:46 사실 오늘 배운 것만 여러분 잘 활용하면은 2차원에서는 그리고 싶은 거 다 그릴 수 있어요. 기본 도형 점 선 삼각형 걔네들로 모든 2차원 도형들이 만들어지기 때문에 여기다가 직선 하나 그리고 그다음에 3차 식과 직선의 교차점을 그리고 싶으면 그건 방정식을 풀어야겠죠. 방정식을 풀어야 되는 거고
事实上,如果你们好好利用今天学到的知识,在二维图形中,你们想画什么都可以画。因为所有二维图形都是由基本图形、点、线、三角形构成的,如果你想绘制一条直线,然后绘制三次方程与直线的交点,那就需要解方程。需要解方程。

Attendees 1 32:22 이 CPP 파일은 이 클래스 강의 자료에 올릴 테니까 반드시 복습을 해보세요. 알겠죠.
这个 CPP 文件将会上传到这门课程的资料中,请务必复习。明白了吗。

Attendees 1 32:41 그래서 이번 시간에 이런 내용들을 살펴봤네요. 그래픽스 출력 기본 객체에 점 직선 다각형이 있다. 그다음에 이런 것들을 출력하기 위한 오픈제의 함수들 살펴봤죠. 그다음에 레스터화 기법으로 대표적으로 여러 가지 알고리즘이 있지만 그레이드 앤 마인 드로잉 알고리즘에 대해서 살펴봤어요. 그다음에 사실 원 그리기 알고리즘, 타워 그리기 알고리즘도 우리 지금 원 그릴 때 어떻게 했어요? 코사인 값 사인 값 이용해서 그렸죠. 근데 사실 이렇게 안 그리고 덧셈으로만 그릴 수도 있어요. 원도 반지름 주어지면은 이렇게 브레지는 비슷하게 해가지고 레스터 알고리즘이 있어요. 이런 내용들에 대해서 공부를 했습니다. 다음 시간에는 이런 그래픽 기본 객체들이 가지는 속성들에 대해서 설명을 하고 첫 번째 출제가 나가게 될 거예요. 알겠죠? 오늘 여기까지 할게요. 수고했습니다.
本次课程我们学习了以下内容。图形输出的基本对象包括点、直线和多边形。然后我们查看了 OpenGL 绘制这些对象的函数。接下来,我们讨论了光栅化技术,主要介绍了 Bresenham 绘图算法。关于圆的绘制算法,我们之前用正弦和余弦值进行绘制,但实际上也可以仅通过加法来绘制圆。给定半径后,可以使用类似 Bresenham 的光栅算法。我们学习了这些内容。下次课程将讨论这些基本图形对象的属性,并将进行第一次考试。明白了吗?今天就到这里,辛苦了。

clovanote.naver.com