# data[].attributes.attachment_link.title
3708김진성 생활 안전 교육

# data[].attributes.body
https://gamma.app/docs/-bv6nw8yjm4imggl#card-rumkvshdusk7pfv

# data[].attributes.attachment_link.title
2026학년도 1학기 협동학습 결과 보고서

# data[].attributes.attachment_link.title
2026학년도 1학기 협동학습 결과 보고서

# data[].attributes.attachment_link.title
그대춤을추는 나무 같아용

# data[].attributes.body
물체가 가지고 있는 고유진동수와 외부에서 가해지는 힘의 진동수가 일치할 때, 진동의 폭(진폭)이 폭발적으로 커지는 공명(공진, Resonance) 현상이 일어납니다. 이때 일치하는 특정 진동수를 공명진동수(Resonance frequency)라고 합니다. [1, 2, 3]

# data[].attributes.body
LIDAR + 소형 카메라 탑재 소형 순찰드론 운용

-> 드론이 적설로 인한 피해가 심한 침엽수를 중심으로 지리 데이터를 미리 받아와 주변 구역을 순찰하며 AI/컴퓨터 비전을 활용해 취약계열 나무를 감지하고 네트워크 상으로 GPS 신호와 경고를 보낸다.

-> LIDAR와 소형 카메라 여러개가 같이 탑재되어 눈보라나 등의 시야가 극심히 제한되는 상황에서도 시야를 확보할 수 있다.

-> 일반적인 드론은 눈이 내리는 날 비행이 어렵지만, 철저한 방수처리와 고성능 배터리 및 소재를 활용하면 비행이 충분히 가능하다.

-> 현재 개발중인 전고체 배터리 등의 기술을 활용하면 저온에서도 효율을 잃지 않고 높은 에너지 밀도로 장시간 비행이 가능하다

-> 주변 소방서 등을 스테이션으로 하여 운용한다.

-> 기상청 API를 활용해 적설량과 눈의 습도(습설/건설 여부 등) 데이터를 기반으로 인간의 개입을 최소화해 자율적으로 작동한다.

운반용 자율주행 자동차 + 나무에 쌓인 눈 제거 로봇

-> 순찰드론이 보낸 GPS 신호를 바탕으로 도로로 이동 가능한 한 최대한 가까이 자율주행 자동차를 이용해 눈 제거 로봇을 이송한다.

-> 눈 제거 로봇이 목표 지점으로 자율적으로 이동하여 대상 나무에 부착한다. 이 로봇에도 GPS 센서와 RGBD 카메라, IMU 등이 달려있어 SLAM과 VIO등의 기술을 활용해 목표 지점으로 자율적으로 이동할 수 있다.

-> 대상 나무에 부착한 이후, 눈 제거 과정에서 생길 수 있는 피해를 예방하기 위해 작업 시작 전 음성으로, 또 시각적으로도 경고를 하고, 내부 진동 발생기와 IMU의 가속도계를 활용해 진동수를 서서히 높여가며 특정 진동수에 대한 주파수 응답을 측정하여 공진주파수를 알아낸다. 이때, 주파수 응답을 히스토그램으로 구하여, AI 모델에 적용하여 작업 중 나무가 부러지거나 하는 등의 문제가 있을지 판단한다.

-> AI 모델의 판단 결과 안전하다는 판단이 서는 경우, 공진주파수를 중심으로 해 강력한 진동을 발생시켜 눈을 제거한다. 눈을 성공적으로 제거한 경우 작업을 중단하고 복귀한다.

-> 만일 안전하지 않다고 판단되는 경우 일단 철수를 하며, 해당 위치 나무의 주파수 응답 히스토그램과 GPS 정보 RGBD 카메라를 활용한 3D 스캔 데이터 등을 근처 소방서 등에 전송하여 보고한다.

-> 위 모든 과정에서 RGBD 카메라를 이용해 사람 등이 주변에 있는지 상시 확인하며, 작업중 사람이 근접하여 접근할 경우 즉시 작업을 중단하고 경고한다.

# data[].attributes.body
폐열 발전 핵심 요약

원리: 제벡 효과(온도 차 → 전기 발생) 이용.

과정: 엔진·공장 등에서 버려지는 폐열과 외부 공기 사이의 온도 차로 열전 소자 내 전자를 이동시켜 전기를 생산.

실생활 활용: 1. 자동차: 전자기기 전력 공급 및 연비 향상.

2. 산업/발전소: 에너지 효율 극대화 및 전력 재사용.

3. 소형 기기: 배터리 없는 웨어러블 센서 구동.

결론: 별도 장치 없이 버려지는 열을 전기로 바꿔 에너지 효율을 높이는 기술

# data[].attributes.attachment_link.title
611609김예찬 - 물질의 상태와 상호작용 탐구 프로젝트 인포그래픽

# data[].attributes.attachment_link.readable_text
def hanoi(n, start, end, temp):
    print(n)
    if n == 1:
        print(start,end)
        return
    hanoi(n - 1, start, temp, end)
    print(start,end)
    hanoi(n - 1, temp, end, start)
while True:
    n = int(input("n = "))
    hanoi(n, "1", "3", "2")

# data[].attributes.body
import curses

import time

def print_table(stdscr, r):

for i, row in enumerate(r):

for j, number in enumerate(row):

stdscr.addstr(i, j * 4, f'{number:>3}')

def main(stdscr: curses.window):

stdscr.clear()

r = [[i * 10 + j for j in range(0, 10)] for i in range(0, 10)]

for i in range(0, 10):

r[0][0] = i * 100

print_table(stdscr, r)

stdscr.refresh()

time.sleep(0.1)

time.sleep(5)

curses.wrapper(main)

# data[].attributes.attachment_link.readable_text
import os
import os.path
def wfile():
    k = input("new file name:")
    f= open(k, 'w',encoding = 'utf-8')
    i = 1
    while True:
        data = input(str(i)+':')+'\n'
        if data=='exit'+'\n':
            f.close()
            break
        f.write(data)
        i+=1
    
def rfile():
    k = input("file name:")
    if os.path.isfile(k):
        f = open(k,'r',encoding = 'utf-8')
        i = 1
        while True:
            line = f.readline()
            if not line : break
            line = line.strip()
            print(str(i)+":"+line)
            i+=1
        f.close()
    else:
        print("\""+k+"\" is not file")

def afile():
    k = input("file name:")
    if os.path.isfile(k):
        f = open(k,'r',encoding = 'utf-8')
        lines = f.readlines()
        i = 0
        for line in lines:
            line = line.strip()
            print(str(i+1)+":"+line)
            i += 1
        f.close()
        f = open(k,'a',encoding = 'utf-8')
        while True:
            data = input(str(i+1)+':')+'\n'
            if data=='exit'+'\n':
                f.close()
                break
            f.write(data)
            i+=1
    else:
        print("\""+k+"\" is not file")

def cfile():
    k = input("file name(clear,create):")
    f= open(k, 'w',encoding = 'utf-8')
    f.close()
    print("file was created.")

def mfile():
    k = input("new file name:")
    f= open(k, 'w',encoding = 'utf-8')
    i = 1
    while True:
        data = input(str(i)+':')+'\n'
        if data=='exit'+'\n':
            f.close()
            break
        f.write(data)
        i+=1

while True:
    n = input(">>")
    if n == 'exit':
        break
    elif n == 'wfile':
        wfile()
    elif n == 'rfile':
        rfile()
    elif n == 'afile':
        afile()
    elif n == 'cfile':
        cfile()
    elif n == 'mfile':
        mfile()
    elif n == 'cls' or n == 'clear':
        os.system("cls")
    elif n[:6] == 'print ':
        print(n[6:])
    else : print("\""+n+"\" is not valid")



# data[].attributes.attachment_link.readable_text
#include <iostream>
#include <windows.h>
#include <map>
using namespace std;

void gotoxy(int x,int y){ 
 COORD pos={4*x,2*y};
 SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos); 
}

int main(){
	std::map<std::pair<int, int>, int> coordinates;
	int n, ox, oy;
	cout << "������ ���� ������������(������,13����)\n";
	while(true){
		cin >> n;
		if(n%2 == 0){
			cout << "���� ����.\n";
			continue;
		}
		if(n>13){
			cout << "������ ���� ������.(13����)\n";
			continue;
		}
		else{
			break;
		}
	}
	system("cls");
	cout << n << "*" << n << "������ ��������.\n";
	int k = n/2;
	ox = n-k;
	oy = n-(2*k);
	for(int i=1; i<=n*n; i++){
		gotoxy(ox,oy);
		if (coordinates.find({ox+1, oy-1}) != coordinates.end()||coordinates.find({ox+1-n, oy-1+n}) != coordinates.end()) {
			oy+=1;
			coordinates[{ox, oy}] = i;
			cout << i;
			Sleep(30);
        	continue;
    	}
    	coordinates[{ox, oy}] = i;
		cout << i;
		ox+=1;
		oy-=1;
		if (oy == 0){
			oy+=n;
		}
		if (ox == n+1){
			ox-=n;
		}
		Sleep(30);
	}
	cout << "\n\n";
	system("pause");
	return 0;
}

# data[].attributes.body
<!DOCTYPE html>

<html>

<head>

<style>

@import url('https://fonts.googleapis.com/css2?family=Emblema+One&display=swap');

body{

background: #FF416C; /* fallback for old browsers */

background: -webkit-linear-gradient(to right, #FF4B2B, #FF416C); /* Chrome 10-25, Safari 5.1-6 */

background: linear-gradient(to right, #FF4B2B, #FF416C); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */

}

h1{

font-family: "Emblema One", system-ui;

font-weight: 400;

font-style: normal;

font-size: 90px;

color: white;

margin:0;

line-height:60px;

padding-bottom: 11px;

}

</style>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>뿌드득</title>

</head>

<body>

<div style="text-align:center;">

<h1>max</h1>

<hr>

<a href="https://www.youtube.com/"><img src="youtube.png" height="65px" width="100px"></a>

</div>

</body>

</html>

# data[].attributes.body
$Bi_2Te_3$에 $Bi_2Se_3$를 고용하고 아이오딘(I) 등의 원소를 도핑하여 열전 성능지수(ZT)를 최대 1.13까지 향상시키는 최적의 조합을 확인했다.

고온 영역에서는 열적 들뜸에 의한 양극성 효과로 제벡 계수가 감소하고 열전도도가 급증하여 성능이 저하되는 한계점을 분석했다.