궁(宮位)
서문
자미두수(紫微斗數)에는 열두 개의 궁이 있으며, 이를 통틀어 십이 인사궁(十二人事宮)이라고 합니다. 한 사람과 관련된 사람들과 삶의 여러 영역을 나타냅니다. 순서대로 명궁(命宮), 형제(兄弟), 부처(夫妻), 자녀(子女), 재백(財帛), 질액(疾厄), 천이(遷移), 노복(僕役), 관록(官祿), 전택(田宅), 복덕(福德), 부모(父母)입니다. 명반에 표시되는 이 열두 궁 외에 신궁(身宮), 래인(來因), 암합궁(暗合宮)이라는 세 개의 숨은 궁도 있습니다. 각 궁의 의미는 이 API 페이지에서 자세히 다루지 않습니다. 기본 개념이나 더 자세한 설명은 궁 체계를 참고하세요. 지지는 시계 방향으로 배치되지만 궁의 이름은 반시계 방향으로 배치됩니다. 아래 표는 그 예입니다:
사(巳)전택(田宅) | 오(午)관록(官祿) | 미(未)노복(僕役) | 신(申)천이(遷移) |
진(辰)복덕(福德) | 중궁 | 유(酉)질액(疾厄) | |
묘(卯)부모(父母) | 술(戌)재백(財帛) | ||
인(寅)명궁(命宮) | 축(丑)형제(兄弟) | 자(子)부처(夫妻) | 해(亥)자녀(子女) |
위 표는 하나의 예입니다.
명궁(命宮)의 위치는생년월일과출생 시간에 따라 달라지며, 위의 열두 자리 중 어디에나 놓일 수 있습니다. 다만 궁 이름의 순서는 바뀌지 않습니다.
궁위라는 말은 궁과 위치라는 두 개념을 합친 것입니다. 생년월일과 출생 시간으로 계산하여 정해지는 것이 궁입니다. 따라서 출생 명반에서 재백(財帛)궁의 자리는 고정됩니다. 본명반(本命盤)이라는 개념이 낯설다면 먼저 기초 지식을 읽어 보세요. 반면 위치는 기준 궁에 따라 정해지는 상대적인 위치입니다. 예를 들어 부처(夫妻)궁을 기준으로 잡으면 그 재백 위치(財帛位)에 해당하는 궁은 천이(遷移)궁입니다. 복잡하게 느껴질 수 있지만, 모든 관계를 외울 필요 없이 두 개념의 차이만 이해하면 됩니다.
클래스와 분석 메서드
개발 제안
궁은 명반에 속하므로 new로 궁 객체를 직접 생성하기보다는 정적 명반 생성 메서드가 반환한 명반의 궁 객체를 사용하세요. 명반의 palaces 속성에는 열두 궁의 데이터가 들어 있습니다. 지지 순서에 맞춰 인궁(寅宮)부터 시계 방향으로 배열됩니다.
import { astro } from "iztro";
const astrolabe = astro.astrolabeBySolarDate("2000-8-16", 2, "女", true, "zh-CN");위의 astrolabe 변수에서 여러 가지 방법으로 대상 궁을 얻을 수 있습니다. 실제 필요에 따라 사용하십시오.
palaces배열의 인덱스로 가져오기ts// 获取卯宫宫位 const palace = astrolabe.palaces[1];FunctionalAstrolabe인스턴스의palace()메서드에 궁의색인을 전달하여 가져옵니다.ts// 获取卯宫宫位 const palace = astrolabe.palace(1);FunctionalAstrolabe인스턴스의palace()메서드에 궁의이름을 전달하여 가져옵니다.ts// 获取命宫 const palace = astrolabe.palace("命宫");
FunctionalPalace
implements
IFunctionalPalace extends Palace이 클래스는 Palace의 속성을 상속하고, 궁 안의 성요를 분석하는 메서드를 추가합니다.
인터페이스 정의
tsinterface IFunctionalPalace extends Palace { toJSON: () => Palace; has: (stars: StarName[]) => boolean; notHave: (stars: StarName[]) => boolean; hasOneOf: (stars: StarName[]) => boolean; hasMutagen: (mutagen: Mutagen): boolean; notHaveMutagen: (mutagen: Mutagen): boolean; isEmpty: (excludeStars?: StarName[]) => boolean; astrolabe: () => IFunctionalAstrolabe | undefined; fliesTo: (to: number | PalaceName, withMutagens: Mutagen | Mutagen[]) => boolean; fliesOneOfTo: (to: number | PalaceName, withMutagens: Mutagen[]) => boolean; notFlyTo: (to: number | PalaceName, withMutagens: Mutagen | Mutagen[]) => boolean; selfMutaged: (withMutagens: Mutagen | Mutagen[]) => boolean; selfMutagedOneOf: (withMutagens?: Mutagen[]) => boolean; notSelfMutaged: (withMutagens?: Mutagen | Mutagen[]) => boolean; mutagedPlaces: () => (IFunctionalPalace | undefined)[]; }속성
참조 Palace
메서드
toJSON() ^2.6.0
목적
분석 기능이 있는 궁 객체를 일반 JSON 객체로 변환합니다. 반환 결과에는 분석 메서드나 연결된 명반 등의 실행 시 참조가 포함되지 않습니다. 순환 참조는 안전하게 제외합니다.
정의
tstype toJSON = () => Palace;매개변수
없음
반환 값
예
tsconst data = astrolabe.palace("命宫")?.toJSON();
has() ^1.0.0
목적
궁에 지정한
성요(星曜)가 있는지 확인합니다.지정한 모든 별이 궁 안에모두 있어야true를 반환합니다.정의
tstype has = (stars: StarName[]) => boolean;매개변수
매개변수 타입 필수 여부 기본값 설명 stars StarName[]true- 성요 이름. 주성(主星), 보조성(輔星), 잡요(雜曜)를 지정할 수 있습니다. 반환 값
boolean예
명궁(命宮)에자미(紫微) 및우필(右弼)이 있는지 확인하려면tsconst palace = astrolabe.palace("命宫"); const result = palace.has(["紫微", "右弼"]);메서드 체이닝을 사용하면 코드를 더 간결하게 작성할 수 있습니다.tsconst result = astrolabe.palace("命宫").has(["紫微", "右弼"]);
notHave() ^1.0.0
목적
궁에 지정한
성요(星曜)가 없는지 확인합니다. 지정한 별이하나도 없어야true를 반환합니다.정의
tstype notHave = (stars: StarName[]) => boolean;매개변수
매개변수 타입 필수 여부 기본값 설명 stars StarName[]true- 성요 이름. 주성(主星), 보조성(輔星), 잡요(雜曜)를 지정할 수 있습니다. 반환 값
boolean예
명궁(命宮)에지공(地空)과지겁(地劫)이 모두 없는지 확인하려면:tsconst palace = astrolabe.palace("命宫"); const result = palace.notHave(["地空", "地劫"]);메서드 체이닝을 사용하면 코드를 더 간결하게 작성할 수 있습니다.tsconst result = astrolabe.palace("命宫").notHave(["地空", "地劫"]);
hasOneOf() ^1.0.0
목적
궁에 지정한
성요(星曜)가 있는지 확인합니다. 지정한 별이하나라도 있으면true를 반환합니다.정의
tstype hasOneOf = (stars: StarName[]) => boolean;매개변수
매개변수 타입 필수 여부 기본값 설명 stars StarName[]true- 성요 이름. 주성(主星), 보조성(輔星), 잡요(雜曜)를 지정할 수 있습니다. 반환 값
boolean예
명궁(命宮)에천괴(天魁) 또는천월(天鉞)이 있는지 확인하려면tsconst palace = astrolabe.palace("命宫"); const result = palace.hasOneOf(["天魁", "天钺"]);메서드 체이닝을 사용하면 코드를 더 간결하게 작성할 수 있습니다.tsconst result = astrolabe.palace("命宫").hasOneOf(["天魁", "天钺"]);
hasMutagen() ^1.2.0
목적
궁에 지정한 생년 사화(生年四化)가 있는지 확인합니다.
정의
tstype hasMutagen = (mutagen: Mutagen) => boolean;매개변수
매개변수 타입 필수 여부 기본값 설명 mutagen Mutagentrue- 사화의 이름: 록(祿), 권(權), 과(科), 기(忌) 반환 값
boolean예
명궁(命宮)에록(化祿)이 있는지 확인하고 싶다면tsconst palace = astrolabe.palace("命宫"); const result = palace.hasMutagen("禄");메서드 체이닝을 사용하면 코드를 더 간결하게 작성할 수 있습니다.tsconst result = astrolabe.palace("命宫").hasMutagen("禄");
notHaveMutagen() ^1.2.0
목적
궁에 지정한 생년 사화(生年四化)가 없는지 확인합니다.
정의
tstype notHaveMutagen = (mutagen: Mutagen) => boolean;매개변수
매개변수 타입 필수 여부 기본값 설명 mutagen Mutagentrue- 사화의 이름: 록(祿), 권(權), 과(科), 기(忌) 반환 값
boolean예
명궁(命宮)에기(化忌)가 없는지 확인하려면:tsconst palace = astrolabe.palace("命宫"); const result = palace.notHaveMutagen("忌");메서드 체이닝을 사용하면 코드를 더 간결하게 작성할 수 있습니다.tsconst result = astrolabe.palace("命宫").notHaveMutagen("忌");
isEmpty() ^2.0.6
목적
궁이 공궁(空宮), 즉 주성(主星)이 없는 궁인지 확인합니다. 일부 유파에서는 특정한 다른 성요가 있으면 공궁으로 보지 않습니다. 선택 매개변수에 이러한 예외 성요의 목록을 전달할 수 있습니다.
정의
tstype isEmpty = (excludeStars?: StarName[]) => boolean;매개변수
매개변수 타입 필수 여부 기본값 설명 excludeStars StarName[]false- 별 이름 배열 반환 값
boolean
astrolabe() ^2.1.0
목적
현재 궁이 속한 명반 객체를 반환합니다.
정의
tstype astrolabe = () => IFunctionalAstrolabe | undefined;매개변수
없음
반환 값
IFunctionalAstrolabe|undefined;fliesTo() ^2.1.0
목적
원천 궁에서 대상 궁으로 지정한 사화가 날아가는지 확인합니다. 사화 하나 또는 배열을 받으며, 지정한 사화가 모두 대상 궁에 도달해야
true를 반환합니다.정의
tstype fliesTo = ( to: number | PalaceName, withMutagens: Mutagen | Mutagen[] ) => boolean;매개변수
매개변수 타입 필수 여부 기본값 설명 to number|PalaceNametrue- 대상 궁의 인덱스 또는 이름 withMutagens Mutagen|Mutagen[]true- 사화: 록(祿), 권(權), 과(科), 기(忌) 반환 값
boolean
fliesOneOfTo() ^2.1.0
목적
지정한 사화 중 하나라도 원천 궁에서 대상 궁으로 날아가면
true를 반환합니다.정의
tstype fliesOneOfTo = ( to: number | PalaceName, withMutagens: Mutagen | Mutagen[] ) => boolean;매개변수
매개변수 타입 필수 여부 기본값 설명 to number|PalaceNametrue- 대상 궁의 인덱스 또는 이름 withMutagens Mutagen|Mutagen[]true- 사화: 록(祿), 권(權), 과(科), 기(忌) 반환 값
boolean
notFlyTo() ^2.1.0
목적
지정한 사화가 원천 궁에서 대상 궁으로 날아가지 않는지 확인합니다. 사화 하나 또는 배열을 받으며, 지정한 사화가 모두 대상 궁에 도달하지 않아야
true를 반환합니다.정의
tstype notFlyTo = ( to: number | PalaceName, withMutagens: Mutagen | Mutagen[] ) => boolean;매개변수
매개변수 타입 필수 여부 기본값 설명 to number|PalaceNametrue- 대상 궁의 인덱스 또는 이름 withMutagens Mutagen|Mutagen[]true- 사화: 록(祿), 권(權), 과(科), 기(忌) 반환 값
boolean
selfMutaged() ^2.1.0
목적
궁에 자화(自化)가 있는지 확인합니다. 배열을 전달하면 지정한 사화가 모두 있어야
true를 반환합니다.정의
tstype selfMutaged = ( withMutagens: Mutagen | Mutagen[] ) => boolean;매개변수
매개변수 타입 필수 여부 기본값 설명 withMutagens Mutagen|Mutagen[]true- 사화: 록(祿), 권(權), 과(科), 기(忌) 반환 값
boolean
selfMutagedOneOf() ^2.1.0
목적
자화(自化)를 확인합니다. 인수를 생략하면 네 종류를 모두 대상으로 하며, 하나라도 일치하면
true를 반환합니다.정의
tstype selfMutagedOneOf = ( withMutagens?: Mutagen[] ) => boolean;매개변수
매개변수 타입 필수 여부 기본값 설명 withMutagens Mutagen[]false- 사화: 록(祿), 권(權), 과(科), 기(忌) 반환 값
boolean
notSelfMutaged() ^2.1.0
목적
궁에 지정한 사화의 자화(自化)가 하나도 없는지 확인합니다. 인수를 생략하면 네 종류의 사화를 모두 확인합니다.
정의
tstype notSelfMutaged = ( withMutagens?: Mutagen | Mutagen[] ) => boolean;매개변수
매개변수 타입 필수 여부 기본값 설명 withMutagens Mutagen|Mutagen[]false- 사화: 록(祿), 권(權), 과(科), 기(忌) 반환 값
boolean
mutagedPlaces() ^2.1.0
목적
현재 궁에서 발생한 사화가 들어가는 네 궁의 배열을 반환합니다. 배열의 순서는 록(化祿), 권(化權), 과(化科), 기(化忌)입니다.
정의
tstype mutagedPlaces = () => (IFunctionalPalace | undefined)[];매개변수
없음
반환 값
(
IFunctionalPalace|undefined)[]
FunctionalSurpalaces ^1.2.0
implements
IFunctionalSurpalaces extends SurroundedPalaces이 클래스는 SurroundedPalaces의 속성을 상속하고, 삼방사정의 성요를 분석하는 메서드를 추가합니다.
인터페이스 정의
tsinterface FunctionalSurpalaces extends SurroundedPalaces { toJSON: () => SurroundedPalaces; have: (stars: StarName[]) => boolean; notHave: (stars: StarName[]) => boolean; haveOneOf: (stars: StarName[]) => boolean; haveMutagen: (mutagen: Mutagen) => boolean; notHaveMutagen: (mutagen: Mutagen): boolean; }속성
메서드
toJSON() ^2.6.0
목적
분석 기능이 있는 삼방사정(三方四正) 객체를 일반 JSON 객체로 변환합니다. 반환 결과에는 분석 메서드와 실행 시 참조가 포함되지 않습니다. 순환 참조는 안전하게 제외합니다.
정의
tstype toJSON = () => SurroundedPalaces;매개변수
없음
반환 값
예
tsconst data = astrolabe.surroundedPalaces("命宫").toJSON();
have()
목적
궁의 삼방사정(三方四正) 안에 지정한
성요(星曜)가 있는지 확인합니다.지정한 모든 별이 이 범위에모두 있어야true를 반환합니다.정의
tstype have = (stars: StarName[]) => boolean;매개변수
매개변수 타입 필수 여부 기본값 설명 stars StarName[]true- 성요 이름. 주성(主星), 보조성(輔星), 잡요(雜曜)를 지정할 수 있습니다. 반환 값
boolean예
명궁(命宮)의 삼방사정(三方四正) 안에자미(紫微)와우필(右弼)이 모두 있는지 확인하려면:tsconst palaces = astrolabe.surroundedPalaces("命宫"); const result = palaces.have(["紫微", "右弼"]);메서드 체이닝을 사용하면 코드를 더 간결하게 작성할 수 있습니다.tsconst result = astrolabe.surroundedPalaces("命宫").have(["紫微", "右弼"]);
notHave()
목적
궁의 삼방사정(三方四正) 안에 지정한
성요(星曜)가 없는지 확인합니다. 이 범위에서 지정한 별이하나도 없어야true를 반환합니다.정의
tstype notHave = (stars: StarName[]) => boolean;매개변수
매개변수 타입 필수 여부 기본값 설명 stars StarName[]true- 성요 이름. 주성(主星), 보조성(輔星), 잡요(雜曜)를 지정할 수 있습니다. 반환 값
boolean예
명궁(命宮)의 삼방사정(三方四正) 안에지공(地空)과지겁(地劫)이 모두 없는지 확인하려면:tsconst palaces = astrolabe.surroundedPalaces("命宫"); const result = palaces.notHave(["地空", "地劫"]);메서드 체이닝을 사용하면 코드를 더 간결하게 작성할 수 있습니다.tsconst result = astrolabe.surroundedPalaces("命宫").notHave(["地空", "地劫"]);
haveOneOf()
목적
궁의 삼방사정(三方四正) 안에 지정한 성요가 하나라도 있는지 확인합니다. 이 범위에서 하나라도 발견되면
true를 반환합니다.정의
tstype haveOneOf = (stars: StarName[]) => boolean;매개변수
매개변수 타입 필수 여부 기본값 설명 stars StarName[]true- 성요 이름. 주성(主星), 보조성(輔星), 잡요(雜曜)를 지정할 수 있습니다. 반환 값
boolean예
명궁(命宮)의 삼방사정(三方四正) 안에천괴(天魁) 또는천월(天鉞)이 있는지 확인합니다:tsconst result = astrolabe.surroundedPalaces("命宫").haveOneOf(["天魁", "天钺"]);
haveMutagen()
목적
궁의 삼방사정(三方四正) 안에 지정한 생년 사화(生年四化)가 있는지 확인합니다.
정의
tstype haveMutagen = (mutagen: Mutagen) => boolean;매개변수
매개변수 타입 필수 여부 기본값 설명 mutagen Mutagentrue- 사화의 이름: 록(祿), 권(權), 과(科), 기(忌) 반환 값
boolean예
명궁(命宮)의 삼방사정(三方四正) 안에록(化祿)이 있는지 확인하려면:tsconst palaces = astrolabe.surroundedPalaces("命宫"); const result = palaces.haveMutagen("禄");메서드 체이닝을 사용하면 코드를 더 간결하게 작성할 수 있습니다.tsconst result = astrolabe.surroundedPalaces("命宫").haveMutagen("禄");
notHaveMutagen()
목적
궁의 삼방사정(三方四正) 전체에 지정한 생년 사화(生年四化)가 없는지 확인합니다.
정의
tstype notHaveMutagen = (mutagen: Mutagen) => boolean;매개변수
매개변수 타입 필수 여부 기본값 설명 mutagen Mutagentrue- 사화의 이름: 록(祿), 권(權), 과(科), 기(忌) 반환 값
boolean예
명궁(命宮)의 삼방사정(三方四正) 안에기(化忌)가 없는지 확인하려면:tsconst palace = astrolabe.surroundedPalaces("命宫"); const result = palace.notHaveMutagen("忌");메서드 체이닝을 사용하면 코드를 더 간결하게 작성할 수 있습니다.tsconst result = astrolabe.surroundedPalaces("命宫").notHaveMutagen("忌");